GNU/Linux >> Belajar Linux >  >> Cent OS

Cara Memulihkan File Paket rpm yang Dihapus (perpustakaan, file konfigurasi) di CentOS/RHEL 7

Pertanyaan :File atau direktori terkait sistem tertentu telah salah dihapus/dihapus. Bagaimana memulihkannya?

Dalam hal ini, file sistem berikut tidak ada:
/etc/nsswitch.conf
/lib64/libc.so.6

Identifikasi file/direktori sistem mana yang telah dihapus

Langkah berikut bergantung pada database RPM (rpmdb) untuk mengidentifikasi file dan direktori yang hilang. Oleh karena itu, prosedur ini hanya berlaku untuk file/direktori yang diinstal melalui paket RPM.

Lakukan hal berikut untuk mengidentifikasi file/direktori mana yang salah dihapus:

# for i in `rpm -qa | sort`
do 
    echo "### $i: 'rpm -Vv $i' >> 'hostname'-'date %+F-%T'-rpm-Vv.txt
done

Perintah di atas melakukan inventarisasi semua file/direktori berdasarkan kumpulan paket yang diinstal saat ini. Meninjau file yang dihasilkan menghasilkan output seperti berikut:

# cat localhost-2020-12-11-11:45:27-rpm-Vv.txt

### glibc-2.12-1.212.0.3.el6_10.3.x86_64: ......... c /etc/gai.conf
......... c /etc/ld.so.conf
......... /etc/ld.so.conf.d
missing c /etc/nsswitch.conf
......... c /etc/rpc
......... /lib64/ld-2.12.so
......... /lib64/ld-linux-x86-64.so.2
......... /lib64/libBrokenLocale-2.12.so
......... /lib64/libBrokenLocale.so.1
......... /lib64/libSegFault.so
......... /lib64/libanl-2.12.so
......... /lib64/libanl.so.1
......... /lib64/libc-2.12.so
missing /lib64/libc.so.6
......... /lib64/libcidn-2.12.so
......... /lib64/libcidn.so.1
......... /lib64/libcrypt-2.12.so
......... /lib64/libcrypt.so.1
......... /lib64/libdl-2.12.so
......... /lib64/libdl.so.2
......... /lib64/libm-2.12.so
......... /lib64/libm.so.6
...
......... /usr/sbin/iconvconfig.x86_64
......... /usr/share/doc/glibc-2.12
......... d /usr/share/doc/glibc-2.12/BUGS
......... d /usr/share/doc/glibc-2.12/CONFORMANCE
......... d /usr/share/doc/glibc-2.12/COPYING
......... d /usr/share/doc/glibc-2.12/COPYING.LIB
......... d /usr/share/doc/glibc-2.12/FAQ
......... d /usr/share/doc/glibc-2.12/INSTALL
......... d /usr/share/doc/glibc-2.12/LICENSES
......... d /usr/share/doc/glibc-2.12/NEWS
......... d /usr/share/doc/glibc-2.12/NOTES
......... d /usr/share/doc/glibc-2.12/PROJECTS
......... d /usr/share/doc/glibc-2.12/README
......... d /usr/share/doc/glibc-2.12/README.hesiod
......... d /usr/share/doc/glibc-2.12/README.libm
......... /var/cache/ldconfig

Dari output di atas, terlihat bahwa file /lib64/libc.so.6 yang diinstal dari paket glibc-2.12-1.212.0.3.el6_10.3.x86_64 hilang dari sistem. Tinjau seluruh log untuk mengidentifikasi semua file/direktori yang hilang dan paket asalnya. Lihat halaman manual rpm untuk definisi atribut file validasi rpm.

# man rpm

Instal ulang/pulihkan file/direktori yang hilang

Setelah mengidentifikasi daftar paket yang file/direktorinya hilang, instal ulang versi paket tersebut ke sistem yang terpengaruh. Misalnya:

# yum reinstall glibc-2.12-1.212.0.3.el6_10.3.x86_64

Setelah selesai, lakukan Langkah 1 lagi untuk mengonfirmasi bahwa file/direktori yang sebelumnya dihapus tidak lagi hilang, mis.:

### glibc-2.12-1.212.0.3.el6_10.3.x86_64: ......... c /etc/gai.conf
......... c /etc/ld.so.conf
......... /etc/ld.so.conf.d
......... c /etc/nsswitch.conf 
......... c /etc/rpc
......... /lib64/ld-2.12.so
......... /lib64/ld-linux-x86-64.so.2
......... /lib64/libBrokenLocale-2.12.so
......... /lib64/libBrokenLocale.so.1
......... /lib64/libSegFault.so
......... /lib64/libanl-2.12.so
......... /lib64/libanl.so.1
......... /lib64/libc-2.12.so
......... /lib64/libc.so.6 
......... /lib64/libcidn-2.12.so
......... /lib64/libcidn.so.1
......... /lib64/libcrypt-2.12.so
......... /lib64/libcrypt.so.1
......... /lib64/libdl-2.12.so
......... /lib64/libdl.so.2
......... /lib64/libm-2.12.so
......... /lib64/libm.so.6
...
......... /usr/sbin/iconvconfig.x86_64
......... /usr/share/doc/glibc-2.12
......... d /usr/share/doc/glibc-2.12/BUGS
......... d /usr/share/doc/glibc-2.12/CONFORMANCE
......... d /usr/share/doc/glibc-2.12/COPYING
......... d /usr/share/doc/glibc-2.12/COPYING.LIB
......... d /usr/share/doc/glibc-2.12/FAQ
......... d /usr/share/doc/glibc-2.12/INSTALL
......... d /usr/share/doc/glibc-2.12/LICENSES
......... d /usr/share/doc/glibc-2.12/NEWS
......... d /usr/share/doc/glibc-2.12/NOTES
......... d /usr/share/doc/glibc-2.12/PROJECTS
......... d /usr/share/doc/glibc-2.12/README
......... d /usr/share/doc/glibc-2.12/README.hesiod
......... d /usr/share/doc/glibc-2.12/README.libm
......... /var/cache/ldconfig
...


Cent OS
  1. CentOS / RHEL :Cara memulihkan / memulihkan grup volume yang dihapus di LVM

  2. Cara mengekstrak file RAR di CentOS/RHEL 7 dan 8

  3. Cara menghapus konfigurasi Jaringan ikatan di CentOS/RHEL

  1. Bagaimana cara mengekstrak paket 7z di CentOS/RHEL/Fedora?

  2. CentOS / RHEL 6,7 :Bagaimana memulihkan instalasi paket yum yang terputus

  3. Bagaimana memulihkan dari entri root yang dihapus di file /etc/shadow dan/atau /etc/passwd di CentOS / RHEL 6

  1. Cara Memasang File RPM Di OS Linux (CentOS, RHEL, &Fedora)

  2. Cara menginstal paket RPM ke direktori berbeda di CentOS/RHEL/Fedora

  3. Cara Menginstal paket Mokutil di CentOS/RHEL 7 dan 8