Friday, March 27, 2009

Fedora upgrade problems

I've been having a lot of trouble with my main workstation this week, brought on by an attempted yum upgrade from Fedora 8 x86_64 to Fedora 10 x86_64, but probably complicated by hardware problems associated with the floppy drive (or lack of it, to be more precise) that then messed up (and continue to mess up) the grub bootloader.

I had to do a full system restore yesterday from my incremental rsync backups (which worked wonderfully), but I'm still struggling with the system and was forced to do a rpm database rebuild this morning. The DVD-based Fedora 9 upgrade I set running last night, although supposedly successful, in truth failed thanks to grub-install's (which seems to be run whenever you install a new kernel) insistence on probing for a floppy drive even when there isn't one present and even when the device.map correctly excludes fd0 (note that recent versions of grub-install do not have or honor a --no-floppy command line option, despite what people on the Internet seem to think). Attempts to run grub-install from the command line simply hang, and /var/log/messages starts showing kernel I/O errors associated with fd0 (which I'm pretty sure I dont have!).

The messed up Fedora 9 install also seem to have messed up rpm, as on booting I found that even simple rpm queries would hang and /var/lib/rpm/ had the classic __db* files.

Still, looking on the bright side it has been a good test of my linux sysadmin knowledge.

My rsync backup method (based on Mike Rubel's incremental rsync backup with hard links method described here, see also Kevin Korb's page on rsync backups) works well and restore's easily. Note that the method's Rubel and Korb describe don't quite work on my system as rsync can't handle the number of files of my system in one go - I basically run the method by script separately on each of /boot /bin /etc /home /var etc etc).

I still remember how to use the grub command line to find files and boot, even if grub.conf is totally messed up, and I've learnt (the hard way) that grub-install can't quite be trusted and that its better to use the grub shell to install grub to the MBR (Remember to use "grub --no-floppy" to prevent probing for a floppy, even if you dont have on).

The annoying rpm stale locks and corrupted rpm database thing can be fixed ... "rpm -vv -rebuilddb" worked, thankfully.

I'm still surprised that the basic yum upgrade failed, as I've done yum upgrades from Fedora 8 directly to Fedora 10 successfully before, although only with i686 systems and not an x86_64 system. Based on the error messages I experienced it seems that /usr/lib64/libc.so.6 is the problem child in the jump from Fedora 8 to Fedora 10. I really should have done Fedora 8 -> Fedora 9 -> Fedora 10, or burnt myself an upgrade DVD and done a DVD-based upgrade.

That the DVD upgrade from my recovered Fedora 8 system to Fedora 9 also failed (because of the grub/fd0 problem) does suggest that a classic DVD upgrade, and not doing a yum upgrade would not have prevented me from experiencing problems (although it might have saved me a full days work). However I do find it hard to believe two separate problems, one software and one hardware related, would appear simultaneously.

I'm still waiting for the Fedora 9 yum update to finish before I shutdown and go poking inside the machine to see if I can find out what is causing my floppy drive problems. Without solving that issue there is no point attempting to upgrade to Fedora 10...

Anyway, time will tell whether I can get the system safely upgraded to Fedora 10.

No comments: