哪里可以下载缺失的 libc.so.6

哪里可以下载缺失的 libc.so.6

我最近不小心删除了该文件,/lib/x86_64-linux-gnu/libc.so.6.大多数程序都需要这个文件,所以我的电脑基本上坏了,我只能通过实时 USB 访问硬盘。

我正在运行基于 Debian 的 64 位 Crunchbang Waldorf。

我该如何替换libc.so.6?(/lib64/ 才不是包含副本。)

输出locate libc.so(使用实时 USB,安装有损坏的硬盘)

/lib/x86_64-linux-gnu/libc.so.6
/rofs/lib/x86_64-linux-gnu/libc.so.6
/rofs/usr/lib/x86_64-linux-gnu/libc.so.6
/usr/lib/x86_64-linux-gnu/libc.so.6

/etc/apt/sources.list 的内容

deb http://mozilla.debian.net/ wheezy-backports iceweasel-release

## CRUNCHBANG
## Compatible with Debian Wheezy, but use at your own risk.
deb http://packages.crunchbang.org/waldorf waldorf main contrib
# deb-src http://packages.crunchbang.org/waldorf waldorf main

## DEBIAN
deb http://http.debian.net/debian wheezy main contrib non-free
# deb-src http://http.debian.org/debian wheezy main contrib non-free

## DEBIAN SECURITY
deb http://security.debian.org/ wheezy/updates main contrib
# deb-src http://security.debian.org/ wheezy/updates main

答案1

我假设你的实时 USB 驱动器具有与你正在运行的相同的发行版,或者至少是基于 Debian 的发行版。

基于这些假设,首先使用实时 USB 启动系统。然后/lib/x86_64-linux-gnu/libc.so.6使用命令查询哪个包拥有该文件dpkg -S /lib/x86_64-linux-gnu/libc.so.6(该文件最终将被名为“libc6”的包所拥有,但无论如何这都是一次不错的练习)。

当你的系统从 USB 实时发行版运行时,请从Crunchbang Waldorf 网站

然后将硬盘驱动器安装到某个目录。为了举例说明,我再次假设您将从硬盘驱动器的根分区安装到 下/mnt

--root /mnt然后剩下要做的就是使用指令重新安装所需的软件包dpkg。这样,软件包就不会进入您的实时 USB 文件系统,而是进入您硬盘上已有的系统。

答案2

libc.so.6文件位于libc6包中。

您必须找出该libc6包是从哪个存储库安装到您的机器上的。(检查/etc/apt/sources.list,等等)。

然后手动下载(例如,如果它是使用默认存储库的 Debian 计算机,则可以从这里),然后按照@SamiLaine 提供的说明进行安装。

答案3

在 root shell 中尝试这个:

ln -s /lib/x86_64-linux-gnu/libc-2.13.so /lib64/libc.so.6

如果libc-2.13.so不是适合您系统的版本,请使用 bash 中的 tab 补全功能来找到正确的版本。

如果这不起作用,你可以使用静态链接版本ldconfig在 root shell 中:

/sbin/ldconfig

如果 libc 链接的目标库被删除,请从软件包:libc6页面,使用dpkg-deb -X(进行解压手册页) 并复制libc-2.13.so/lib/x86_64-linux-gnu。然后运行 ​​ldconfig 以确保所有链接正确。

答案4

打开终端(++ Ctrl)并运行以下命令:AltT

对于 64 位 Ubuntu:

sudo ln -s /lib64/x86_64-linux-gnu/libc.so.6 /lib64/libc.so.6

对于 32 位 Ubuntu:

sudo ln -s /lib/i386-linux-gnu/libc.so.6 /lib/libc.so.6

相关内容