Don’t use yum to update to Fedora 7! [Update]

fedora-logo-bubble
The update from one Fedora version to the next by yum was never officially supported – however, given that you were brave enough it could work out. However, for the next Fedora version you shouldn’t try it because you might even make your system unbootable!

Dave Jones posted that the new kernel’s driver system for hard disks can cause serious problems if you make a normal yum update from an old kernel to a new kernel. There are actually two reasons which, combined, cause that danger: Fedora changed the way drivers are build into the kernel:

The reason for this is twofold. Firstly, we switched over to the new libata PATA drivers, so all the drivers changed names.
This normally wouldn’t be a big deal if it wasn’t for a second change. We used to build every single IDE driver into the vmlinuz, and let runtime probing do the right thing. This is somewhat wasteful, so we’ve moved to building them as modules.

So, when you fire up yum you have a problem:

Your FC6 kernel that you’re running when you do ‘yum update’ is going to be running the old IDE drivers built into the kernel. So your /etc/modprobe.conf will have no knowledge of the new libata PATA drivers. So when the %post of the kernel rpm installation calls mkinitrd, and it creates an initrd based upon your existing modprobe.conf, you’ll end up with one with no drivers for your hard disk controller.

You can work around if you know how to use mkinitrd, but the easiest way is to run the normal installation DVD and run the upgrade option. So, be careful when Fedora 7 hits the streets!

Update
The Yum Update FAQ at the fedoraporject wiki has been updated. There you find more detailed information plus information how to perform an update nevertheless. Thanks Totally Lost for the hint.

