[PlanetCCRMA] (OT) yum dependency problems following power cut
Fernando Lopez-Lezcano
nando at ccrma.Stanford.EDU
Mon Aug 11 11:36:10 PDT 2008
On Mon, 2008-08-11 at 18:04 +0100, Michael TD Nelson wrote:
> Hi,
>
> Thank you very much for your response. The help is much appreciated.
>
> On Mon, 2008-08-11 at 09:48 +0200, Fernando Lopez-Lezcano wrote:
> > On Sun, 2008-08-10 at 19:17 +0100, Michael TD Nelson wrote:
> > > Last time I was doing a 'yum update', the power to my machine was cut
> > > halfway through. I suspect this may have caused the problems which I am
> > > having now.
> >
> > Just in case you should (I think) check first if you have duplicated
> > packages installed.
> >
> > You can do that with "package-cleanup --dupes", package-cleanup is part
> > of the yum-utils package. If you have duplicated packages you have to
> > try to remove the redundant ones (the older ones probably).
>
> Hmm. Yes, there are sixty or so duplicated packages.
Ouch, yes, I have seen this happen before.
> I won't copy the output here, unless anyone thinks it would be useful!
>
> How do I remove a particular version of a package? (I did notice that
> you said 'try to remove'...)
rpm -e packagename-version-release
(ie: just put the whole version there...)
> > > Here are the last few lines of output from today's 'yum update',
> > > followed by a couple of other commands which I thought might be
> > > relevant. Has anyone got any suggestions for me?
> > >
> > > --> Finished Dependency Resolution
> > > 1:perl-Module-Pluggable-3.60-30.fc9.i386 from installed has depsolving
> > > problems
> > > --> Missing Dependency: perl = 4:5.10.0-30.fc9 is needed by package
> > > 1:perl-Module-Pluggable-3.60-30.fc9.i386 (installed)
> > > glibc-2.8-3.i686 from installed has depsolving problems
> > > --> Missing Dependency: glibc-common = 2.8-3 is needed by package
> > > glibc-2.8-3.i686 (installed)
> > > Error: Missing Dependency: perl = 4:5.10.0-30.fc9 is needed by package
> > > 1:perl-Module-Pluggable-3.60-30.fc9.i386 (installed)
> > > Error: Missing Dependency: glibc-common = 2.8-3 is needed by package
> > > glibc-2.8-3.i686 (installed)
> >
> > Hmmm, yes, probably you have a "halfway" updated system.
> > Do a "package-cleanup --problems" to see what are your current dependency problems.
> >
>
> [root at localhost ~]# package-cleanup --problems
> Setting up yum
> Reading local RPM database
> Processing all local requires
> Missing dependencies:
> Package checkstyle requires ant-javadoc
> Package checkstyle requires antlr-javadoc
> Package checkstyle requires jakarta-commons-beanutils-javadoc
> Package checkstyle requires xml-commons-apis-javadoc
> Package perl-Module-Pluggable requires perl = 4:5.10.0-31.fc9
> Package glibc requires glibc-common = 2.8-8
>
> > > [root at localhost ~]# yum list perl
> > > Loaded plugins: refresh-packagekit
> > > Installed Packages
> > > perl.i386 4:5.10.0-30.fc9
> > > installed
> > > Available Packages
> > > perl.i386 4:5.10.0-31.fc9 updates
> > >
> > > [root at localhost ~]# yum list glibc-common
> > > Loaded plugins: refresh-packagekit
> > > Installed Packages
> > > glibc-common.i386 2.8-3
> > > installed
> > > Available Packages
> > > glibc-common.i386 2.8-8 updates
> >
> > What if you do a "yum list glibc*"?
> >
>
> That seems useful...
>
> [root at localhost ~]# yum list glibc*
> [list of repositories snipped]
> Installed Packages
> glibc.i686 2.8-3
> installed
> glibc.i686 2.8-8
> installed
So, this was partially upgraded. Just glibc and not the other glibc*
packages.
> glibc-common.i386 2.8-3
> installed
> glibc-devel.i386 2.8-3
> installed
> glibc-headers.i386 2.8-3
> installed
> Available Packages
> glibc.i386 2.8-8 updates
> glibc.i686 2.8-8 updates
> glibc-common.i386 2.8-8 updates
> glibc-devel.i386 2.8-8 updates
> glibc-headers.i386 2.8-8 updates
> glibc-utils.i386 2.8-8 updates
>
> Which should I remove, and how?
I don't remember exactly what I did in a similar situation. "glibc"
could be tricky because without it pretty much nothing will work (I
think). Backup your stuff and have a recovery cd handy...
After writing the stuff below[*] I looked again at "man package-cleanup"
and found it has a "--cleandupes" option that supposedly will erase
older versions of duplicated packages. I have never tried to use it so I
don't know if it is the best option, specially for something like glibc.
I imagine it could do the right thing and then you could try another
upgrade...
[*] This is what I was writing before:
You could try with some other not-so-critical package first. From your
list of duplicated packages.
Take one of the dups, say you have:
goo-1.2-3
goo-1.3-2
So try to:
rpm -e goo-1.2-3
And after that verify that the remaining package has what it is supposed
to have:
rpm -V goo
You should get no errors from that. But it may be that goo-1.2 and
goo-1.3 shared some exact same files in which case I think they will be
missing (not sure about this). Then you need to reinstall goo... I don't
see a way to force a reinstall using yum (it will probably tell you you
already have it installed if you try).
There may be some other easier way to do this I don't know about...
[anyone else in the list with "repair experience"?]
-- Fernando
More information about the PlanetCCRMA
mailing list