Johnny Hughes wrote:
First, thanks very much for continuing to help me.
On 05/23/2012 04:41 PM, Timothy Murphy wrote:
Johnny Hughes wrote:
Error: Protected multilib versions: glibc-2.12-1.47.el6_2.12.x86_64 != glibc-2.12-1.47.el6_2.9.i686 ** Found 3 pre-existing rpmdb problem(s), 'yum check' output follows: bash-4.1.2-9.el6_2.x86_64 is a duplicate with bash-4.1.2-8.el6.centos.x86_64 glibc-common-2.12-1.47.el6_2.12.x86_64 is a duplicate with glibc- common-2.12-1.47.el6_2.9.x86_64 glibc-common-2.12-1.47.el6_2.12.x86_64 has missing requires of glibc = ('0', '2.12', '1.47.el6_2.12')
You have both the i686 and x86_64 versions of glibc installed. That error means that the repo you are trying to update from has a different version of i686 glibc and x86_64 glibc ... or you are trying to upgrade one (the x86_64 version) and not the other (the i686 version).
Since multilib installs share some files (all the Documentation, etc.), that means you must install the same version of each arch if you install both i686 and x86_64 packages.
Thank you very much for your response.
But I'm afraid I'm not clear what action I can take. I don't like to remove any glibc or glibc-common packages, as I'm afraid it might have a disastrous effect, since they seem to be required by so many other packages, including the kernel.
Based on your errors, what I would do is this:
- You only need 1 version of glibc-common.x86_64. The only way you
could have gotten into this position is either your machine died in the middle of a yum update or someone force installed the later glibc-common via the rpm -i command.
I would first try to install the yum-utils package with this command:
I do have this package installed.
once that is installed, I would try:
yum-complete-transaction
When I run this, an enormous list of packages (I think over 300) that will be deleted appears, eg --------------------------------- ---> Package kdelibs-common.x86_64 6:4.3.4-11.el6_1.4 will be erased ---> Package kernel.x86_64 0:2.6.32-220.2.1.el6 will be erased ---> Package kernel.x86_64 0:2.6.32-220.4.1.el6 will be erased ---> Package kernel.x86_64 0:2.6.32-220.7.1.el6 will be erased ---> Package kernel.x86_64 0:2.6.32-220.13.1.el6 will be erased --------------------------------- But before I can answer yes or no, the command fails with --------------------------------- Error: Trying to remove "yum", which is protected --------------------------------- I still get this error if I say "yum-complete-transaction --exclude=yum"
I would figure out exactly what packages I had installed for glibc and get them all on one version ... you need to be careful with glibc (and its sub packages) ... it is the most important package on your machine.
The only glibc* packages listed in /var/log/yum.* are 64-bit, eg --------------------------------- [tim@alfred ~]$ sudo grep glibc /var/log/yum* /var/log/yum.log:Feb 07 02:20:29 Updated: glibc- common-2.12-1.47.el6_2.5.x86_64 /var/log/yum.log:Feb 07 02:20:45 Updated: glibc-2.12-1.47.el6_2.5.x86_64 ... /var/log/yum.log:Mar 17 17:51:11 Updated: glibc- common-2.12-1.47.el6_2.9.x86_64 /var/log/yum.log:Mar 17 17:51:24 Updated: glibc-2.12-1.47.el6_2.9.x86_64 ... /var/log/yum.log:May 22 11:38:50 Installed: glibc-2.12-1.47.el6_2.9.x86_64 --------------------------------
I haven't deliberately installed any versions other than these. This is on a server running CentOS-6.2 (in another country), and I never say anything relevant on it except "sudo yum update".
How I would do this is that I would download all the RPMs for the latest version of all the packages you have installed ... for me that would be:
glibc-devel-2.12-1.47.el6_2.12.x86_64.rpm glibc-headers-2.12-1.47.el6_2.12.x86_64.rpm glibc-2.12-1.47.el6_2.12.i686.rpm glibc-common-2.12-1.47.el6_2.12.x86_64.rpm glibc-2.12-1.47.el6_2.12.x86_64.rpm nscd-2.12-1.47.el6_2.12.x86_64.rpm
After "yum-update" the server tried to download the 2.12 versions, but wasn't able to for the same above reason:
I have them all on another server also running CentOS-6.2: -------------------------------- [tim@grover ~]$ sudo grep glibc /var/log/yum.log* ... /var/log/yum.log:May 11 13:58:46 Updated: glibc- common-2.12-1.47.el6_2.12.x86_64 /var/log/yum.log:May 11 13:59:20 Updated: glibc-2.12-1.47.el6_2.12.x86_64 /var/log/yum.log:May 11 13:59:54 Updated: glibc- headers-2.12-1.47.el6_2.12.x86_64 /var/log/yum.log:May 11 13:59:59 Updated: glibc- devel-2.12-1.47.el6_2.12.x86_64 /var/log/yum.log:May 11 14:01:44 Updated: glibc-2.12-1.47.el6_2.12.i686 -------------------------------- so I could copy them from there, and forcefully install them?
Once I had them all in the same directory, I would try a:
rpm -Uvh *.rpm
then I would look at the errors
based on those errors (if it does not install) then I would likely do:
rpm -Uvh --force *.rpm
that will LIKELY clean up your rpm issues for glibc ... but if you don't understand the errors, post those here.
OK, thanks. I see my other server has not in fact retained copies of these packages, so I'll collect them separately and try rpm-installing them as you suggest.
I'll let you know if that succeeds or not!
- The real issue here is to make sure you figure out HOW you got in
this position and how NOT to get into it again.
I think I understand how it occurred. I tried to yum-remove a package (I don't remember which one, but it wasn't important) and I was told that 300+ packages would be removed. I wasn't sure it I would be asked yes/no to this (I know now that I will always be asked to approve) so I stopped the commend with ctrt-C. Since then I have had these problems.