91 lines
2.8 KiB
Markdown
91 lines
2.8 KiB
Markdown
# Packages
|
|
|
|
## Dependency Resolution Failure / Duplicate Packages
|
|
If e.g. an update attempt ends up in something like
|
|
```bash
|
|
yum update
|
|
|
|
Loaded plugins: langpacks, search-disabled-repos
|
|
Resolving Dependencies
|
|
...
|
|
--> Finished Dependency Resolution
|
|
Error: Package: sssd-dbus-1.16.5-10.el7_9.12.x86_64 (@rhel7)
|
|
Requires: sssd-common = 1.16.5-10.el7_9.12
|
|
Removing: sssd-common-1.16.5-10.el7_9.12.x86_64 (@rhel7)
|
|
sssd-common = 1.16.5-10.el7_9.12
|
|
Updated By: sssd-common-1.16.5-10.el7_9.15.x86_64 (rhel7)
|
|
sssd-common = 1.16.5-10.el7_9.15
|
|
Removing: sssd-common-1.16.5-10.el7_9.13.x86_64 (@rhel7)
|
|
...
|
|
```
|
|
|
|
best check if one of these packages is twice listed as installed:
|
|
```bash
|
|
rpm -qa sssd-common
|
|
sssd-common-1.16.5-10.el7_9.13.x86_64
|
|
sssd-common-1.16.5-10.el7_9.12.x86_64
|
|
```
|
|
Now you can try to remove one or both packages, maybe you need to remove also packages which depend on this one. Then install it again.
|
|
|
|
## Berkley DB Issue
|
|
|
|
### BDB0087 DB_RUNRECOVERY
|
|
|
|
If the error message is
|
|
```bash
|
|
error: rpmdb: BDB0113 Thread/process 21389/140229907089216 failed: BDB1507 Thread died in Berkeley DB library
|
|
error: db5 error(-30973) from dbenv->failchk: BDB0087 DB_RUNRECOVERY: Fatal error, run database recovery
|
|
error: cannot open Packages index using db5 - (-30973)
|
|
error: cannot open Packages database in /var/lib/rpm
|
|
CRITICAL:yum.main:
|
|
|
|
Error: rpmdb open failed
|
|
```
|
|
|
|
then do
|
|
|
|
```bash
|
|
mv /var/lib/rpm/__db* /tmp
|
|
yum clean all
|
|
```
|
|
|
|
### BDB0091 DB_VERSION_MISMATCH
|
|
|
|
For
|
|
```bash
|
|
RPM: error: db5 error(-30969) from dbenv->open: BDB0091 DB_VERSION_MISMATCH: Database environment version mismatch
|
|
RPM: error: cannot open Packages index using db5 - (-30969)
|
|
RPM: error: cannot open Packages database in /var/lib/rpm
|
|
Error: Could not run transaction.
|
|
```
|
|
do
|
|
|
|
```bash
|
|
yum clean all
|
|
rpm --rebuilddb
|
|
```
|
|
|
|
|
|
## Rebuild RPM Database
|
|
When `yum`, `dnf` or `rpm` hang or have errors pointing to a problem with their database, then follow the
|
|
[Guide to rebuild a corrupted RPM database](https://www.tecmint.com/rebuild-corrupted-rpm-database-in-centos/)
|
|
|
|
## RPM Integrity Check
|
|
The integratity of installed package can be checked with `rpm`:
|
|
|
|
```bash
|
|
rpm -Vv pciutils
|
|
......... /usr/sbin/lspci
|
|
......... /usr/sbin/setpci
|
|
......... /usr/sbin/update-pciids
|
|
......... /usr/share/doc/pciutils-3.5.1
|
|
......... d /usr/share/doc/pciutils-3.5.1/COPYING
|
|
......... d /usr/share/doc/pciutils-3.5.1/ChangeLog
|
|
......... d /usr/share/doc/pciutils-3.5.1/README
|
|
......... d /usr/share/doc/pciutils-3.5.1/pciutils.lsm
|
|
......... d /usr/share/man/man8/lspci.8.gz
|
|
......... d /usr/share/man/man8/setpci.8.gz
|
|
......... d /usr/share/man/man8/update-pciids.8.gz
|
|
```
|
|
|
|
Running `rpm -Vav` will verify **all** installed packages and take a long time. See the man page for details on the output format. Changes, especially in configuration files, can be normal, though. |