Don Levey wrote:
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.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@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@dauphin apt]# rpm -q librsvg2
librsvg2-2.6.4-2
librsvg2-2.9.5-2
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@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@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