语境
我是 Ubuntu 新手。我已经使用 16.04 LTS 版本一段时间了,我才刚刚开始了解一些基本概念。遗憾的是,我觉得今天我有点太过分了,可能永远删除了我去年的部分工作。我非常感谢任何帮助。
这一切都始于今天,在运行
conda update -all
而不是我平常
conda update conda
只是因为我想确保我的蟒蛇会在我的 Ubuntu 16.04 LTS 上完全更新。更新本身似乎运行良好,但当我想在我的基础环境(我拥有/曾经拥有的唯一环境)中运行 Python 脚本时,我收到了一个我从未见过的错误。由于我无法再访问我的 Ubuntu,我不得不用心描述其中的一部分,所以如果我的术语不够准确,请原谅我。所以问题与我的libstdc++.so.6
文件有关,该文件丢失了CXXABI_1.3.11
(顺便说一句,我 100% 确定这两个姓氏是正确的)。
破解 Ubuntu
我开始浏览 StackOverflow 和其他网站寻找答案,其中许多网站提供了类似的解决方案这,但它们对我来说不起作用,假设我正确应用它们。基本上,我试图添加一些行,希望~/.bashrc
某些东西会起作用。我知道这不是一个好的做法,但我只是想解决我认为是小麻烦的问题,以便能够开始我的实际工作,这本身就已经很多了。无论如何,我随后发现此解决方案,并一步一步地应用它。我几乎毫不在意地复制粘贴了所有命令,只是在必要时更改了我的个人文件夹名称。在最后一步之后,即
sudo strings /usr/lib/x86_64-linux-gnu/libstdc++.so.6 | grep 'CXXABI'
我的输出是“文件未找到”。然后我回溯了所有步骤,发现在第 4 步我实际上应该删除该libstdc++.so.6
库,所以这是导致我的问题的命令。事实上,在尝试了这 6 个步骤后,一切都停止了工作:Firefox、VS Code 等。我决定重新启动操作系统,结果发现我现在甚至无法再访问它了。
我想要的是
如果至少有那么一丝机会可以恢复我的文件(或者更好的是整个操作系统),我就不会错过。因此,当我看到我仍然可以访问恢复模式和恢复菜单中的其他替代选项(如“dpkg - 修复损坏的软件包”)时,我不想再独自进行实验了。如果这很重要的话,我目前正在使用这台具有双启动选项的 PC。
shell 命令的日志
以下是所涉及的所有命令的列表,即“conda update”尝试以及教程中报告的命令:
conda update -all
cd /usr/lib/x86_64-linux-gnu
sudo strings /usr/lib/x86_64-linux-gnu/libstdc++.so.6 | grep CXXABI
sudo find / -name "libstdc++.so.6*"
cp /home/MYUSERNAMEHERE/anaconda2/pkgs/libstdcxx-ng-8.2.0-hdf63c60_1/x86_64-conda_cos6-linux-gnu/sysroot/lib/libstdc++.so.6.0.25 /usr/lib/x86_64-linux-gnu/
cd /usr/lib/x86_64-linux-gnu
sudo rm -rf libstdc++.so.6
sudo ln -s libstdc++.so.6.0.25 libstdc++.so.6
sudo strings /usr/lib/x86_64-linux-gnu/libstdc++.so.6 | grep 'CXXABI'
第一个命令之后的所有命令都来自教程;我只是调整了一个文件夹名称,上面标记为“MYUSERNAMEHERE”。