无法使用 apt:libstdc++.so.6:未找到版本“GLIBCXX_3.4.20”

无法使用 apt:libstdc++.so.6:未找到版本“GLIBCXX_3.4.20”

当我使用 apt 时遇到问题:

$ sudo apt-get update
apt-get: /usr/lib/x86_64-linux-gnu/libstdc++.so.6: version `GLIBCXX_3.4.20' not found (required by apt-get) apt-get: /usr/lib/x86_64-linux-gnu/libstdc++.so.6: version `GLIBCXX_3.4.20' not found (required by /usr/lib/x86_64-linux-gnu/libapt-private.so.0.0)

但是,安装新的 apt 输出:

dpkg: regarding .../apt_1.2.10ubuntu1_amd64.deb containing apt:
apt breaks apt-utils (<< 1.1.3)
apt-utils (version 1.0.1ubuntu2) is present and installed.

dpkg: error processing archive /home/anawasreh/Downloads/apt_1.2.10ubuntu1_amd64.deb (--install):
 installing apt would break apt-utils, and
 deconfiguration is not permitted (--auto-deconfigure might help)
Errors were encountered while processing:
 /home/anawasreh/Downloads/apt_1.2.10ubuntu1_amd64.deb
(13:13:21)anawasreh@readonly@anawasreh(-)

即使我尝试下载丢失的库:

$ sudo apt-get install libstdc++6

apt-get: /usr/lib/x86_64-linux-gnu/libstdc++.so.6: version
`GLIBCXX_3.4.20' not found (required by apt-get) apt-get:
/usr/lib/x86_64-linux-gnu/libstdc++.so.6: version `GLIBCXX_3.4.20' not
found (required by /usr/lib/x86_64-linux-gnu/libapt-private.so.0.0)

所以我被困在那里,根本无法删除、更新或更正 apt。

答案1

您可以libstdc++.so.6从另一个 Ubuntu 安装复制。

在 14.04 虚拟机中,我删除了它libstdc++.so.6并得到了与您相同的错误。然后我从 16.04 主机复制了它,然后apt又正常工作了。您可以使用 Live CD 来实现这一点。

或者,下载适合您版本的正确文件:

14.04https://bsre.stackstorage.com/index.php/s/JVNxNO3HWBA4HSa
16.04https://bsre.stackstorage.com/index.php/s/L394ttygh55cR1W

Cntrl然后使用+ Alt+打开终端窗口T

  1. 输入cd ~/Downloads并按 Enter 键
  2. 输入md5sum libstdc++*并按 Enter 键
  3. 确保您看到以下任一内容:

    aa688ac2f4c90a023c2cbd1dd21d4ccc libstdc++1404.so.6 68dbd855c3213cae1a41375c25bf6884 libstdc++1604.so.6

  4. 然后使用重命名文件sudo mv libstdc++* libstdc++.so.6
  5. 移动文件:sudo mv libstdc++.so.6 /usr/lib/x86_64-linux-gnu/

答案2

这有点复杂,我不记得遇到这个问题时我到底做了什么。

也许这可以帮助:

sudo add-apt-repository ppa:ubuntu-toolchain-r/test
sudo apt-get update

如果您没有安装 python 软件属性,这可能无法工作。

因此,请尝试将您的存储库和 PPA 更新为默认值。请点击此链接了解如何操作:如何恢复默认存储库?

答案3

我之前也遇到过同样的问题。我通过从下载 libstdc++6 debian 包解决了这个问题这里然后使用 'dpkg' 进行手动安装

sudo dpkg -i libstdc++6_5.4.0-6ubuntu1~16.04.1_i386.deb

此后,它工作正常

相关内容