apt-get 升级后 Debian dpkg 损坏

apt-get 升级后 Debian dpkg 损坏

我已经运行 Debian Wheezy 很长时间了。今天我运行了一个dpkg upgrade,它以某种方式严重破坏了事情。升级中止,现在apt-getdpkg没有运行。

# dpkg
dpkg: error while loading shared libraries: libselinux.so.1: cannot open shared object file: No such file or directory

我可以下载包含丢失文件的 .deb 文件,但如果没有工作工具,我无法安装它们。我该如何摆脱第22条军规?

答案1

标准目录中的库文件必须注册在缓存中以提高性能。如果升级在错误的时间中止,则库文件可能存在于文件系统中但不在缓存中。跑步ldconfig以 root 身份更新缓存。

为了帮助解决动态库问题,拥有一些静态链接的实用程序套件会有所帮助:busybox-静态,窗扇,zsh-静态

答案2

您可以使用和命令.deb的组合来提取文件的内容:artar

mkdir /tmp/selinux
cd /tmp/selinux
ar p /path/to/libselinux.deb data.tar.gz | tar xz

包的内容将在以当前目录为根的层次结构中解压,您可以将所需的文件移动到适当的位置。对于 libselinux 这可能只是/lib/x86_64-linux-gnu/libselinux.so.1(目录名称取决于您的体系结构)。

一旦您再次使用该功能,您可能应该dpkg -i重新安装完整的软件包。

相关内容