如何在 Ubuntu 中恢复到旧版本的 libc6?

hli*_*itz 5 downgrade ubuntu apt

我安装了 valgrind,它用一个略有不同的版本替换了我的 Ubuntu 12.04 系统上的 libc6,这破坏了我系统上的应用程序。我可以以某种方式恢复到 Ubuntu 5.1 版本吗?如果是这样,我在哪里可以找到它?

Preparing to replace libc6-dev 2.13-20ubuntu5.1 (using .../libc6-dev_2.13-20ubuntu5.3_amd64.deb) ...
Unpacking replacement libc6-dev ...
Preparing to replace libc-dev-bin 2.13-20ubuntu5.1 (using .../libc-dev-bin_2.13-20ubuntu5.3_amd64.deb) ...
Unpacking replacement libc-dev-bin ...
Preparing to replace libc-bin 2.13-20ubuntu5.1 (using .../libc-bin_2.13-20ubuntu5.3_amd64.deb) ...
Unpacking replacement libc-bin ...
Processing triggers for man-db ...
Setting up libc-bin (2.13-20ubuntu5.3) ...
(Reading database ... 192982 files and directories currently installed.)
Preparing to replace libc6 2.13-20ubuntu5.1 (using .../libc6_2.13-20ubuntu5.3_amd64.deb) ...
Unpacking replacement libc6 ...
Setting up libc6 (2.13-20ubuntu5.3) ...
Processing triggers for libc-bin ...
ldconfig deferred processing now taking place
/sbin/ldconfig.real: /usr/local/lib/liblzma.so.5 is not a symbolic link

Selecting previously deselected package libc6-dbg.
(Reading database ... 192982 files and directories currently installed.)
Unpacking libc6-dbg (from .../libc6-dbg_2.13-20ubuntu5.3_amd64.deb) ...
Selecting previously deselected package valgrind.
Unpacking valgrind (from .../valgrind_1%3a3.6.1-0ubuntu3_amd64.deb) ...
Processing triggers for man-db ...
Setting up libc-dev-bin (2.13-20ubuntu5.3) ...
Setting up libc6-dev (2.13-20ubuntu5.3) ...
Setting up libc6-dbg (2.13-20ubuntu5.3) ...
Setting up valgrind (1:3.6.1-0ubuntu3) ...
Run Code Online (Sandbox Code Playgroud)

0xC*_*22L 4

最大的问题可能是找到您之前安装的确切版本.deb,特别是如果您apt-get autoclean在两者之间安装的话。

一般来说,要安装特定版本,您会这样做

sudo apt-get install libc6=2.13-20ubuntu5.1
Run Code Online (Sandbox Code Playgroud)

那么您可以使用以下命令将包裹标记为已持有:

echo "libc6 hold"|sudo dpkg --set-selections
Run Code Online (Sandbox Code Playgroud)

以便后续更新不会自动更新它。您面临的问题是找到一个具有旧版本的镜像并使用它,或者找到.deb旧版本的镜像并用于dpkg -i ...手动安装它。

尝试locate libc6_2.13-20ubuntu5.1_amd64.deb查看是否有缓存副本。

然而,失败的程序有哪些症状呢?除了恢复到旧版本的libc6.