Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

I'm not sure it's a great idea to distribute Ubuntu too widely in its current state. It's not fit for end users. Yesterday I had to fix my third broken Ubuntu installation in a year or so and it's always for the same reason: Failed upgrades. Upgrades leaving the system in an unbootable state has to be an extremely rare event and it's not.

How can this be fixed? I think the entire package management system has to be based on a more robust transactional infrastructure. Unless the user confirms the success of an upgrade, the system has to be rolled back to its original state. If the system doesn't boot, it must boot straight into the old system version on the next reboot.

Upgrades should not be something that anyone hesitates to do, but I know Ubuntu users who'd rather install new software on a separate computer instead of upgrading the fragile Ubuntu installation. The close coupling of application versions to OS versions is the main reason for that. The sources.list concept is just too complicated for most people.



I think we easily forget just how broken the rest of the OS were. If I evaluate Linux as if I am a few years back in time, I don't mind the lack of good QA.

I've also broken an install because I tried an upgrade and there wasn't enough free space.

But that doesn't mean Ubuntu isn't fit for end users. My mother and my sister are running Ubuntu on their laptops and do just fine. And they are in no way technical: they just use the OS for their needs, be it browsing, music, movie playback, photo management, etc. I was actually surprised when I went at a small barbecue for my sister's birthday and she had brought her laptop and was playing CDs some friends brought with music. There was no friction -- the laptop just did its job, just as it would have been with any other OS.

You do have a point though: upgrades should be transactional and I'm surprised there is no way to rollback a failed upgrade. I'm actually postponing upgrading them to 12.04 because I don't want to risk breaking the current setup they have and give myself extra work for nothing. I've decided to only apply the security updates for now and switch to 12.04 when end-of-life is reached for their current version.


My advice is to use "apt-get dist-upgrade" in the text console (Ctrl+Alt+F1, not a gnome-terminal!) and it should go fine. I've upgraded 4 machines from 10.04 to 12.04. Only one failed to auto-upgrade and needed to fall back to the console to complete installation.

The most problematic part IMO is Evolution. This program almost always causes trouble during upgrades, not only on Ubuntu (I had problems upgrading Slackware GSB at home too). Use Thunderbird or Claws or whatever other mailer if you can...


Debian upgrades never break for me.


So if I upgrade, for example, on a disk with low disk space it magically rolls back?


In this particular case the upgrade was interrupted. I have around 250MB on my / partition now. But as I prefer to upgrade from text console, I caught all "out of space" messages and fixed it trivially (made more room, repeat the command). That's the only problem I ever had with a Debian upgrade. I typically use testing.

Now Ubuntu upgrades are hidden behind a GUI, and you are told not to do it manually. It's not uncommon that they fail to cover all difficult cases. Either way, I have Ubuntu on my mother's machine and I've become scared of making upgrades. A few times I had to drop to IRC to ask for specific instructions because I couldn't figure it on my own.


I'm not great with linux (just use it for home fileservers and the like), and for me it's generally a rule that debian distupgrades go catastrophically wrong (libc going out of sync and half the binaries on the system wouldn't run, that kind of thing). It's not foolproof like an OS X or Windows upgrade.


Ubuntu =/= Debian. I have several servers that have been upgraded from Woody up to Squeeze (that's 5 consecutive dist-upgrades in 9 years) and it's less problematic with each release. The only serious difficulties were switching from xf86 to xorg, then apache to apache2. Switching kernels (2.4 -> 2.6) or libc was quite painless.

Since Etch (Etch to Lenny to Squeeze) except for a couple of minor glitches going with the defaults "just works".

From what I've seen Ubuntu often fails upgrades because of the GUI (at some point during upgrade one or other part of the GUI fails/restart and kills the upgrade process itself). Simple advice: dist-upgrade in a text console (not a gnome-terminal!), and it should work fine.


Canonical may not see Ubuntu as having the luxury of waiting until everyone on the internet deems it's "fit for end users", because their competitors haven't. Microsoft never waited until DOS or Windows were perfected, they just released them once they thought they were adequate, and the standard advice there forever has been to do a full reinstall of the system rather than an in-place upgrade.


"Microsoft never waited until DOS or Windows were perfected, they just released them once they thought they were adequate"

NEVER WAITED??? I bet you were too young to remember those days because Micorsoft(Bill Gates) promised Windows(3.11) like 6 years before it was ready. Windows was coming "soon", and "soon" and "soon", for years.

And better we don't talk about DOS. DRDOS was much better than MSDOS, but MS made windows over DRDOS so they had not to compete on technical merits.


I think you miss the grandparent's point: when DOS first came out, it only supported 8 character file names and didn't support directories.


Exactly, thanks. I said they didn't wait for perfection, not that they never waited at all.


Yeah. Maybe btrfs (and it's snapshots) is a good option for system-upgrades which end into non-booting situations, but generally I think it is possible with growth of community and QA infrastructure to minimize situations like these (also, if there is not enough space, the best option is not to allow upgrade in the firstplace).


If they are doing deals with OEMs, they can fix it by being the Apple of Linux distros.

You can still install it on your own machine, but as far as official support goes, you're on your own.


Thats nonsense, a broken Linux distro is not cost effective to fix because the number of breakpoints is innumerable. Zounds of configuration files, buggy software any an extremely branching entry point and shared dependencies make it quicker to wipe your install and start again. This is what I do with my installs; if it breaks wipe it.


That's funny because Apple has a very pleasing OS upgrade experience. Even better, the machine upgrade experience was amazing to me when I bought a new macbook and was able to migrate installed applications and settings from the old machine seamlessly. Doing something like that on windows or linux is still a pain.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: