RPM and yum decided to install a 32 bit kernel on a 64 bit system. I don’t know why, because they didn’t do so on an identically configured server that was its clustermate. This rendered the system unbootable.
Once I’d gotten someone to power cycle it, I went in and removed the 32 bit kernels. This made RPM remove all the initrd images that had been set up for the 32 bit kernel. Unfortunately, it didn’t bother to put back the initrd images for the 64 bit kernels that were still there. This made the system even more unbootable.
Maybe I’m crazy, but it seems to me that the default for a 64 bit install should be not to install 32 bit kernels unless you go out of your way to ask for them. And it seems to me that any changes to the set of kernels installed should automatically result in mkinitrd being run to generate any necessary initrd images for the installed kernels.
Oh, and while we’re at it, maybe yum reinstall should actually work on the kernel. And maybe RPM’s log files should actually record when each package was installed, rather than just a list of the package names. Or it could even, you know, use syslog.
(Note: You can get the info from rpm -qa --last | tac — if you’re chrooted on your broken system and RPM is working and RPM hasn’t recently corrupted its database.)
It’s 2010, and RPM still sucks.
Transaction Check Error:
file /usr/share/man/man1/xdelta.1.gz from install of xdelta-1.1.4-1.el5.rf.x86_64 conflicts with file from package xdelta-1.1.3-20.i386
file /usr/share/emacs/site-lisp/psvn.el from install of subversion-1.6.12-0.1.el5.rf.x86_64 conflicts with file from package subversion-1.4.2-4.el5_3.1.i386
# rpm -q subversion
# rpm -e subversion-1.4.2-4.el5_3.1
error: "subversion-1.4.2-4.el5_3.1" specifies multiple packages
Apparently i386 and x86_64 versions of packages count as different packages for the purposes of installing and removing, but are listed identically. This means that yum will fail to work out that it needs to uninstall the 32 bit version and the 64 bit version as a unit, before it can install any kind of upgrade.
Posting this because every time I mention how much I hate RHEL and RPM, someone says that there’s nothing wrong with it and it’s perfectly OK these days.
Best of all, searching around shows people hitting this problem in 2005.
Running OpenSuSE? Suddenly getting a message about MISSING KEYS: GPG#6b9d6523 from APT or Smart? It’s because the OpenSuSE maintainers have failed to include all the necessary keys in their repository.
- Download GPG key 6b9d6523 manually, say via wget -o key.txt "http://pgp.mit.edu:11371/pks/lookup?op=get&search=0x6B9D6523"
- Use rpm --import key.txt
Posted here for the benefit of people Googling the problem. Share and enjoy.
Dammit, I hate RPM. Even now I’m starting to remember the ludicrously obscure command line options, I hate it. RPM is the single worst thing about Linux. My parents are not getting RedHat.
Specifically, if RPM can list the files in an .rpm, it damn well ought to be able to install them without hanging indefinitely. I ended up downloading the tar version and installing that over the top, to make sure all the files were there.
[Update: Known RedHat 8.0/RPM 4.x problem.]