记一次/usr/lib文件误删事故-创新互联
1.生产环境无网络
2.准备用rpm安装zabbix_agent程序
3.强制安装了zabbix_agent更新依赖,引起Failed to initialize NSS library
4.企图恢复某些依赖包操作失误,导致误删了文件
由于生产环境需要安装zabbix_agentd去做到某些监控效果,但是生产环境属于无网络环境,多种办法尝试后,最终以rpm包方式进行强制安装,结果引起了Failed to initialize NSS library,是依赖版本不一致导致的,强制安装引起nss-util-3.79.0-1.el7_9.x86_64相关的依赖文件过高,于是想着怎么去恢复。
网上基本都是按照这些步骤走的:
先获取nss-util-3.36.0-1.el7_5.x86_64.rpm,nspr-4.19.0-1.el7_5.x86_64.rpm 包:
下载连接参考: https://pkgs.org/download/nss-util
- rpm2cpio nss-util-3.36.0-1.el7_5.x86_64.rpm | cpio -idmv
- yes | cp ./usr/lib64/libnssutil3.so /lib64/libnssutil3.so
- rpm2cpio nspr-4.19.0-1.el7_5.x86_64.rpm | cpio -idmv
- yes | cp -R ./usr/lib64/* /usr/lib64/
- export LD_PRELOAD=/usr/lib64/libnspr4.so写入/etc/profile
- source /etc/profile
由于生成的文件结构跟只差一个.,确实比较容易看错,多次尝试下果然还是失误了,在按下 rm -rf 的时候迅速ctrl c,结果还是导致了事故的发生,/usr/lib /usr/lib64被误删了
简单的检查了一下,现状是这样的:
1 无法从别的服务器发起ssh了
2 命令少了很多比如python grep history等幸好还有java
3.现有业务没有受到影响,还是在正常跑着
恢复的思路,肯定是着手从相同内核服务器拷贝这些lib文件,scp,ftp尝试了下是不行了,还好还有java,就从网上找了一个现成的java传文件程序,调整了一下就开始传输了。
lib和lib64里的文件恢复后就好多了,ssh命令也终于恢复。
总结
- 慎用rpm -ivh --force --nodeps,执行操作时要对相关文件进行备份。
无视依赖强制安装可以达到目的,但是会有一些难以预料的后果。 - 看到操作/usr/下面的文件时一定要三思,这一次也终于是见识到这个威力了,里面跑的基本都是重要程序,随便动一动都会影响整个系统。
- 不小心误删了一定要考虑有哪些途径可以进行文件传输,找相同内核的系统去恢复这些文件。
- 遇到事情不能慌张,感觉自己状态不对时要迅速求援,避免一错再错。
Failed to initialize NSS library报错参考链接:https://www.guodaxia.fun/2021/12/06/rpm%E6%95%85%E9%9A%9C%EF%BC%9Afailed-to-initialize-nss-library/
java传输文件参考连接:https://blog.csdn.net/u010154380/article/details/78710840
你是否还在寻找稳定的海外服务器提供商?创新互联www.cdcxhl.cn海外机房具备T级流量清洗系统配攻击溯源,准确流量调度确保服务器高可用性,企业级服务器适合批量采购,新人活动首月15元起,快前往官网查看详情吧
分享标题:记一次/usr/lib文件误删事故-创新互联
网站地址:http://scyanting.com/article/dodcps.html