GNU/Linux >> Znalost Linux >  >> Cent OS

Jak obnovit smazané soubory balíčků rpm (knihovny, konfigurační soubory) v CentOS/RHEL 7

Otázka :Některé soubory nebo adresáře související se systémem byly omylem odstraněny/smazány. Jak je obnovit?

V tomto případě chybí následující systémové soubory:
/etc/nsswitch.conf
/lib64/libc.so.6

Identifikujte, které systémové soubory/adresáře byly odstraněny

Následující krok spoléhá na databázi RPM (rpmdb) k identifikaci chybějících souborů a adresářů. Proto je postup použitelný pouze pro soubory/adresáře, které jsou instalovány prostřednictvím balíčku RPM.

Chcete-li zjistit, které soubory/adresáře byly chybně odstraněny, proveďte následující:

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

Výše uvedený příkaz provede inventarizaci všech souborů/adresářů na základě aktuálně nainstalované sady balíčků. Prohlížení výsledného souboru vytvoří výstup, jako je tento:

# 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

Z výše uvedeného výstupu je zřejmé, že soubor /lib64/libc.so.6 nainstalovaný z balíčku glibc-2.12-1.212.0.3.el6_10.3.x86_64 v systému chybí. Zkontrolujte celý protokol a identifikujte všechny chybějící soubory/adresáře a jejich původní balíčky. Definice atributů ověřovacího souboru rpm naleznete na manuálové stránce rpm.

# man rpm

Znovu nainstalujte/obnovte chybějící soubory/adresáře

Po identifikaci seznamu balíčků, pro které chybí soubory/adresáře, přeinstalujte tyto přesné verze balíčků do postiženého systému. Například:

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

Po dokončení proveďte znovu krok 1, abyste potvrdili, že dříve odstraněné soubory/adresáře již nechybí, např.:

### 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. Jak extrahovat balíček 7z v CentOS/RHEL/Fedora?

  2. Jak nainstalovat balíček RPM do jiného adresáře v CentOS/RHEL/Fedora

  3. Jak nainstalovat balíček Mokutil na CentOS/RHEL 7 a 8

  1. CentOS / RHEL :Jak obnovit/obnovit smazanou skupinu svazků v LVM

  2. CentOS / RHEL 6,7 :Jak obnovit přerušenou instalaci balíčku yum

  3. Jak se obnovit ze smazaného kořenového záznamu v souborech /etc/shadow a/nebo /etc/passwd v CentOS / RHEL 6

  1. Jak nainstalovat soubor RPM na OS Linux (CentOS, RHEL a Fedora)

  2. Jak extrahovat soubory RAR v CentOS/RHEL 7 a 8

  3. Jak odstranit propojení konfigurace sítě v CentOS/RHEL