无法运行rpm和yum,因为我错误地删除了libnss。如何修复呢?

无法运行rpm和yum,因为我错误地删除了libnss。如何修复呢?

这是一个 Amazon RHEL 服务器,我通过运行删除了 libnss

rpm --nodeps -e nss-*;
package-cleanup --cleandupes;

现在当我运行时rpm出现错误:

rpm:加载共享库时出错:libnss3.so:无法打开共享对象文件:没有这样的文件或目录

和同样的错误yum

libnss3.so:无法打开共享对象文件:没有这样的文件或目录

现在如何重新安装 libnss?

答案1

您需要手动下载必要的包,并使用rpm2cpio和提取它们cpio(不需要libnss3)。去包浏览器(使用您的订阅信息)并查找nss,然后点击链接下载适合您的 RHEL 安装的版本。在服务器上,以 root 身份通过如下方式解压来“安装”它:

cd /
rpm2cpio /path/to/nss-....rpm | cpio -idmv

(根据需要替换路径,并...使用您拥有的任何版本)。

这将提取库,并且应该允许您rpm再次使用yum。然后,您应该使用以及任何其他缺少的依赖项nss正确重新安装该包。yum

--no-deps请切记以后不要使用!

答案2

上面的答案有一个问题...根据 Fedora/RHEL 版本,rpm2cpio 也可能依赖于 libnss3。您将需要另一个操作系统来从RPM包中提取cpio文件(Peazip可以做到)

相关内容