Mailinglist Archive: opensuse-factory (745 mails)

< Previous Next >
Re: [opensuse-factory] TW zypper dup errors trying to remove older package verision not installed
  • From: Trey Sizemore <trey@xxxxxxxxxxx>
  • Date: Sat, 27 Jan 2018 15:33:42 -0500
  • Message-id: <20180127153342.37d51723@lizard>
On Sat, 27 Jan 2018 18:05:49 +0100
Bruno Friedmann <bruno@xxxxxxxxxxx> wrote:

On samedi, 27 janvier 2018 16.21:13 h CET Trey Sizemore wrote:
On Fri, 26 Jan 2018 20:46:57 +0300

Andrei Borzenkov <arvidjaar@xxxxxxxxx> wrote:
26.01.2018 20:04, Trey Sizemore пишет:
Hi all-

Doing a 'zypper dup --no-allow-vendor-change' on my TW box
after a week or so since my last run of the command.

It is erroring out with:
Checking for file
conflicts:
.......................................................................
........................................................................
........................................................................
.....................................[done] ( 1/1099) Removing
appstream-glib-0.7.4+git.3-1.2.x86_64
.......................................................................
........................................................................
........................................................................
......[error] Removal of
(124438)appstream-glib-0.7.4+git.3-1.2.x86_64(@System)failed:
Error: Subprocess failed. Error: RPM failed: error: package
appstream-glib-0.7.4+git.3-1.2.x86_64 is not installed


I have the newer version of the package installed () so not
sure why it's attempting to remove the older (or thinks it's
installed).

How do I have the update database have an accurate inventory of
all currently installed packages? 'zypper ref' and 'zypper
dup' both run but leave me with the same situation described.

On forums user with similar problem reported that "zypper clean"
helped. I suppose, removing /var/cache/zypp/solv/@System should
force it to be recreated too.

Unfortunately, neither 'zypper clean' or
removing /var/cache/zypp/solv/'@System' worked for me. I'm still
experiencing a disconnect with what is actually installed vs. what
zypper thinks is installed.

The most recent run this morning errored out with:

( 1/1068) Removing
evince-plugin-psdocument-3.26.0-3.2.x86_64
...........................................................................
..................................................................[error]
Removal of
(124697)evince-plugin-psdocument-3.26.0-3.2.x86_64(@System) failed:
Error: Subprocess failed. Error: RPM failed: error: package
evince-plugin-psdocument-3.26.0-3.2.x86_64 is not installed

Is there some other way to get the correct installed packages info
reflected with zypper?

Looks like you have a corrupted database.
Sometimes running this kind of script help to make everything fine
again I don't know why but on some ext4 computer, a reboot afterward
and then the classical zypper -v ref -f && zypper -v dup work

This is the extract of the script used cat rpmdb_optimize.sh

#!/bin/sh
sqlite3 /var/cache/zypp/zypp.db vacuum
rpm --rebuilddb # takes long
for fn in /var/cache/zypp/zypp.db \
/var/lib/rpm/[A-Z]*
do
echo "Processing $fn"
cp -a $fn $fn.new || exit 1
mv -f $fn.new $fn
done



Thank you Robert, Andrei, and Bruno for your replies.

I ended up earlier doing a variation of the recommendations involving
rebuilding the corrupt database with:

sudo rpm --rebuilddb && sudo zypper clean -a && sudo zypper ref

This worked for me.



--
Cheers,
Trey
----

Adversity is the trial of principle.
Without it, a man hardly knows whether he is honest or not.
--Henry Fielding

Linux lizard 4.14.14-1-default x86_64
15:31:49 up 0:04, 1 user, load average: 0.81, 0.81, 0.37
--
To unsubscribe, e-mail: opensuse-factory+unsubscribe@xxxxxxxxxxxx
To contact the owner, e-mail: opensuse-factory+owner@xxxxxxxxxxxx

< Previous Next >