【系统救援】/lib64/libnssutil3.so: version `NSSUTIL_3.59‘ not found (required by /lib64/libnss3.so)
目录
问题现象
解决方案分析
解决方案
善后
FAQ
问题现象
今天开发同事说xx服务器(CentOS7.9)无法通过ssh登录了,尝试访问报错如下:
ssh_exchange_identification: read: Connection reset by peer
于是,直接访问虚机管理平台通过console访问。发现lib库被污染了,不只是无法远程访问sshd,连scp、rpm、yum等命令也无法使用。
开发同事也不晓得自己搞了啥,查找历史命令发现:rpm -ivh ./*.rpm --nodeps --force,应该是强制安装了一些rpm导致的。
解决方案分析
1、了解到是强制安装某些rpm导致lib库被污染,强制卸载掉也OK,但是rpm命令无法使用。
2、找一台同版本操作系统的服务器,将libnssutil3.so拷贝到问题机的/lib64下,但是scp无法使用,同时有无法远程访问到该机,且rpm、yum也不能使用,简直成了孤岛。
解决方案
挂载ISO,进入到“救援模式”:
1、cd /mnt/sysimage
2、cp -a usr/lib64{,.bak} #--- /lib64是/usr/lib64的软链接
3、cp /lib64/*.so usr/lib64
4、chroot /mnt/sysimage #--- 切到系统中验证是否问题得到解决
5、执行rpm、yum等命令验证,如果还有报错,可能有部分非*.so的动态链接库文件未得到更新,例如:执行yum时报:libcurl.so.4: cannot open shared object file: No such file or directory,则执行cp /lib64/libcurl.so.4.3.0 usr/lib64/即可
6、重启系统,然后再次登录成功。
善后
7、为了以绝后患,此时可以执行yum upgrade更新一下系统,极可能会报“多版本冲突”问题:(原因就是上面所说,强制安装了一些lib库的包,现在通过手动更新lib库,部分系统命令不报错了而已,不保证其他命令不报错,所以还是要卸载掉这些包)
Error: Multilib version problems found. This often means that the root
cause is something else and multilib version checking is just
pointing out that there is a problem. Eg.:……
Protected multilib versions: systemd-libs-219-78.el7_9.7.i686 != systemd-libs-219-78.el7_9.5.x86_64
Error: Protected multilib versions: expat-2.1.0-15.el7_9.i686 != expat-2.1.0-14.el7_9.x86_64
Error: Protected multilib versions: expat-2.1.0-15.el7_9.i686 != expat-2.1.0-12.el7.x86_64
Error: Protected multilib versions: xz-libs-5.2.2-2.el7_9.i686 != xz-libs-5.2.2-1.el7.x86_64
Error: Protected multilib versions: nss-softokn-freebl-3.79.0-4.el7_9.i686 != nss-softokn-freebl-3.67.0-3.el7_9.x86_64
Error: Protected multilib versions: nss-softokn-freebl-3.79.0-4.el7_9.i686 != nss-softokn-freebl-3.53.1-6.el7_9.x86_64卸载命令(最好用yum):yum erase systemd-libs.i686 expat.i686 xz-libs.i686 nss-softokn-freebl.i686
FAQ
在使用yum更新期间导致yum进程异常退出了,报:There are unfinished transactions remaining. You might consider running yum-complete-transaction, or "yum-complete-transaction --cleanup-only" and "yum history redo last", first to finish them. If those don't work you'll have to try removing/installing packages by hand (maybe package-cleanup can help).
The program yum-complete-transaction is found in the yum-utils package.解决:
根据提示,执行命令:yum-complete-transaction或者yum-complete-transaction --cleanup-only,yum-complete-transaction来自于yum-utils package,如果没有安装,需要执行yum -y install yum-utils进行安装。
【系统救援】/lib64/libnssutil3.so: version `NSSUTIL_3.59‘ not found (required by /lib64/libnss3.so)相关推荐
- 解决 /lib64/libc.so.6: version `GLIBC_2.18' not found (required by /lib64/libstdc++.so.6)
背景信息: https://github.com/tensorflow/tfx/tree/master/examples/chicago_taxi 在执行上述tensorflow项目时报错,缺少GLI ...
- 解决 “/lib64/libc.so.6: version `GLIBC_2.18‘ not found (required by /lib64/libstdc++.so.6)“
https://blog.csdn.net/wiborgite/article/details/87707938
- Linux服务器上的mongodb:/lib64/libc.so.6: version `GLIBC_2.14‘ not found (required by /app/hems/mong)
在使用mongoimport时,出现/lib64/libc.so.6: version `GLIBC_2.14' not found (required by /app/hems/mong). 原来是 ...
- 嵌入式linux开发,/lib/libc.so.6: version `GLIBC_2.17‘ not found (required by /.../lib/libpaho-mqtt3a.so.1)
一.问题描述. 嵌入式linux开发,使用高版本交叉编译工具,编译应用程序,在arm板中运行提示:/lib/libc.so.6: version `GLIBC_2.17' not found (req ...
- 编译opencv出现Could NOT find PythonLibs: Found unsuitable version “3.6.9“, but required is exact version
-- Could NOT find PythonLibs: Found unsuitable version "3.6.9", but required is exact vers ...
- linux ata4 serror,linux系统救援模式解决开机引导失败问题
问题:linux开机后进入grub命令行且grub命令行输入命令报错 推测:因之前系统装好以后改变过分区,而导致不能读取到grub主开机引导程序 在解决这个问题之前我们先来了解linux开机启动过程. ...
- Android Studio调用系统的代码中Build.VERSION.SDK_INT >= Build.VERSION_CODES.xxx
常用来判断sdk版本如下 if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) { //包含新的api的代码块} else { //包含旧的ap ...
- ubuntu16.04 源码安装gazebo8.2时显示SDF version >=5.0.0. Required for reading and writing SDF files 解决方法
前段时间想学习一下gazebo的使用方式,但发现自带的gazebo7好像没有自带的plugin文件,所以想通过源码安装解决上述问题,但按照官方教程安装时,遇到了一下问题: 为了解决上述问题,需要更新s ...
- /libgomp.so.1: version `GOMP_4.0' not found (required by
问题: 步骤一:strings /home/gaoning/anaconda2/envs/pytorch3/lib/libstdc++.so.6 | grep CXXABI #查看gcc的...有没有 ...
最新文章
- 7 Papers Radios | 6年前的ResNet重回巅峰;AI辩手登上Nature封面
- HDU 3790 最短路径问题
- vs2010如何安装qt插件
- picACG本地缓存目录_手机上本地存储的哪些文件、文件夹不能删?
- 开发怼产品,天经地义?大惊小怪?
- 生信宝典,生物信息学习资源
- 深度学习《GAN模型学习》
- Hdu 1496 Equations
- 并发编程---填充缓存行消除伪共享
- android wps页面设置背景图片,如何给手机版WPS的文档设置图片背景
- Oracle 定时任务详解(dbms_scheduler)
- 如何测试工业以太网线缆(利用FLUKE DSX-8000)?
- 杀戮间Cache文件夹整理
- JavaScript实现移动端跟手轮播图
- 沙盒和App Group
- TokenGazer评级丨TRON:BTT众筹谋求熊市破局,生态繁荣但数据受到质疑
- 根据Magic Number(幻数)判断文件类型
- mysql 重量 什么类型_航空货物运输中的计费重量,指货物毛重与体积重量中的高者。...
- Android 仿QQ 聊天消息拖拽效果
- 十个富有特色的猎奇网站
热门文章
- java中级程序员面试题_中级Java程序员常见面试题汇总
- Revit 二次开发 未能加载文件或程序集“Microsoft.Xaml.Behaviors”或它的某一个依赖项
- RTC2018现场速递:实时互动在线上创造了一个新世界
- PASCAL语言的基本知识
- R语言中seq函数的用法
- c语言表达式的类型,C语言_类型、运算符与表达式
- 学以致用——Java源码——使用随机几何图形制作屏保程序(Screen Saver with Shapes Using the Java 2D API)
- 关于三菱GXWORK安装失败或者安装向导被中断的解决办法
- 利用路由策略解决路由引入中产生的路由环路和次优路径问题
- Python中的静态类变量和方法