Cara membangun kembali database rpm yang rusak di centos

Cara membangun kembali database rpm yang rusak di centos

Itu RPM Basis data terdiri dari file di bawah /var/lib/rpm/ direktori di Centos dan distribusi Linux perusahaan lainnya seperti RHEL, OpenSuse, Oracle Linux dan lebih banyak lagi.

Jika RPM Database rusak, RPM Tidak akan berfungsi dengan benar, sehingga pembaruan tidak dapat diterapkan pada sistem Anda, Anda mengalami kesalahan saat memperbarui paket pada sistem Anda melalui Yum Package Manager. Skenario kasus terburuk adalah tidak dapat menjalankan rpm apa pun dan yum perintah berhasil.

Baca juga: 20 Contoh Praktis Perintah RPM di Linux

Ada sejumlah faktor yang dapat menyebabkan korupsi basis data RPM, seperti transaksi sebelumnya yang tidak lengkap, pemasangan perangkat lunak pihak ketiga tertentu, menghapus paket tertentu, dan banyak lainnya.

Dalam artikel ini, kami akan menunjukkan cara membangun kembali database RPM yang rusak; Dengan cara ini Anda dapat pulih dari korupsi database RPM di Centos. Ini membutuhkan hak istimewa pengguna root, jika tidak, gunakan perintah sudo untuk mendapatkan hak istimewa tersebut.

Membangun kembali database RPM yang rusak di Centos

Mulailah pertama dengan mencadangkan database RPM Anda saat ini sebelum melanjutkan (Anda mungkin membutuhkannya di masa mendatang), menggunakan perintah berikut.

# mkdir /cadangan / # tar -zcvf /cadangan /rpmdb -$ (tanggal +"%d%m%y").ter.GZ/var/lib/rpm 
Database RPM Cadangan

Selanjutnya, verifikasi integritas file metadata paket master /var/lib/rpm/paket; Ini adalah file yang perlu dibangun kembali, tetapi pertama -tama hapus /var/lib/rpm/__ db* file untuk mencegah kunci basi menggunakan perintah berikut.

# rm -f/var/lib/rpm/__ db* #/usr/lib/rpm/rpmdb_verify/var/lib/rpm/paket/paket 
Verifikasi database RPM

Jika operasi di atas gagal, artinya Anda masih mengalami kesalahan, maka Anda harus membuang dan memuat database baru. Juga verifikasi integritas file paket yang baru dimuat sebagai berikut.

# CD/VAR/LIB/RPM/ # Paket Paket MV.Back #/USR/LIB/RPM/RPMDB_DUMP Paket.kembali | /USR/LIB/RPM/RPMDB_LOAD Paket #/usr/lib/rpm/rpmdb_verify Paket 
Buang buang buang buang dan muat RPM

Sekarang untuk memeriksa header database, permintaan semua paket yang diinstal menggunakan -Q Dan -A bendera, dan cobalah untuk mengamati kesalahan apa pun dengan cermat Stderror.

# rpm -qa>/dev/null #output dibuang untuk mengaktifkan pencetakan kesalahan saja 

Last but not least, membangun kembali database RPM menggunakan perintah berikut, -vv Opsi memungkinkan untuk menampilkan banyak informasi debugging.

# rpm -vv --rebuilddb 
Bangun kembali database RPM

Gunakan alat DCRPM untuk mendeteksi dan memperbaiki basis data RPM

Kami juga menemukan DCRPM (Deteksi dan benar RPM) Alat baris perintah yang digunakan untuk mengidentifikasi dan memperbaiki masalah terkenal yang berkaitan dengan korupsi database RPM. Ini adalah alat sederhana dan mudah digunakan yang dapat Anda jalankan tanpa opsi. Untuk penggunaan yang efektif dan andal, Anda harus menjalankannya secara teratur melalui Cron.

Anda dapat menginstalnya dari sumber; Unduh pohon sumber dan pasang menggunakannya mempersiapkan.py (yang harus meraih psutil ketergantungan dari pypi juga), seperti yang ditunjukkan.

# git clone https: // github.com/facebookIncubator/dcrpm.GIT # CD DCRPM # Python Setup.py instal 

Setelah Anda menginstal DCRPM, Jalankan seperti yang ditunjukkan.

# DCRPM 

Akhirnya, cobalah untuk menjalankan perintah RPM atau YUM yang gagal lagi untuk melihat apakah semuanya berfungsi dengan baik.

DCRPM GITHUB Repositori: https: // github.com/facebookIncubator/dcrpm
Anda dapat menemukan informasi lebih lanjut dari halaman pemulihan database RPM.

Itu saja! Dalam artikel ini, kami telah menjelaskan cara membangun kembali database RPM yang rusak di Centos. Untuk mengajukan pertanyaan atau membagikan pemikiran Anda tentang panduan ini, gunakan formulir umpan balik di bawah ini.