Removing duplicate apps after FC6 upgrade from FC5

Karl Hakmiller karlh at concentric.net
Sat Feb 17 06:12:21 UTC 2007


On Saturday 17 February 2007, Sam Varshavchik wrote:
> Karl Hakmiller writes:
> > I just upgraded from FC5 to FC6 and have found a dozen or more
> > apps left in FC6 from the FC5 installation as well as duplicate
> > FC6 applications -- at least that is what Synaptic reports.  I
> > was expecting the first sort of redundancy but not the second. 
> > Any suggestions about the best way to go about locating and then
> > deleting the superfluous files of either sort?
>
> Curious -- can you look in your /root/upgrade.log.  I suspect that
> you'll find that the %post script from most of your packages has
> barfed during the update.  Long standing bug, at least since FC 3. 
> Bug 178590.
>
> > BTW, wouldn't it be nice if there was a delete button in
> > Synaptic?
>
> Would it be nice if all the bugs in rpm were fixed?  Although this
> is ultimately an anaconda issue -- I suspect that anaconda enables
> selinux during an upgrade, which nukes all the %post scripts if the
> FC install never had selinux policies installed -- I feel that rpm
> compounds this bug. When rpm upgrades package X from version to A
> to version B, and version B's %post script pukes, rpm leaves both
> version A and version B installed.
>
> Dumb, dumb, dumb…
>
> As far as fixing this -- you'll need to compile a list of dupe
> packages, as a first step.  Something like:
>
> rpm -q -a --queryformat '%{NAME}\n' | sort | uniq -c | awk '$1 > 1
> { print $2} '
>
> >From that, you'll need to manually edit out some things.  Like all
> > the
>
> gpg-pubkey pseudopackage hack -- there'll be more than one of them.
>  If you're running x86-64, multilib packages that you get with the
> default FC 6 x86_64 install are going to screw you here, so before
> cleaning up _this_ mess, you should blow away all the i386 packages
> first (but see below).  You really do not need useless multilib
> packages make your life difficult.
>
> Now, for each dupe package you got from the first rpm command,
> you'll need to grab the old version of each package.  Something
> like:
>
> cat $pkglist | while read F
> do
>    rpm -q --queryformat '%{INSTALLTIME}
> %{NAME}-%{VERSION}-%{RELEASE}' $F | sort -n | sed -n 1p | awk '
> {print $2}' done
>
> That should give you a package-version-release list that you'll
> want to feed back to rpm -e.  Don't take my word for it.  Verify
> this yourself.
>
> And _then_, after all this silliness, you may or may not notice
> that bug 223639 will end up biting you in the arse (which you
> might've noticed already, if you had to remove i386 packages on
> your x86_64 box).
>
> rpm really needs to go.

I more or less suspected there would be a lot of handwork involved 
here but thanks for the helpful guides.  I've already compiled the 
list and am working my way thru it.  I had decided to do an upgrade 
rather than a naked install to preserve a set of painstakingly 
created filters in my mail client.  I'm now re-thinking that decision 
and may just drop this picky work and re-format/reinstall before I 
get so much stuff on this machine that I won't have the nerve.

Thanks for your help.  I appreciate it.

Karl L 






More information about the users mailing list