在 RHEL-7.7.3 中安装更新或补丁时出现错误。
错误:无法初始化 NSS 库
导入某个 Python 模块时出现问题
运行 yum 所需的。导致此问题的错误是:
无法导入名称 ts
请安装提供此模块的软件包,或者
验证模块是否安装正确。
上述模块可能与
当前版本的 Python 是:
2.7.5(默认,2016 年 8 月 2 日,04:20:16)
[GCC 4.8.5 20150623(红帽 4.8.5-4)]
如果您无法自行解决此问题,请访问
yum 常见问题解答:
http://yum.baseurl.org/wiki/Faq
我该如何解决它?
答案1
这可能与昨天在新安装的 RHEL 7.3 上安装 glibc.686 时出现的一个错误有关,该错误导致 yum 和 rpm 都崩溃。 请参阅此 Red Hat 解决方案帖子。 不幸的是,我目前还没有关于如何在安装 glibc.686 后修复它的解决方案,但是该页面上针对 7.3 的解决方案是同时安装 nspr。您可以重新安装 RHEL 7.3 或从备份中恢复,然后运行:
yum 安装 glibc.i686 nspr
据称这可以绕过这个问题。
编辑:通过手动下载 nspr 库并运行以下命令,我能够使其在损坏的 RHEL 7.3 实例上运行:
LD_PRELOAD=./libnspr4.so yum 更新 nspr
这将修复您的 yum 和 rpm。祝您好运。
答案2
如果你像我一样,试图拯救一个被不必要的包管理所困扰的服务器力量,从救援/chroot环境,
— 确保/dev
在 chroot 内绑定挂载有效的文件系统。
因为,如图strace -f rpm --help
所示,它需要一个/dev/urandom
。
启蒙道具去 这个 GitHub 问题这突出显示了/dev/urandom
我在日志中 ENOENT 附近看到的东西strace
,但不知何故没有注意到。我已经绑定安装/{proc,sys}
以及,以防万一。问题解决了;服务器得救了,耶!
答案3
对我有用的答案:
从以下位置下载 nspr 包 nspr-4.13.1-1.0.el7_3.x86_64.rpm
rpm2cpio nspr-4.13.1-1.0.el7_3.x86_64.rpm | cpio -idmv
LD_PRELOAD=./usr/lib64/libnspr4.so yum update nspr(目录可能不同,但大体上应该不错)
问题解决了。感谢那些提供线索的人。
克里斯蒂安·科马蒙德
答案4
我们也遇到了这个问题。重新安装虚拟机后,我们尝试使用 nspr 和 glibc.i686,似乎可以解决问题,就像先安装 nspr 一样,但在下一台服务器上它不起作用。
对我们来说,这个问题实际上似乎是一个依赖项 - nss-softokn-freebl。* .x86_64 版本与 .i686 版本不匹配,因此它尝试更新它们两个,而最新版本引发了问题。
仍在努力。希望这对某些人有帮助。