Cara Membangun semula Pangkalan Data RPM yang Memusnahkan Di CentOS
- 2721
- 776
- Clay Weber
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/RPMPangkalan 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/pakejSahkan 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 bungkusanDump 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 --rebuilddbMembangun 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.
- « REMMINA - Ciri alat perkongsian desktop jauh yang kaya untuk linux
- 10 alternatif github terbaik untuk menjadi tuan rumah projek sumber terbuka »