意外删除了 libstdc++6,大多数程序无法运行

意外删除了 libstdc++6,大多数程序无法运行

意外执行了这个命令,现在我的许多程序都无法运行。

sudo apt-get --purge remove libstdc++6

sudo apt现在不工作,还有一些其他的东西。

我该如何恢复呢?

Distributor ID: Ubuntu
Description:    Ubuntu 16.04.4 LTS
Release:        16.04
Codename:       xenial

编辑

我按照 melebius 的方式通过 dpkg -i ,libstdc++6 进行安装,似乎成功了

root@server:~# sudo dpkg -i libstdc++6_5.4.0-6ubuntu1~16.04.10_amd64.deb
Selecting previously unselected package libstdc++6:amd64.
(Reading database ... 71540 files and directories currently installed.)
Preparing to unpack libstdc++6_5.4.0-6ubuntu1~16.04.10_amd64.deb ...
Unpacking libstdc++6:amd64 (5.4.0-6ubuntu1~16.04.10) ...
Setting up libstdc++6:amd64 (5.4.0-6ubuntu1~16.04.10) ...
Processing triggers for libc-bin (2.23-0ubuntu10) ...

但是当我尝试安装某些东西时出现此错误

root@server:~# sudo apt-get screen
apt-get: error while loading shared libraries: liblz4.so.1: cannot open shared object file: No such file or directory
root@server:~#

答案1

根据该软件包的网页,dpkg应该能够工作而无需libstdc++6(不像apt)。

所以你应该能够下载正确的版本libstdc++6 适合您的架构手动并使用安装dpkg -i,例如

sudo dpkg -i libstdc++6_5.4.0-6ubuntu1~16.04.10_amd64.deb

如果你无法在有问题的机器上使用正常的网络浏览器,请在其他地方获取正确的 URL 并使用下载文件wget,例如

wget http://security.ubuntu.com/ubuntu/pool/main/g/gcc-5/libstdc++6_5.4.0-6ubuntu1~16.04.10_amd64.deb

根据以下错误:

apt-get: error while loading shared libraries: liblz4.so.1: cannot open shared object file: No such file or directory

您似乎缺少更多必需的包。

查看哪个包提供了文件,下载并dpkg像以前一样使用(重新)安装。对于liblz4.so.1,您需要liblz4-1. 当 APT 抱怨文件丢失时,对每个文件重复此过程。


还有一件事……你的命令调用

root@server:~# sudo apt-get screen

root表示您同时以和 使用 的身份登录sudo。这两个东西是多余的,您一次只需要其中一个。

答案2

我删除了 libstdc++6,apt-get也犯了同样的错误,大多数程序都无法运行。但我设法通过使用恢复了初始状态。

sudo apt --fix-broken install 

相关内容