[CentOS] Update issue - tar package problem?

Johnny Hughes

johnny at centos.org
Mon Jun 11 11:49:54 UTC 2012


On 06/11/2012 06:21 AM, Tom Brown wrote:
> Hi
>
> Trying to apply all available updates to CentOS 5 and the following is observed
>
> # yum update
> Loaded plugins: downloadonly, fastestmirror, rhnplugin
> Loading mirror speeds from cached hostfile
> Setting up Update Process
> Resolving Dependencies
> --> Running transaction check
>
> <snip>
>
> --> Running transaction check
> ---> Package unixODBC-libs.i386 0:2.2.11-10.el5 set to be updated
> ---> Package unixODBC-libs.x86_64 0:2.2.11-10.el5 set to be updated
> --> Processing Dependency: /bin/tar for package: redhat-lsb
> --> Processing Dependency: /bin/tar for package: redhat-lsb
> --> Finished Dependency Resolution
> redhat-lsb-4.0-2.1.4.el5.x86_64 from installed has depsolving problems
>   --> Missing Dependency: /bin/tar is needed by package
> redhat-lsb-4.0-2.1.4.el5.x86_64 (installed)
> redhat-lsb-4.0-2.1.4.el5.i386 from installed has depsolving problems
>   --> Missing Dependency: /bin/tar is needed by package
> redhat-lsb-4.0-2.1.4.el5.i386 (installed)
> --> Running transaction check
> ---> Package kernel-xen.x86_64 0:2.6.18-194.32.1.el5 set to be erased
> ---> Package kernel-xen-devel.x86_64 0:2.6.18-194.32.1.el5 set to be erased
> --> Processing Dependency: /bin/tar for package: redhat-lsb
> --> Processing Dependency: /bin/tar for package: redhat-lsb
> --> Finished Dependency Resolution
> redhat-lsb-4.0-2.1.4.el5.x86_64 from installed has depsolving problems
>   --> Missing Dependency: /bin/tar is needed by package
> redhat-lsb-4.0-2.1.4.el5.x86_64 (installed)
> redhat-lsb-4.0-2.1.4.el5.i386 from installed has depsolving problems
>   --> Missing Dependency: /bin/tar is needed by package
> redhat-lsb-4.0-2.1.4.el5.i386 (installed)
> Error: Missing Dependency: /bin/tar is needed by package
> redhat-lsb-4.0-2.1.4.el5.i386 (installed)
> Error: Missing Dependency: /bin/tar is needed by package
> redhat-lsb-4.0-2.1.4.el5.x86_64 (installed)
>  You could try using --skip-broken to work around the problem
>  You could try running: package-cleanup --problems
>                         package-cleanup --dupes
>                         rpm -Va --nofiles --nodigest
>
> so trying to just update tar
>
> # yum update tar
> Loaded plugins: downloadonly, fastestmirror, rhnplugin
> Loading mirror speeds from cached hostfile
> Setting up Update Process
> Resolving Dependencies
> --> Running transaction check
> ---> Package tar.x86_64 2:1.15.1-32.el5_8 set to be updated
> --> Processing Dependency: /bin/tar for package: redhat-lsb
> --> Processing Dependency: /bin/tar for package: redhat-lsb
> --> Finished Dependency Resolution
> redhat-lsb-4.0-2.1.4.el5.x86_64 from installed has depsolving problems
>   --> Missing Dependency: /bin/tar is needed by package
> redhat-lsb-4.0-2.1.4.el5.x86_64 (installed)
> redhat-lsb-4.0-2.1.4.el5.i386 from installed has depsolving problems
>   --> Missing Dependency: /bin/tar is needed by package
> redhat-lsb-4.0-2.1.4.el5.i386 (installed)
> Error: Missing Dependency: /bin/tar is needed by package
> redhat-lsb-4.0-2.1.4.el5.i386 (installed)
> Error: Missing Dependency: /bin/tar is needed by package
> redhat-lsb-4.0-2.1.4.el5.x86_64 (installed)
>  You could try using --skip-broken to work around the problem
>  You could try running: package-cleanup --problems
>                         package-cleanup --dupes
>                         rpm -Va --nofiles --nodigest
>
> but interestingly if i yum locainstall the tar package and then yum
> update it all works fine - seems very odd and possibly a broken yum
> package as rpm works OK ?
>
> anyone seen this?

The issue seems to be that the package tar was somehow removed from your
system.

When you tried to update, the system saw that the package tar was
removed from the system and that it was required by the "already
installed" package redhat-lsb.

This means that somehow, someone removed the package tar without regard
for its dependencies ... creating several packages that had unmet
dependency for tar in the rpm database.

When adding packages, Yum can do two things ... install or update ...
and it does each differently.

When you "update" (even an individual package), yum is going to verify
all the dependencies are met as well as to update the package.  In this
case it was confused about the missing dependency that was somehow
created by a forced removal.

When you do an install (or localinstall), yum only tries to meet the
dependencies for single package being installed, not all the
dependencies for the entire rpm database plus the package being updated
... so it did not see that the already installed redhat-lsb package does
not have  all its dependencies met. 

After tar is installed, all dependencies are met for redhat-lsb, so an
update works fine.

The problem all along is that someone did a force removal of tar (at
least from the rpm database) with a --nodeps switch, thus creating a
system with missing dependencies.

The lesson is ... don't force remove packages manually unless you plan
to repair the situation manually as well.


-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 262 bytes
Desc: OpenPGP digital signature
URL: <http://lists.centos.org/pipermail/centos/attachments/20120611/1ea42832/attachment-0001.sig>


More information about the CentOS mailing list