
一次惊险的ubuntu20.04拯救日记
背景
最近需要跑一些ROS,mojuco之类的仿真环境,硬需求是要真的ubuntu20.04或者ubuntu22.04系统,无奈,囊中羞涩只能干起了单盘位双系统外挂尿袋来保证储存空间充足。
因为我经常用miniconda,anaconda,之前在wsl上也装了很多次。所以我的外接硬盘里面就有一个比较老的2020年的miniconda的下载脚本。当时安好双系统就马不停蹄通过这个安装好了。
刚开始还好。后来我有了一些用git的需求,一但git clone xxx,就会出现:/usr/lib/git-core/git-remote-https: symbol lookup error: /lib/x86_64-linux-gnu/libp11-kit.so.0: undefined symbol: ffi_type_pointer, version LIBFFI_BASE_7.0
这个错误。
去google查了一下,说是conda环境里面的git动态链接有问题。需要
1 | conda uninstall git |
刚开始试了,确实重装之后可以用,但系统重启之后就又报错。无奈,继续google。看看动态链接到底是怎么回事。
翻到https://blog.csdn.net/qq_38606680/article/details/129118491说的,试了一下,不行,说是已经存在这个软链接了。
当时我还没意识到/lib/x86_64-linux-gnu/libffi.so.7.1.0
这个文件的重要性。我想着既然conda deactivate之后还是报一样的错。那我干脆把conda lib里面的libffi.so.7.1.0当成软链接的目标,于是
1 | cd /lib/x86_64-linux-gnu/ |
总的来说是这个思路,但路径不一定还原了当时的情境。
我的系统就是这样差点被我搞崩的。
重启后,发现黑屏
但是tty2可以正常登录,淘宝上找了个客服问了问,让测试了一下桌面环境,执行结果为:
说是桌面环境已经没了,这时我已经万念俱灰准备重装gnome了,更新一个apt吧
这个报错怎么那么眼熟,这个东西在哪里见过?
噢,原来是我之前删了的那个软链接。
赶紧ctrl+alt+f2
1 | cd /lib/x86_64-linux-gnu/ |
再重启,正常开机。
搞定。
之后做的是就是备份conda环境,重装miniconda。
总结
删任何需要sudo的root文件系统的文件时,做bak备份总是好的,至少这次救了我一命呢