[opensuse-factory] How can I edit the rpmdb?
How can I edit the rpmdb to remove the references to all the packages that are not installed. In the rpmdb appear as installed about 4 different versions from the same package. Two days ago I beginning to download the dvd iso of rc1, to make a a clean installation, via torrent, the only way to download the dvd, but the connection was very slowly, and I must waiting for about a week to complete the download. For the update via smart I can download 2.2 GB in about 10 hours. When a package are updated via rpm -U and in many cases with the parameter --replacepkgs (or via smart), the updated or replaced package do'nt disappear from the rpmdb, and I mean it's the cause for the crashing. More info: https://bugzilla.novell.com/show_bug.cgi?id=309354 Regards --------------------------------------------------------------------- To unsubscribe, e-mail: opensuse-factory+unsubscribe@opensuse.org For additional commands, e-mail: opensuse-factory+help@opensuse.org
* Juan Erbes <jerbes@gmail.com> [09-23-07 09:57]:
How can I edit the rpmdb to remove the references to all the packages that are not installed. In the rpmdb appear as installed about 4 different versions from the same package.
man rpm search for rebuilddb rpm --rebuilddb [as root] -- Patrick Shanahan Plainfield, Indiana, USA HOG # US1244711 http://wahoo.no-ip.org Photo Album: http://wahoo.no-ip.org/gallery2 Registered Linux User #207535 @ http://counter.li.org --------------------------------------------------------------------- To unsubscribe, e-mail: opensuse-factory+unsubscribe@opensuse.org For additional commands, e-mail: opensuse-factory+help@opensuse.org
2007/9/23, Patrick Shanahan <ptilopteri@gmail.com>:
* Juan Erbes <jerbes@gmail.com> [09-23-07 09:57]:
How can I edit the rpmdb to remove the references to all the packages that are not installed. In the rpmdb appear as installed about 4 different versions from the same package.
man rpm search for rebuilddb
rpm --rebuilddb [as root]
Yes, I make it many times a day, but it not resolves the problem. The rebuilddb does not remove the references to the old packages do'nt present in the system (upgraded many times). For example now I has rebuilding the rpmdb, and it terminated with: rpmdb: page 851: illegal page type or format rpmdb: PANIC: Argumento inválido error: db4 error(-30977) from dbcursor->c_get: DB_RUNRECOVERY: Fatal error, run database recovery rpmdb: PANIC: fatal region error detected; run recovery error: db4 error(-30977) from db->close: DB_RUNRECOVERY: Fatal error, run database recovery rpmdb: PANIC: fatal region error detected; run recovery error: db4 error(-30977) from dbenv->close: DB_RUNRECOVERY: Fatal error, run database recovery Thanks --------------------------------------------------------------------- To unsubscribe, e-mail: opensuse-factory+unsubscribe@opensuse.org For additional commands, e-mail: opensuse-factory+help@opensuse.org
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 The Sunday 2007-09-23 at 19:51 -0300, Juan Erbes wrote:
rpm --rebuilddb [as root]
Yes, I make it many times a day, but it not resolves the problem. The rebuilddb does not remove the references to the old packages do'nt present in the system (upgraded many times). For example now I has rebuilding the rpmdb, and it terminated with:
rpmdb: page 851: illegal page type or format rpmdb: PANIC: Argumento inválido error: db4 error(-30977) from dbcursor->c_get: DB_RUNRECOVERY: Fatal error, run database recovery rpmdb: PANIC: fatal region error detected; run recovery error: db4 error(-30977) from db->close: DB_RUNRECOVERY: Fatal error, run database recovery rpmdb: PANIC: fatal region error detected; run recovery error: db4 error(-30977) from dbenv->close: DB_RUNRECOVERY: Fatal error, run database recovery
I had a similar problem time ago, reported in bugzilla 225630. There was a database problem upstream, outside of the rpm code, which I don't know if was even investigated or solved. What I did in the end was finding at what package the rpm command crashed, then I forced removal of the package which install made rpm crash and reinstalled it again, to force the database to clear. - -- Cheers, Carlos E. R. -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.5 (GNU/Linux) Comment: Made with pgp4pine 1.76 iD8DBQFG9vNdtTMYHG2NR9URAgq0AJsHuG8R/UiVWQcJSyawri+DaUdShgCfSJO/ jg5I+F/IBmOazitEMCQMcyg= =DcvH -----END PGP SIGNATURE-----
2007/9/23, Carlos E. R. <robin.listas@telefonica.net>:
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1
The Sunday 2007-09-23 at 19:51 -0300, Juan Erbes wrote:
rpm --rebuilddb [as root]
Yes, I make it many times a day, but it not resolves the problem. The rebuilddb does not remove the references to the old packages do'nt present in the system (upgraded many times). For example now I has rebuilding the rpmdb, and it terminated with:
rpmdb: page 851: illegal page type or format rpmdb: PANIC: Argumento inválido error: db4 error(-30977) from dbcursor->c_get: DB_RUNRECOVERY: Fatal error, run database recovery rpmdb: PANIC: fatal region error detected; run recovery error: db4 error(-30977) from db->close: DB_RUNRECOVERY: Fatal error, run database recovery rpmdb: PANIC: fatal region error detected; run recovery error: db4 error(-30977) from dbenv->close: DB_RUNRECOVERY: Fatal error, run database recovery
I had a similar problem time ago, reported in bugzilla 225630. There was a database problem upstream, outside of the rpm code, which I don't know if was even investigated or solved.
What I did in the end was finding at what package the rpm command crashed, then I forced removal of the package which install made rpm crash and reinstalled it again, to force the database to clear.
I will use a frontend to edit the db. I need to upgrade more than 1200 packages, and the fail appear with many of the packages. Thanks --------------------------------------------------------------------- To unsubscribe, e-mail: opensuse-factory+unsubscribe@opensuse.org For additional commands, e-mail: opensuse-factory+help@opensuse.org
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 The Sunday 2007-09-23 at 20:28 -0300, Juan Erbes wrote:
What I did in the end was finding at what package the rpm command crashed, then I forced removal of the package which install made rpm crash and reinstalled it again, to force the database to clear.
I will use a frontend to edit the db. I need to upgrade more than 1200 packages, and the fail appear with many of the packages.
If you find such a front end, tell us! :-) - -- Cheers, Carlos E. R. -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.5 (GNU/Linux) Comment: Made with pgp4pine 1.76 iD8DBQFG9wxatTMYHG2NR9URAtwlAJ44PGy54JrMRpgn0Lkz6TzOrrRg5ACfRFSR VqtZ8jir1UaGA1sSArMnFHc= =GzcS -----END PGP SIGNATURE----- --------------------------------------------------------------------- To unsubscribe, e-mail: opensuse-factory+unsubscribe@opensuse.org For additional commands, e-mail: opensuse-factory+help@opensuse.org
Juan Erbes wrote:
2007/9/23, Patrick Shanahan <ptilopteri@gmail.com>:
* Juan Erbes <jerbes@gmail.com> [09-23-07 09:57]:
How can I edit the rpmdb to remove the references to all the packages that are not installed. In the rpmdb appear as installed about 4 different versions from the same package. man rpm search for rebuilddb
rpm --rebuilddb [as root]
Yes, I make it many times a day, but it not resolves the problem. The rebuilddb does not remove the references to the old packages do'nt present in the system (upgraded many times). For example now I has rebuilding the rpmdb, and it terminated with:
rpmdb: page 851: illegal page type or format rpmdb: PANIC: Argumento inválido error: db4 error(-30977) from dbcursor->c_get: DB_RUNRECOVERY: Fatal error, run database recovery rpmdb: PANIC: fatal region error detected; run recovery error: db4 error(-30977) from db->close: DB_RUNRECOVERY: Fatal error, run database recovery rpmdb: PANIC: fatal region error detected; run recovery error: db4 error(-30977) from dbenv->close: DB_RUNRECOVERY: Fatal error, run database recovery
Thanks
Stumbled upon http://www.internetguru.com.au/igblog-127.html , an old blog post which in turn links to http://www.rpm.org/hintskinks/repairdb/ Both might be of interest Best regards Sylvester Lykkehus --------------------------------------------------------------------- To unsubscribe, e-mail: opensuse-factory+unsubscribe@opensuse.org For additional commands, e-mail: opensuse-factory+help@opensuse.org
2007/9/24, Sylvester Lykkehus <zly@solidonline.dk>:
Juan Erbes wrote:
2007/9/23, Patrick Shanahan <ptilopteri@gmail.com>:
* Juan Erbes <jerbes@gmail.com> [09-23-07 09:57]:
How can I edit the rpmdb to remove the references to all the packages that are not installed. In the rpmdb appear as installed about 4 different versions from the same package. man rpm search for rebuilddb
rpm --rebuilddb [as root]
Yes, I make it many times a day, but it not resolves the problem. The rebuilddb does not remove the references to the old packages do'nt present in the system (upgraded many times). For example now I has rebuilding the rpmdb, and it terminated with:
rpmdb: page 851: illegal page type or format rpmdb: PANIC: Argumento inválido error: db4 error(-30977) from dbcursor->c_get: DB_RUNRECOVERY: Fatal error, run database recovery rpmdb: PANIC: fatal region error detected; run recovery error: db4 error(-30977) from db->close: DB_RUNRECOVERY: Fatal error, run database recovery rpmdb: PANIC: fatal region error detected; run recovery error: db4 error(-30977) from dbenv->close: DB_RUNRECOVERY: Fatal error, run database recovery
Thanks
Stumbled upon http://www.internetguru.com.au/igblog-127.html , an old blog post which in turn links to http://www.rpm.org/hintskinks/repairdb/
Both might be of interest
Thanks for the info. But it's not what I need, because any repair system not removes the references to old packages who causes the problem. They appear about 4 o 5 previous versions from the same package in the rpmdb, and I will cleanup it. Regards --------------------------------------------------------------------- To unsubscribe, e-mail: opensuse-factory+unsubscribe@opensuse.org For additional commands, e-mail: opensuse-factory+help@opensuse.org
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 The Monday 2007-09-24 at 09:05 -0300, Juan Erbes wrote:
Thanks for the info. But it's not what I need, because any repair system not removes the references to old packages who causes the problem. They appear about 4 o 5 previous versions from the same package in the rpmdb, and I will cleanup it.
Make sure those packages are not really installed, too. - -- Cheers, Carlos E. R. -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.5 (GNU/Linux) Comment: Made with pgp4pine 1.76 iD8DBQFG969GtTMYHG2NR9URAmLoAJwP46I4AnEZ35D27k9FOo/eHQIQQQCfdpqY sitlCNEeqhYfbvm4AkBMbCc= =l8k7 -----END PGP SIGNATURE----- --------------------------------------------------------------------- To unsubscribe, e-mail: opensuse-factory+unsubscribe@opensuse.org For additional commands, e-mail: opensuse-factory+help@opensuse.org
2007/9/24, Carlos E. R. <robin.listas@telefonica.net>:
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1
The Monday 2007-09-24 at 09:05 -0300, Juan Erbes wrote:
Thanks for the info. But it's not what I need, because any repair system not removes the references to old packages who causes the problem. They appear about 4 o 5 previous versions from the same package in the rpmdb, and I will cleanup it.
Make sure those packages are not really installed, too.
Some updates was made via yast, other via smart, and the most of them via the command rpm -Uh --replacepkgs, and in the last case, the references to the old packages must be dissapear. Regards --------------------------------------------------------------------- To unsubscribe, e-mail: opensuse-factory+unsubscribe@opensuse.org For additional commands, e-mail: opensuse-factory+help@opensuse.org
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 The Monday 2007-09-24 at 20:11 -0300, Juan Erbes wrote:
Make sure those packages are not really installed, too.
Some updates was made via yast, other via smart, and the most of them via the command rpm -Uh --replacepkgs, and in the last case, the references to the old packages must be dissapear.
In the end, all those methods call the rpm program to apply the install/update/removal. So, if rpm says there are three versions of a certain package, chances are that all three are installed, one on top of the other. What I propose is that you try to remove all three versions of the rpm, then reinstall the last one - even if that means dozens of them. You can make an script. - -- Cheers, Carlos E. R. -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.5 (GNU/Linux) Comment: Made with pgp4pine 1.76 iD8DBQFG+E1ZtTMYHG2NR9URAuW9AJwNDrrtQ4PM+Th+/hdaPOlEP2Ek+QCfW2o+ sfi45qqDABBUEZaLfMbz5WY= =M2gA -----END PGP SIGNATURE----- --------------------------------------------------------------------- To unsubscribe, e-mail: opensuse-factory+unsubscribe@opensuse.org For additional commands, e-mail: opensuse-factory+help@opensuse.org
2007/9/24, Carlos E. R. <robin.listas@telefonica.net>:
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1
The Monday 2007-09-24 at 20:11 -0300, Juan Erbes wrote:
Make sure those packages are not really installed, too.
Some updates was made via yast, other via smart, and the most of them via the command rpm -Uh --replacepkgs, and in the last case, the references to the old packages must be dissapear.
In the end, all those methods call the rpm program to apply the install/update/removal. So, if rpm says there are three versions of a certain package, chances are that all three are installed, one on top of the other.
What I propose is that you try to remove all three versions of the rpm, then reinstall the last one - even if that means dozens of them. You can make an script.
- --
I will cleanup the db that only appear the last version of the installed packages. For example in the last attempt to upgrade via smart, after rebuilding the rpmdb I got: Son necesarios 1636.8MB archivos de paquete.Se liberarán 2218.3MB. ¿Confirmar cambios? (S/n): s Ejecutando transacción... error: tack-5.6-34 necesita ncurses = 5.6-34 error: ncurses-devel-5.6-24 necesita ncurses = 5.6-24 error: ncurses-devel-5.6-37 necesita ncurses = 5.6-37 error: tack-5.6-37 necesita ncurses = 5.6-37 error: ncurses-devel-5.6-36 necesita ncurses = 5.6-36 error: tack-5.6-34 necesita ncurses = 5.6-34 error: ncurses-devel-5.6-24 necesita ncurses = 5.6-24 error: ncurses-devel-5.6-37 necesita ncurses = 5.6-37 error: tack-5.6-37 necesita ncurses = 5.6-37 error: ncurses-devel-5.6-36 necesita ncurses = 5.6-36 Guardando caché... In this case do'nt crashed the rpmdb, but You can see the incoherencies from the db. --------------------------------------------------------------------- To unsubscribe, e-mail: opensuse-factory+unsubscribe@opensuse.org For additional commands, e-mail: opensuse-factory+help@opensuse.org
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 The Monday 2007-09-24 at 21:14 -0300, Juan Erbes wrote:
In the end, all those methods call the rpm program to apply the install/update/removal. So, if rpm says there are three versions of a certain package, chances are that all three are installed, one on top of the other.
What I propose is that you try to remove all three versions of the rpm, then reinstall the last one - even if that means dozens of them. You can make an script.
I will cleanup the db that only appear the last version of the installed packages. For example in the last attempt to upgrade via smart, after rebuilding the rpmdb I got:
Son necesarios 1636.8MB archivos de paquete.Se liberarán 2218.3MB.
¿Confirmar cambios? (S/n): s
Ejecutando transacción... error: tack-5.6-34 necesita ncurses = 5.6-34 error: ncurses-devel-5.6-24 necesita ncurses = 5.6-24 error: ncurses-devel-5.6-37 necesita ncurses = 5.6-37 error: tack-5.6-37 necesita ncurses = 5.6-37 error: ncurses-devel-5.6-36 necesita ncurses = 5.6-36 error: tack-5.6-34 necesita ncurses = 5.6-34 error: ncurses-devel-5.6-24 necesita ncurses = 5.6-24 error: ncurses-devel-5.6-37 necesita ncurses = 5.6-37 error: tack-5.6-37 necesita ncurses = 5.6-37 error: ncurses-devel-5.6-36 necesita ncurses = 5.6-36 Guardando caché...
In this case do'nt crashed the rpmdb, but You can see the incoherencies from the db.
No, I don't see incoherencies. I see that it says, for instance, that you have ncurses-devel-5.6-36 which requires also ncurses of version 5.6-36. And a lot more, but no incoherencies. What I propose is that you remove manually ncurses-devel-5.6-36 ncurses-devel-5.6-37 ncurses-devel-5.6-24 ncurses-devel-5.6-36 ncurses-devel-5.6-37 ncurses-devel-5.6-24 ncurses-devel-5.6-24, all of them, using the command line rpm. - -- Cheers, Carlos E. R. -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.5 (GNU/Linux) Comment: Made with pgp4pine 1.76 iD8DBQFG+FYetTMYHG2NR9URAtDfAJ0XrI86bNJ0hBG1ni2Yghy3yYxUQQCePG0L sIS/ooTclFbL8HF0WcjIOC8= =UIRM -----END PGP SIGNATURE-----
participants (4)
-
Carlos E. R.
-
Juan Erbes
-
Patrick Shanahan
-
Sylvester Lykkehus