Other Stuff

UoM::RCS::Talby


Page Contents:


Page Group:

2010:

2009: 2008:


Related Pages:





OpenSuSE YUM RPM Screw Up

After naively assuming YUM, which is part of the OpenSuSE 10.3 distro, would carry out updates rather than trash my system, I found:

  prompt> rpm -ivh <package_name>.x86_64.rpm
  Preparing...
      package <package_name> is intended for a x86_64 architecture
and yet
  prompt> arch 
  x86_64

Amazingly it turned out that YUM had managed to install the i586 version of RPM. After manually wgetting a the x86_64 .rpm of RPM and dependencies, we can force install the correct RPM:

  rpm -Uvh --force --ignorearch rpm-4.4.2-140.x86_64.rpm  popt-1.7-368.x86_64.rpm

Next up, fix OpenSuSE's system-trashing YUM config: /etc/yum.conf:

  exclude=*.i386* *.i586* *.i686*
. . .  but see update, below. . .  

And finally find all the i586 packages so we can replace them with x86_64 equivalents:

  prompt> rpm -qa --qf "%{n}-%{arch}\n" | grep i586

  mkinitrd-i586
  blocxx-i586
  dbus-1-i586
  .
  .
  .

Update

The next problem is that some x86_64 packages, bizarrely, depend on i586 packages. So using the exclude configuration given above yields

  Error: Missing Dependency: ...
but those packages, at the required versions, are already installed.

Solution One

Don't use the exclude configuration and be very careful — check the architecture of packages that YUM wants to install and ensure that you don't get an i586 clobbering some critial x86_64.

Solution Two

Find yum-basearchonly via Google, or whatever. Seems to do the same as the exclude configuration given above.