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.