[Yum] bizarre yum badness -- packages removed instead of updated...

Matthew Miller mattdm at mattdm.org
Fri Aug 25 12:47:31 UTC 2006


Background:

We're running yum 2.4.2 on our CentOS-based BU Linux system. Yesterday, we
put out an update for our openafs packages to match the new kernel -- the
*only* change to the openafs package being that I added in the kernel module
for 2.6.9-42.0.2.EL and removed that for 2.6.9-34.0.1.EL. However, because
of the kernel-module-standard-situation, we just do this in a braindead way
and there's *no* dependencies for the kernel module in the RPM -- it just
happens to work if you have the latest kernel and the latest openafs
package, which you should. The important point is that from rpm and yum's
point of view, the only difference in these packages is that the release
went from 1.4.1-1bu45s.4s to 1.4.1-1bu45s.5s.

So:

On about 7/8ths of our systems, this update -- which included just the
updated kernel and openafs packages -- went without a hitch. However, on the
other eighth, we got behavior like this:

[...begin update report...]

Thu Aug 24 15:11:44 EDT 2006
Unmounting /afs and stopping AFS services: [  OK  ]
Unloading AFS module: [  OK  ]

=============================================================================
 Package                 Arch       Version          Repository        Size
=============================================================================
Installing:
 kernel                  i686       2.6.9-42.0.2.EL  bulinux-updates    11 M
 kernel-devel            i686       2.6.9-42.0.2.EL  bulinux-updates   3.7 M
Updating:
 kernel-hugemem-devel    i686       2.6.9-42.0.2.EL  bulinux-updates   3.7 M
 kernel-smp-devel        i686       2.6.9-42.0.2.EL  bulinux-updates   3.7 M
 openafs                 i386       1.4.1-1bu45s.5s  bulinux-updates   2.4 M
 openafs-client          i386       1.4.1-1bu45s.5s  bulinux-updates   1.5 M
Removing:
 kernel                  i686       2.6.9-34.0.2.EL  installed          26 M
 kernel-devel            i686       2.6.9-34.0.2.EL  installed          11 M

Transaction Summary
=============================================================================
Install      2 Package(s)
Update       4 Package(s)
Remove       2 Package(s)
Total download size: 26 M


------------------------------------------------------------------------
The yum update generated the following errors. If there was
a serious problem, you may find some diagnostic information here.

Traceback (most recent call last):
  File "/usr/bin/yum", line 29, in ?
    yummain.main(sys.argv[1:])
  File "/usr/share/yum-cli/yummain.py", line 175, in main
    base.doTransaction()
  File "/usr/share/yum-cli/cli.py", line 712, in doTransaction
    self.runTransaction(cb=cb)
  File "__init__.py", line 352, in runTransaction
  File "/usr/share/yum-cli/callback.py", line 105, in callback
    fd = os.open(rpmloc, os.O_RDONLY)
OSError: [Errno 2] No such file or directory:
'/afs/bu.edu/software/linux-dist/bulinux/yum/4.5s/updates/i386/RPMS/openafs-client-1.4.1-1bu45s.5s.i386.rpm'

[...end update report...]

Hhhuh? Why'd it stop AFS? The traceback is logical, since it's *getting* the
updates out of AFS and it's suddenly vanished, so yum is justifiably
startled. But what's rpm gone and stopped AFS for?

The openafs-client package has this scriptlet:

  preuninstall scriptlet (using /bin/sh):
  if [ "$1" = "0" ]; then
          /sbin/service afs stop
          /sbin/chkconfig --del afs
  fi

but that should fire only on the last removal, not on an upgrade. And yum's
output clearly says it's doing an upgrade. But wait!

$ rpm -q openafs openafs-client
openafs-1.4.1-1bu45s.5s
package openafs-client is not installed

And the yum log says:

Aug 24 15:07:39 Updated: openafs.x86_64 1.4.1-1bu45s.5s
Aug 24 15:07:47 Installed: kernel-smp.x86_64 2.6.9-42.0.2.EL
Aug 24 15:07:48 Erased: openafs-client

and then that's it, because it blew up after that.


Now, these machines aren't totally screwed, since we have the repo
configured to fall back to FTP in the event AFS isn't available. But I'd
really, really like to figure out what went wrong. Any ideas totally
appreciated!



-- 
Matthew Miller           mattdm at mattdm.org          <http://mattdm.org/>
Boston University Linux      ------>              <http://linux.bu.edu/>



More information about the Yum mailing list