31 thoughts on “Don’t use yum to update to Fedora 7! [Update]”

  1. Hm, digg isn’t really my thing, although I got a “hit” yesterday and got quite some visitors.
    Also, as far as I know the digg rules say that it is better to link to the original source – therefore Dave’s post should be posted there.

  2. so a clean install then? what a bunch of crap.
    isn’t there an easier way? besides the upgrade CD/DVD?

    i wished yum would just function as it was designed to be, i guess badly thought out…

  3. craperdycrap, what does this have to do with yum? Nothing! Get your facts straight!

    Also, you should start reading – the first link goes to the blog providing more information about the problem. There you find information how you can avoid the problem and simply update your system by using yum/rpm.

  4. liquidat, it IS a problem of yum.

    an upgrade via yum should be as clean as the cd / dvd upgrade, and this is possible via *good* postinst / uninst scripts, like debian does.

  5. No, yum is just a front-end for rpm, so it is not a problem of yum.
    It is however a problem of the scripts provided by the Fedora folks – this could have been improved, and there are of course ways to do something like that in rpm.

    So, again:
    1. it is not a problem of the tools
    2. it is a problem of the scripts, so most likely manpower was missing
    3. craperdycrap is a troll who wanted to flame about yum

  6. yum is not a frontend for rpm. Its a dependency resolver like apt-get. It can not be called front-end. For ex. yumex is a frontend for yum. Get your facts right.

  7. The term “frontend” refers to the fact that yum acts interactively with the user.
    Yumes is therefore also a frontend – for yum.
    I never said that yum does not solve the dependencies – btw., an important part about the dependency handling is also done by RPM.

    Last but not least: I will not tolerate trolling and flame wars. Also I will not tolerate steady changes of user names. If you want to discuss the matter I will reply, if you want to troll, I will delete.

  8. OK NOT YUM SCRIPT, not a troll 😉
    i just want it to work as a simple update though, but well linux still doesn’t roll that way i guess.

  9. craperdycrap, I thought Ubuntu has a working mechanism for upgrading between releases?
    And believe me, I would like to have a simple upgrade mechanism as well, and I also have problems understanding why this was not provided… but on the other hand, this is Fedora, which is a bit more cutting edge than other distributions…

  10. more advanced in other parts maybe, but this didn’t make my day.
    i guess some other distro has this all sorted out.

  11. Gentoo, which is an other Linux distro is great at updating from any version. It is by far my favorite linux distro and the install cd is just a livecd which you can run from thats about it, everything is cutting edge. Gentoo FTW!

  12. rgk: Gentoo is a technically a version-less distribution, therefore any comparison to Gentoo on base of version upgrades is senseless.
    And about cutting edge and Gentoo: I was given to know that the current stable ebuilds do not offer the current kernel or the current KDE version, for example.

  13. Thanks for pointing this out. You certainly saved a lot of people from doing something stupid (my self included). I hope they’ll implement an easier way to upgrade existing Fedora installations..

  14. VisezTrance: I think this is a one-timer – you will not see so many disk driver updates so soon.
    Other updates always worked if you did them carefully.
    Btw: as mentioned at the given link, the update still works if you do some manual magic – but its not what average users should do.

  15. hmmm interesting, i am glad i found this, as i was looking for issues with upgrading from FC6 to F7 via yum… i have used yum (and before that yup) for years and like it rather well but there has always been small things here and there one has had to watch for when using it for upgrades…

  16. had some stability issue’s after upgrade, i just ended up doing a clean install.
    luckily for me a server configuration is like a 10 minute job.

  17. Just starting Linux (few months back) and wanting to get away from windows, it is hard to find any decent books on it. I noticed several more at BN but sporadic; I know there are man pages are there and forums but I like good books for reference and training. I did get a good Lib started on Ruby and Python and starting on QT3/4, postgres and MySQL. Samba, Apache, KDE DEV, are almost non existant it seems. Finally got one on GCC4 and TCL/TK. can someone point me in the right direction to obtain and build a good library? looking for good one on mono.. thank you in advance

  18. Domino: O’Reilly has a lot of books covering almost all topics – also books about Samba and Apache, about general Linux topics and so on…

    Also, if you use Fedora or Red Hat or CentOS a good choice would be to buy a book about Red Hat Enterprise Linux. There is even a RHEL 5 book out already. Simply search for that at amazon.com or at any other book shop.

    In case you use an Ubuntu or other Debian based distribution, you will also find several books at any book shop or at O’Reilly.

  19. um, I had no problems with my yum update to Fedora Core 7. maybe its isolated to the system configuration. im using a Dell Dimension 9150 with a 80GB SATA HDD.

  20. I’ve upgraded with Synaptic, since Yum complained on too many missing dependencies ( i use rpms that come from various sources ) i was expecting that 😉

    anyways, it went smoothly. two days of download and one hour install. + reboot 🙂

    their are other things (bugs) with fc7, but that’s another story 🙂

  21. I upgraded a very old machine – Micron Millennium Xku to Fedora 7 from Fedora 6 using yum as the only other method that I knew at the time would not allow updates but only fresh installs. (LiveCD). I wanted to put it on my old machine before I moved it to my new machine (Dell 2400-OK not that new!). The only problem I had with it is that it left a number of packages from fc6 in place and there were some conflicts but I was able to work it out OK. After a week of testing to make sure it ran with VMWare and a couple of other tools – cxoffice, etc, I installed it using the network nfs method. It worked fine, but had the same problems with some modules having conflicts. You can’t just get rid of the fc6 packages in all cases because doing a rpm -e package-name will erase files owned by fc7 package. There is probably a rpm way around it, but I didn’t see it immediately. Anyway, I would suggest doing a fresh update if you can. Yum update does work OK if you follow the Wiki suggestions. I didn’t have a CD burner so I downloaded the ISO and mounted it on my first machine and then upgraded my second machine as outlined. I do like Fedora 7 so far. Seems faster and more stable.

    Glen

  22. One online discussion of this upgrade strongly suggested upgrading the kernel first, then upgrading everything else. That worked for me, BTW.

    1) Install the F-7 rpm
    2) yum update kernel*
    3) reboot
    4) yum update

    To me, that seems a simple solution to the problem discussed here. If the upgraded kernel fails to work upon reboot, I’d then choose the prior working kernel and upgrade from a CD/DVD.

    In the past I’ve disliked use of symbolic names for partitions in /etc/fstab (like “LABEL=BOOT”) and preferred the actual devices like /dev/hda2. This particular revision to the kernel can make these device-specific references fail. The libata approach makes ALL drives “sd” devices; there are no longer any “hd” devices at all. So you might find some of your partitions are not mounted after the kernel upgrade if /etc/fstab contains references like /dev/hda2. Usually just changing the “h” to an “s” will fix the problem, but I’d recommend looking at the drives with fdisk first to insure you know which drives and partitions are which.

  23. One clarification. I’m talking about hard drives here. The optical drives will often still get /dev/hdX device names.

  24. Just an update, Yum works perfectly with the upgrade from FC6 >> FC7. I did this in and under 2 hours after 2100+ updates to one server, works like a charm.

Leave a comment

This site uses Akismet to reduce spam. Learn how your comment data is processed.