[opensuse] Do I have a rpm database corruption (OpenSUSE 12.3) (noobish)
Hi, I have a fully patched [1] installation of OpenSuse 12.3. It was a clean install on a reformatted partition. For some time now (sorry, I have no record of when it started, or what happened to cause it), when doing "zypper up" I get messages such as: ************************************************************************ Installation of libqmmp0-plugin-mplayer-debuginfo-0.7.1-45.3 failed: (with --nodeps --force) Error: Subprocess failed. Error: RPM failed: error: db4 error(-30986) from dbcursor->c_get: DB_PAGE_NOTFOUND: Requested page not found error: error(-30986) getting "Development/Debug" records from Group index error: libqmmp0-plugin-mplayer-debuginfo-0.7.1-45.3.x86_64: install failed error: libqmmp0-plugin-mplayer-debuginfo-0.7.1-45.2.x86_64: erase skipped error: libqmmp0-plugin-mplayer-debuginfo-0.7.1-45.1.x86_64: erase skipped error: libqmmp0-plugin-mplayer-debuginfo-0.7.0-44.2.x86_64: erase skipped error: libqmmp0-plugin-mplayer-debuginfo-0.7.0-44.1.x86_64: erase skipped error: libqmmp0-plugin-mplayer-debuginfo-0.7.0-41.1.x86_64: erase skipped error: libqmmp0-plugin-mplayer-debuginfo-0.7.0-40.4.x86_64: erase skipped error: libqmmp0-plugin-mplayer-debuginfo-0.7.0-40.3.x86_64: erase skipped Abort, retry, ignore? [a/r/i] (a): ************************************************************************ I ignore and continue and eventually the command finishes. The failures only appear to occur with debuginfo packages. The rest of the updates appear to install and run correctly. I am guessing that part of my rpm database has become corrupt. Can I reconstruct the database, or a part of it? (I have had a look at the rpm documentation, but it is beyond my understanding, so a link to a basic / tutorial example, or some **simple to follow** instructions would be greatly appreciated!! With thanks, H -- To unsubscribe, e-mail: opensuse+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse+owner@opensuse.org
El 13/06/13 19:34, h escribió:
I am guessing that part of my rpm database has become corrupt. Can I reconstruct the database, or a part of it?
Yes, your rpm database is corrupted.. issue rpm --rebuilddb WARNING, WARNING big WARNING: in some cases, that does not work, if that happends, you are screwed. -- To unsubscribe, e-mail: opensuse+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse+owner@opensuse.org
On 2013-06-14 02:04, Cristian Rodríguez wrote:
El 13/06/13 19:34, h escribió:
I am guessing that part of my rpm database has become corrupt. Can I reconstruct the database, or a part of it?
Yes, your rpm database is corrupted.. issue rpm --rebuilddb
WARNING, WARNING big WARNING: in some cases, that does not work, if that happends, you are screwed.
Not yet! There is a cron that makes a backup copy, rotating every week. They are in "/var/adm/backup/rpmdb". Just copy the last one over and try rebuild. If it fails, try one day earlier, repeat until works or not - then you are screwed :-) -- Cheers / Saludos, Carlos E. R. (from 12.3 x86_64 "Dartmouth" at Telcontar)
On Fri, Jun 14, 2013 at 02:59:43AM +0200, Carlos E. R. wrote:
On 2013-06-14 02:04, Cristian Rodríguez wrote:
El 13/06/13 19:34, h escribió:
I am guessing that part of my rpm database has become corrupt. Can I reconstruct the database, or a part of it?
Yes, your rpm database is corrupted.. issue rpm --rebuilddb
WARNING, WARNING big WARNING: in some cases, that does not work, if that happends, you are screwed.
Not yet! There is a cron that makes a backup copy, rotating every week. They are in "/var/adm/backup/rpmdb". Just copy the last one over and try rebuild. If it fails, try one day earlier, repeat until works or not - then you are screwed :-)
And afterwards you might be screwed even further. Why? Think you installed fresh packages or updates in between. a) fresh/ new packages got added The binaries are still around but you never will get an update as the rpm database doesn't know about. b) packages got updated In this case you'll get the already applied update again. This very likely will not harm. But /var/log/zypp/history might be of help. In combination with the timestamp of the file from /var/adm/backup/rpmdb Cheers, Lars -- Lars Müller [ˈlaː(r)z ˈmʏlɐ] Samba Team + SUSE Labs SUSE Linux, Maxfeldstraße 5, 90409 Nürnberg, Germany
On 2013-06-14 11:01, Lars Müller wrote:
On Fri, Jun 14, 2013 at 02:59:43AM +0200, Carlos E. R. wrote:
And afterwards you might be screwed even further. Why? Think you installed fresh packages or updates in between.
I have been bitten by that :-)
a) fresh/ new packages got added
The binaries are still around but you never will get an update as the rpm database doesn't know about.
True, you have to reinstall them, possibly database only rpm command. For this, better have a look at the history zypper file. In my case... I make an automated copy of all the rpms I install with yast/zypper, so I could just run an "rpm install database only *rpm" (correct incantation not searched).
b) packages got updated
In this case you'll get the already applied update again. This very likely will not harm.
No, no harm. Just some time.
But /var/log/zypp/history might be of help. In combination with the timestamp of the file from /var/adm/backup/rpmdb
Yes, indeed, take a note of the date, good idea. The history file is not easily readable, so better reduce the region to look at. -- Cheers / Saludos, Carlos E. R. (from 12.3 x86_64 "Dartmouth" at Telcontar)
On Fri, Jun 14, 2013 at 02:59:43AM +0200, Carlos E. R. wrote:
On 2013-06-14 02:04, Cristian Rodríguez wrote:
El 13/06/13 19:34, h escribió:
I am guessing that part of my rpm database has become corrupt. Can I reconstruct the database, or a part of it?
Yes, your rpm database is corrupted.. issue rpm --rebuilddb
WARNING, WARNING big WARNING: in some cases, that does not work, if that happends, you are screwed.
Not yet! There is a cron that makes a backup copy, rotating every week. They are in "/var/adm/backup/rpmdb". Just copy the last one over and try rebuild. If it fails, try one day earlier, repeat until works or not - then you are screwed :-)
You can also to to recover it with db_dump/db_restore or db_recover from the db-utils package. Cheers, Michael. -- Michael Schroeder mls@suse.de SUSE LINUX Products GmbH, GF Jeff Hawn, HRB 16746 AG Nuernberg main(_){while(_=~getchar())putchar(~_-1/(~(_|32)/13*2-11)*13);} -- To unsubscribe, e-mail: opensuse+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse+owner@opensuse.org
Cristian Rodr�������������������������������� wrote:
El 13/06/13 19:34, h escribi�:
I am guessing that part of my rpm database has become corrupt. Can I reconstruct the database, or a part of it?
Yes, your rpm database is corrupted.. issue rpm --rebuilddb
WARNING, WARNING big WARNING: in some cases, that does not work, if that happends, you are screwed.
But if your database is really corrupt, then you are already screwed... I used the above and it recovered most of the rpms I'd installed made me appreciate "rpm --justdb" among other fixes... -- To unsubscribe, e-mail: opensuse+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse+owner@opensuse.org
On Fri, 14 Jun 2013 09:34:59 +1000 h <hdixon@bigpond.net.au> wrote:
Hi, I have a fully patched [1] installation of OpenSuse 12.3. It was a clean install on a reformatted partition.
For some time now (sorry, I have no record of when it started, or what happened to cause it), when doing "zypper up" I get messages such as: ************************************************************************ Installation of libqmmp0-plugin-mplayer-debuginfo-0.7.1-45.3 failed: (with --nodeps --force) Error: Subprocess failed. Error: RPM failed: error: db4 error(-30986) from dbcursor->c_get: DB_PAGE_NOTFOUND: Requested page not found error: error(-30986) getting "Development/Debug" records from Group index error: libqmmp0-plugin-mplayer-debuginfo-0.7.1-45.3.x86_64: install failed error: libqmmp0-plugin-mplayer-debuginfo-0.7.1-45.2.x86_64: erase skipped error: libqmmp0-plugin-mplayer-debuginfo-0.7.1-45.1.x86_64: erase skipped error: libqmmp0-plugin-mplayer-debuginfo-0.7.0-44.2.x86_64: erase skipped error: libqmmp0-plugin-mplayer-debuginfo-0.7.0-44.1.x86_64: erase skipped error: libqmmp0-plugin-mplayer-debuginfo-0.7.0-41.1.x86_64: erase skipped error: libqmmp0-plugin-mplayer-debuginfo-0.7.0-40.4.x86_64: erase skipped error: libqmmp0-plugin-mplayer-debuginfo-0.7.0-40.3.x86_64: erase skipped
Abort, retry, ignore? [a/r/i] (a): ************************************************************************
I ignore and continue and eventually the command finishes. The failures only appear to occur with debuginfo packages. The rest of the updates appear to install and run correctly.
I am guessing that part of my rpm database has become corrupt. Can I reconstruct the database, or a part of it? (I have had a look at the rpm documentation, but it is beyond my understanding, so a link to a basic / tutorial example, or some **simple to follow** instructions would be greatly appreciated!!
With thanks, H
Thank you all for the advice. rpm --rebuilddb got the job done., but with all the warnings I took the precaution of digging out the backup files and doing a backup. Fortunately they were not required. Thanks again, H -- To unsubscribe, e-mail: opensuse+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse+owner@opensuse.org
participants (6)
-
Carlos E. R.
-
Cristian Rodríguez
-
h
-
Lars Müller
-
Linda Walsh
-
Michael Schroeder