之路教程 https://onitr oad .com
确定哪些系统文件/目录已被删除
以下步骤依赖于 RPM 数据库 (rpmdb) 来识别丢失的文件和目录。
因此,该过程仅适用于通过 RPM 包安装的文件/目录。
执行以下操作以确定哪些文件/目录已被错误删除:
# for i in `rpm -qa | sort` do echo "### $i: 'rpm -Vv $i' >> 'hostname'-'date %+F-%T'-rpm-Vv.txt done
上面的命令根据当前安装的软件包集执行所有文件/目录的列表。
查看生成的文件会产生如下输出:
# 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/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 ... ......... /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
从上面的输出中,很明显系统中缺少从包 glibc-2.12-1.212.0.3.el6_10.3.x86_64 安装的文件 /lib64/libc.so.6.
查看整个日志以识别所有丢失的文件/目录及其原始包。
有关 rpm 验证文件属性的定义,请参阅 rpm 手册页。
# man rpm
重新安装/恢复丢失的文件/目录
确定缺少文件/目录的软件包列表后,将这些确切的软件包版本重新安装到受影响的系统。
例如:
# yum reinstall glibc-2.12-1.212.0.3.el6_10.3.x86_64
完成后,再次执行步骤 1 以确认先前删除的文件/目录不再丢失,例如:
### 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/libanl.so.1 ... ......... /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 ...
问题
某些与系统相关的文件或者目录被错误地移除/删除。
如何恢复它们?
比如现在的情况是缺少以下系统文件:
/etc/nsswitch.conf
/lib64/libc.so.6
日期:2020-09-17 00:12:36 来源:oir作者:oir