Skip to main content
Welcome guest. | Register | Login | Post

What really should be a major focus for fedora developers

With the coming release of Fedora 8, I needed to prep my desktop for the impending distribution upgrade. Since my desktop was running Fedora Core 6, I needed to bring it up to date to Fedora 7. This is the second time that I did an upgrade and it is also the second time that things went wrong. Let me first go over what happened when moving from Fedora Core 4 to Fedora Core 6.

Before I mention what happened, I do know that everyone says you should upgrade in order and not skip a version, so I should have went from 4 to 5, then to 6. But, I didn't think anything of that and just went ahead with th upgrade.

The process was rather painless. Put the DVD in, click on upgrade, sit back and watch the bar move across the screen. When it was done, however, I had nothing. X would not load. After fixing that problem, Gnome would not load. All of my settings were gone from my home directory. I had to pretty much rebuild the entire OS from the ground up. Luckily, nothing of value was lost (thanks to proper partitioning). Now, fast forward to the 6 -> 7 upgrade...

Again, everything went smooth during the process. But, upon rebooting, I was dropped to a Grub prompt. I then had to boot from the DVD into the recovery console. Apparently, /boot/grub/grub.conf was a symlink to /etc/grub.conf and /etc/grub.conf was a symlink to /boot/grub/grub.conf. Thats right, two symlinks pointing to each other. So, I had to rewrite the grub.conf file over again. Finally getting the system to boot, I promptly tried to run a `yum update` but for some reason, yum and all of its dependencies were still in fc6 packages so I needed to get to the fedora repository and manually download and install yum, rpm and all the other yum dependencies. After a 12 hour update of all the packages, I finally got to reboot. Upon rebooting, the MBR got screwed up somehow and failed to boot so I had to, yet again, boot into the recovery console and rebuild the MBR. And finally, I no longer have a graphical Grub menu. :/

Luckly, everything is working with no data loss. But this is one of the things which I feel is really hurting Linux... the inability to properly upgrade a distribution. Fedora and Ubuntu both have a 6 month time frame with releases, thats two versions a year. One would think that they would make upgrading as flawless as possible.

Currently, there are 3 methods to dealing with a new distribution.

1) Full install - This method is great if the user takes the time to back everything up and also takes the time to remember every application which they have installed.

2) Upgrade - This method is always flawed and can cause systems to become useless (meaning more things break than get fixed).

3) Upgrade through repository - This method is never supported by the distribution and there for is looked down upon.

Out of the three methods, method 3 is the most logical to me. The user should not have to download an ISO, waste a DVD (or multiple CDs) just to update the core OS. Take Windows, for example, when a new service pack comes out, you can either have Microsoft ship you a it on a CD or you can go to their website and download the binary installer which will do the upgrade for you. Why must Linux rely on the user having to do so much just to get an updated OS? When a new distribution is released and you launch Yumex or Smart or whatever visual package manager you use, you should see an option for "Fedora 7" as an upgrade option. This would make upgrading as painless as possible.

Comments

option 3 may not be

option 3 may not be supported by Fedora, but there are many other distributions out there that do support it. For some it even is the only way.

For example debian (or at least debian stable?) should never need a reinstall or upgrade from CD, and AFAIK ubuntu can easily be version-upgraded through repositories as well.

And for Debian I can say it

 

And for Debian I can say it works pretty good. I did that from Debian 3.1 to 4.0 (several times, because I tested in a virtual environment for two times before doing it on tne production-machine) and it was quite straight-forward, simple and painless.

Well, let's see how it'll go when I upgrade to Fedora 8. But I'm really not sure what I'll do first. If I upgrade my PC and everything's to hell I might not have access to about 20GB of stuff. If I upgrade my notebook I might loose access to work-files, though these aren't that much and can easily be backed up to my USB-stick. But I need the notebook at work, so it would be pretty bad if I couldn't use it.
Maybe I'll also do it virtualized first, like with Debian.

It's not that method 3

 

