Cleaning out the cruft [FC4 upgrade aftermath]

Jim Cornette fc-cornette at insight.rr.com
Thu Jun 16 22:36:23 UTC 2005


Don Levey wrote:

>In an effort to clean things up and make sure things are working correctly,
>I noticed in Synaptic that I had a number of broken packages.  Some I was
>able to fix/delete without problem, but there are two for which I have two
>entries in the RPM database.  I am trying to get rid of the older packages;
>as far as I know I don't need them.  However, here's what happens when I try
>to delete via apt-get or rpm:
>
>Here's where I tried to use apt to do it automatically:
>[root at dauphin apt]# apt-get --fix-broken install
>Reading Package Lists... Done
>Building Dependency Tree... Done
>Correcting dependencies... Done
>The following packages will be REMOVED:
>   iiimf-server#1:11.4-46.1.svn1587 (1:11.4-46.1.svn1587)
>   librsvg2#2.6.4-2 (2.6.4-2)
>0 upgraded, 0 newly installed, 2 removed and 0 not upgraded.
>Need to get 0B of archives.
>After unpacking 558kB disk space will be freed.
>Do you want to continue? [Y/n] y
>Committing changes...
>Preparing...                ###########################################
>[100%]
>/var/tmp/rpm-tmp.59395: line 2: gdk-pixbuf-query-loaders: command not found
>error: %postun(librsvg2-2.6.4-2.i386) scriptlet failed, exit status 127
>error: %postun(iiimf-server-11.4-46.1.svn1587.i386) scriptlet failed, exit
>status 1
>W: Some errors occurred while running transaction
>
>So I queried the RPM database to see if it was still holding both:
>[root at dauphin apt]# rpm -q librsvg2
>librsvg2-2.6.4-2
>librsvg2-2.9.5-2
>  
>
Use rpm as root and run the below command to remove only the database 
entry for libr svg2-2.6.4-2. The reason to only remove the database 
entry is that the later package probably replaced files with common 
names and locations with newer versions of the same filename and 
directory location.

rpm -e librsvg2-2.6.4-2 --justdb

The database entry should be gone and then you want to ensure that the 
later package is intact and no missing files or filesize changes effect 
the remaining package.

rpm -q librsvg2
or
rpm -q librsvg2-2.9.5-2

should come back with no output, signifying everything is there as 
intended by the rpm installation. If the output does not come back 
blank, reinstall the latest package with
rpm -Uvh librsvg2-2.9.5-2*.rpm --replacefiles --replacepkg
this should replace any changed files or leftover package elements that 
may be lingering on the system.

Jim

>So I tried to remove the older:
>[root at dauphin apt]# rpm -e librsvg2-2.6.4-2
>/var/tmp/rpm-tmp.6046: line 2: gdk-pixbuf-query-loaders: command not found
>error: %postun(librsvg2-2.6.4-2.i386) scriptlet failed, exit status 127
>
>And just to see what happens:
>[root at dauphin apt]# rpm -e librsvg2
>error: "librsvg2" specifies multiple packages
>
>Any thoughts on what to do?  Should I manually edit the RPM database to
>remove the offending entry, and then somehow manually delete the package
>from disk?  How could I have gotten into this situation anyway?
>
> -Don
>
>  
>




More information about the fedora-list mailing list