Jak odbudować skorumpowaną bazę danych RPM w Centos
- 3775
- 517
- Juliusz Janicki
RPM baza danych składa się z plików w ramach /var/lib/rpm/ katalog w Centos oraz inne dystrybucje Linux Enterprise, takie jak Rhel, OpenSuse, Oracle Linux i więcej.
Jeśli RPM Baza danych jest uszkodzona, RPM nie będzie działać poprawnie, dlatego aktualizacje nie mogą być stosowane do twojego systemu, napotykasz błędy, aktualizując pakiety w systemie za pośrednictwem Yum Pack Manager. Najgorszym scenariuszem jest nie może uruchomić żadnego RPM i mniam Polecenia pomyślnie.
Przeczytaj także: 20 praktycznych przykładów polecenia RPM w Linux
Istnieje wiele czynników, które mogą prowadzić do uszkodzenia bazy danych RPM, takich jak niekompletne poprzednie transakcje, instalacja niektórych oprogramowania stron trzecich, usuwanie określonych pakietów i wiele innych.
W tym artykule pokażemy, jak odbudować skorumpowaną bazę danych RPM; W ten sposób możesz wyzdrowieć z korupcji bazy danych RPM w centro. Wymaga to uprawnień użytkownika root, w przeciwnym razie użyj polecenia sudo, aby uzyskać te uprawnienia.
Przebuduj uszkodzoną bazę danych RPM w centroosach
Najpierw zacznij od kopii zapasowej bieżącej bazy danych RPM przed kontynuowaniem (możesz jej potrzebować w przyszłości), używając następujących poleceń.
# mkdir /backups / # tar -zcvf /backups /rpmdb -$ (data +"%d%m%y").smoła.GZ/var/lib/rpmBaza danych kopii zapasowej RPM
Następnie sprawdź integralność pliku metadanych pakietu głównego /var/lib/rpm/pakiety; To jest plik, który wymaga odbudowy, ale najpierw usuń /var/lib/rpm/__ db* Pliki, aby zapobiec przestarzałym blokadom za pomocą następujących poleceń.
# rm -f/var/lib/rpm/__ db* #/usr/lib/rpm/rpmdb_verify/var/lib/rpm/pakietySprawdź bazę danych RPM
W przypadku awarii powyższej operacji, co oznacza, że nadal napotykasz błędy, powinieneś zrzucić i załadować nową bazę danych. Sprawdź także integralność pliku Pakiet świeżo załadowanych w następujący sposób.
# CD/var/lib/rpm/ # Pakiety Pakiety.Wstecz #/usr/lib/rpm/rpmdb_dump pakietów.Powrót | /usr/lib/rpm/rpmdb_load pakiety #/usr/lib/rpm/rpmdb_verify pakietyZrzucaj i załaduj bazę danych RPM
Teraz, aby sprawdzić nagłówki bazy danych, zapytaj wszystkie zainstalowane pakiety za pomocą -Q
I -A
flagi i staraj się uważnie obserwować wszelkie błędy wysyłane do Stderror.
# rpm -qa>/dev/null #output jest odrzucany, aby umożliwić tylko drukowanie błędów
Wreszcie odbuduj bazę danych RPM za pomocą następującego polecenia, -vv
Opcja pozwala na wyświetlanie wielu informacji o debugowaniu.
# rpm -vv --rebuilddbPrzebuduj bazę danych RPM
Użyj narzędzia DCRPM, aby wykryć i poprawić bazę danych RPM
Odkryliśmy również DCRPM (wykryć i poprawić RPM) Narzędzie wiersza poleceń używane do identyfikacji i poprawienia dobrze znanych problemów związanych z uszkodzeniem bazy danych RPM. Jest to proste i łatwe w użyciu narzędzie, które można uruchomić bez opcji. Aby uzyskać skuteczne i niezawodne użycie, powinieneś go regularnie uruchamiać za pośrednictwem Cron.
Możesz zainstalować go ze źródła; Pobierz drzewo źródłowe i zainstaluj je za pomocą organizować coś.py (który powinien złapać Psutil zależność od PYPI także), jak pokazano.
# git klon https: // github.com/Facebook Incubator/DCRPM.Git # cd dcrpm # Python konfiguracja.instalacja PY
Po zainstalowaniu DCRPM, Uruchom go tak, jak pokazano.
# dcrpm
Na koniec spróbuj ponownie uruchomić nieudane polecenie prędkości obrotowe lub Yum, aby sprawdzić, czy wszystko działa dobrze.
DCRPM GITHUB Repozytorium: https: // github.com/Facebook Incubator/DCRPM
Więcej informacji można znaleźć na stronie odzyskiwania bazy danych RPM.
To wszystko! W tym artykule wyjaśniliśmy, jak odbudować skorumpowaną bazę danych RPM w Centos. Aby zadawać pytania lub podzielić się swoimi przemyśleniami na temat tego przewodnika, użyj poniższego formularza opinii.
- « Remmina - bogate funkcje narzędzie do udostępniania zdalnego pulpitu dla Linux
- 10 najlepszych alternatyw Github dla hostów projektów open source »