It's not that method 3 isn't support, it's just not recommended. They have instructions on their site on how to do it, but have a disclaimer that it may not work (which, doing an upgrade from DVD never worked for me, so...)

I've recently done a fairly

I've recently done a fairly successful upgrade of Ubuntu Feisty to Gutsy. Last time I did that it wasn't so good, but this time it was quite alright. The issues that I did have more had to do with the known issues with 64bit version of gutsy and my LCD screen or video card, not sure which..

Still.. there is this feeling each time after upgrade that my system is somehow more tainted than it would have been if I did a clean install.. I just don't like these "campaign" updates of 1GB or more at once. I do prefer rolling updates the way Debian and Arch have it, with new major versions being basically snapshots at certain points in time - no need to reinstall and no need for scary all-at-once big upgrades.

Exactly. To me, I see each

 

Exactly. To me, I see each distribution upgrade is more like a service pack. A new OS signifies that the entire OS is getting rewritten which isn't the case in most instances. Since all the packages are maintained by those package developers, each distribution doesn't really have anything different. The only differences would be how the actual OS functions (like Fedora dropping the hd* hardware naming scheme). But, everything else is pretty much left for the developers of those packages to develop and maintain. So, why is it such a problem to roll out upgrades if the only major difference is the core OS?

 
sakuramboo wrote:

A new OS signifies that the entire OS is getting rewritten which isn't the case in most instances.

Well, than Windows Vista is also more or less only a service-pack of Windows XP, since it's not completely written from scratch. This even more applies to XP being a service-pack for Windows 2000, since there was less rewritten than I think it has been for Vista.
Problem is that some things you cannot just replace, especially since in Linux mostly shared libraries are used.
I once tried to replace GLibC in Suse 6.2 and it broke the whole system. GLibC probably is the most important part of the system, in some ways more important than the kernel. If you just replace it was a later version (one with a higher major or minor, micro-version-upgrades should be quite safe) it is very likely to cause major problems that, in my opinion can only be fixed with a re-install of the whole system.

sakuramboo wrote:

(like Fedora dropping the hd* hardware naming scheme)

This isn't actually Fedora-thing. This comes from the kernel. The Fedora-community has obviously decided to stop using the old IDE-subsystem and migrate to the new ATA-subsystem, which is a good thing since it makes things more generic. Also I don't think this is unique to Fedora, I think also Debian went that way when they upgraded from 3.1 to 4.0.

sakuramboo wrote:

So, why is it such a problem to roll out upgrades if the only major difference is the core OS?

To pick up again on my GLibC-upgrade. For some parts it might well be. As far as I remember the upgrade from Debian 3.1 to 4.0 did not bring a new GLibC, probably for the reasons stated above.
A new GLibC would make it necessary to re-install all packages in order to have programs that are compatible with the new version. Especially when you're doing an upgrade over the Internet that can be quite undesirable since it can take rather long.

good points. however, in

 

good points.

however, in terms of windows, moving from XP to Vista did include many parts of the OS which are new (like Vista's use of MAC based security). many parts of Vista were originally meant to be a service pack for XP, which in fact, it will still be getting. but certain aspects of Vista which are to be included into XP will not be seen in the new service pack, like Vista's hardware based security features (even though i think they failed at implementing it, its a good concept).

as for compatibility, that is why you maintain older versions of certain packages for compatibility issues.

as as for the downloading issue, 500 megs of updates downloaded or a 2.4 gig iso, burn to dvd, boot off dvd, upgrade, hope nothing got screwed up, reboot and STILL have to do a 500 meg upgrade because the iso is 2 weeks old already. it still is more logical to make upgrading available through the package manager.

i was unaware that the ATA subsystem is kernel wide, only because i see many new distributions not adopting the new sub system.

That would be nice once in

That would be nice once in a while... Debian takes special care that an online upgrade works perfectly, Ubuntu copies/keeps this philisophy AFAIK, but Fedora don't give a damn. Upgrading from Fedora 2 to 3 or something like that worked alright for me, though I think there were some glitches — nothing unfixable. But maybe I was lucky ;-)

Comment viewing options