[CentOS] Update issue - tar package problem?

Johnny Hughes

johnny at centos.org
Mon Jun 11 13:06:32 UTC 2012


On 06/11/2012 07:17 AM, Tom Brown wrote:
>> 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.
> thanks for the response - tar has definately not been removed!
>
> # rpm -q tar
> tar-1.15.1-30.el5
>
> # yum info tar
> Loaded plugins: downloadonly, fastestmirror, rhnplugin
> Loading mirror speeds from cached hostfile
> Installed Packages
> Name       : tar
> Arch       : x86_64
> Epoch      : 2
> Version    : 1.15.1
> Release    : 30.el5
> Size       : 1.6 M
> Repo       : installed
> Summary    : A GNU file archiving program.
> URL        : http://www.gnu.org/software/tar/
> License    : GPL
> Description: The GNU tar program saves many files together in one
> archive and can
>            : restore individual files (or all of the files) from that
> archive. Tar
>            : can also be used to add supplemental files to an archive
> and to update
>            : or list files in the archive. Tar includes multivolume support,
>            : automatic archive compression/decompression, the ability to perform
>            : remote archives, and the ability to perform incremental and full
>            : backups.
>            :
>            : If you want to use tar for remote backups, you also need to install
>            : the rmt package.
>
> Available Packages
> Name       : tar
> Arch       : x86_64
> Epoch      : 2
> Version    : 1.15.1
> Release    : 32.el5_8
> Size       : 748 k
> Repo       : centos-5-x86_64-01062012
> Summary    : A GNU file archiving program
> License    : GPL
> Description: The GNU tar program saves many files together in one
> archive and can
>            : restore individual files (or all of the files) from that
> archive. Tar
>            : can also be used to add supplemental files to an archive
> and to update
>            : or list files in the archive. Tar includes multivolume support,
>            : automatic archive compression/decompression, the ability to perform
>            : remote archives, and the ability to perform incremental and full
>            : backups.
>            :
>            : If you want to use tar for remote backups, you also need to install
>            : the rmt package.
>
> i know it seems like yum thinks its not there, but it is, This happens
> on multiple systems also.

Somehow it is NOT in the rpm database ... that is why yum thinks it is
not there.

This could also happen accidentally with multilib installs (it looks
like you do have this possible issue).

When a system is installed in c5, the default behavior is that both i386
and x86_64 packages are installed.  It looks like you have removed the
i386 packages as a rpm -q tar shows only one package (I do this too ...
I think it is a good idea).  There is a potential problem though ...
both versions of tar (the i386 and x86_64 versions) provide /bin/tar ...
when removing the i386 version, sometimes the database will remove
/bin/tar from the list of installed packages even though the x86_64
version is still installed.

This can lead to the same kind of issue that you had ... and it is
possible to get it silently.  So, I will add a .rpmmacros entry to root
so that rpm -qa also shows "E-V-R.<arch>", remove all i[3,4,5,6]86
packages, then I make an entry to exclude multilib like this in yum.conf:

multilib_policy=best

Then I reinstall all x86_64 packages that had i386 packages removed (I
create a list before I remove them).

So, if you are doing "rpm -e tar.i386" (I suspect you are since there is
only one currently installed) ... that might also be the source of the
problem.

This is no longer a problem in CentOS-6 as anaconda does not install
i386 packages on x86_64 installs by default ... but they are installed
by default on CentOS-5.

-------------- 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/c77510b2/attachment-0001.sig>


More information about the CentOS mailing list