Cara Membangun semula Pangkalan Data RPM yang Memusnahkan Di CentOS

Cara Membangun semula Pangkalan Data RPM yang Memusnahkan Di CentOS

The Rpm pangkalan data terdiri daripada fail di bawah /var/lib/rpm/ direktori dalam Centos dan pengagihan linux perusahaan lain seperti RHEL, opensuse, Oracle Linux Dan banyak lagi.

Jika Rpm Pangkalan data rosak, Rpm Tidak akan berfungsi dengan betul, oleh itu kemas kini tidak boleh digunakan untuk sistem anda, anda menghadapi ralat semasa mengemas kini pakej pada sistem anda melalui Pengurus Pakej Yum. Senario kes terburuk tidak dapat menjalankan rpm dan yum perintah berjaya.

Baca juga: 20 Contoh Praktikal Perintah RPM di Linux

Terdapat beberapa faktor yang boleh membawa kepada rasuah pangkalan data RPM, seperti urus niaga sebelumnya yang tidak lengkap, pemasangan perisian pihak ketiga tertentu, mengeluarkan pakej tertentu, dan banyak lagi.

Dalam artikel ini, kami akan menunjukkan cara membina semula pangkalan data RPM yang rosak; Dengan cara ini anda boleh pulih dari rasuah pangkalan data RPM di CentOS. Ini memerlukan keistimewaan pengguna root, jika tidak, gunakan perintah sudo untuk mendapatkan keistimewaan tersebut.

Membangun semula pangkalan data RPM yang rosak di CentOS

Mula pertama dengan membuat sandaran pangkalan data RPM semasa anda sebelum meneruskan (anda mungkin memerlukannya pada masa akan datang), menggunakan arahan berikut.

# mkdir /backups / # tar -zcvf /backups /rpmdb -$ (tarikh +"%d%m%y").tar.GZ/VAR/LIB/RPM 
Pangkalan Data RPM Backup

Seterusnya, sahkan integriti fail metadata pakej induk /var/lib/rpm/pakej; ini adalah fail yang perlu dibina semula, tetapi terlebih dahulu mengeluarkan /var/lib/rpm/__ db* fail untuk mengelakkan kunci basi menggunakan arahan berikut.

# rm -f/var/lib/rpm/__ db* #/usr/lib/rpm/rpmdb_verify/var/lib/rpm/pakej 
Sahkan pangkalan data RPM

Sekiranya operasi di atas gagal, bermakna anda masih menghadapi kesilapan, maka anda harus membuang dan memuatkan pangkalan data baru. Juga sahkan integriti fail pakej yang baru dimuatkan seperti berikut.

# Pakej Pakej CD/VAR/LIB/RPM/ # MV.Kembali #/usr/lib/rpm/rpmdb_dump pakej.Kembali | /usr/lib/rpm/rpmdb_load pakej #/usr/lib/rpm/rpmdb_verify bungkusan 
Dump dan memuatkan pangkalan data RPM

Sekarang untuk memeriksa tajuk pangkalan data, pertanyaan semua pakej yang dipasang menggunakan -q dan -a bendera, dan cuba berhati -hati memerhatikan apa -apa kesalahan yang dihantar ke Stderror.

# rpm -qa>/dev/null #output dibuang untuk membolehkan percetakan kesilapan sahaja 

Akhir sekali, membina semula pangkalan data RPM menggunakan arahan berikut, -vv Pilihan membolehkan memaparkan banyak maklumat debugging.

# rpm -vv --rebuilddb 
Membangun semula pangkalan data RPM

Gunakan alat DCRPM untuk mengesan dan membetulkan pangkalan data RPM

Kami juga menemui dcrpm (mengesan dan betul RPM) Alat baris arahan yang digunakan untuk mengenal pasti dan membetulkan isu -isu yang terkenal dengan rasuah pangkalan data RPM. Ia adalah alat yang mudah dan mudah digunakan yang boleh anda jalankan tanpa pilihan. Untuk penggunaan yang berkesan dan boleh dipercayai, anda harus menjalankannya secara teratur melalui Cron.

Anda boleh memasangnya dari sumber; muat turun pokok sumber dan pasangkannya menggunakan Persediaan.py (yang sepatutnya merebut psutil ketergantungan dari pypi juga), seperti yang ditunjukkan.

# git clone https: // github.com/facebookincubator/dcrpm.git # cd dcrpm # persediaan python.pemasangan py 

Sebaik sahaja anda memasang dcrpm, jalankan seperti yang ditunjukkan.

# dcrpm 

Akhirnya, cubalah menjalankan perintah rpm atau yum yang gagal lagi untuk melihat apakah semuanya berjalan lancar.

DCRPM GitHub Repository: https: // github.com/facebookincubator/dcrpm
Anda boleh mendapatkan lebih banyak maklumat dari halaman pemulihan pangkalan data RPM.

Itu sahaja! Dalam artikel ini, kami telah menjelaskan cara membina semula pangkalan data RPM yang rosak di CentOS. Untuk mengemukakan sebarang pertanyaan atau kongsi pendapat anda mengenai panduan ini, gunakan borang maklum balas di bawah.