出现原因
在ubuntu里,使用apt进行安装的时候,有时候会出现包和系统里大部分软件所依赖的包冲突,只要一马虎,按下回车的时候,就会看到 gnome-正在卸载 、ibus-正在卸载 、code正在卸载 …
这就是因为依赖冲突的问题,我上次是因为搞roop,给的解决办法,让我去apt install lib-gtk2.0,然后我照做,他说冲突,级别太高,我就开始降级,然后在降级的途中,看到了如上所说的效果…
解决方式
-
卸载完后千万不要关闭任何窗口、不要关机、不要重启,因为现在所打开的东西还在内存里,关了之后就没了,甚至重启后桌面都会消失,如果恰巧关机了,就去打开ubuntu自带的土终端,没有中文支持的,需要改字符,起码能好好显示,是吧
-
救命稻草是和apt配套的aptitude,由于我们卸载的东西,只是卸载了软件,他们的配置文件都还存在,恰巧aptitude能在它的包库中指导之前的东西哪个有配置文件,所以根据这个思想,我们就可以找到我们之前下载了些什么
aptitude search ~c
然后输出一个列表,能的得到有配置文件的软件包,然后再去筛选
aptitude search ~c | awk '{print $2}'
awk命令的作用是输出第二列的文本到屏幕,这样我们就得到了所有有配置文件但被卸载了的软件包的名称,然后将他们输出到一个文本文件中
aptitude search ~c | awk '{print $2}' >> software.txt
由于我们的软件不一定全是用apt下载的,所以有的会提示找不到,但凡有一个找不到apt 就不会下载该文件里的包,所以需要用vim、nvim或其他的将没有的软件包手动去掉,之后再
sudo apt install $(cat software.txt)
这样就可以看到我们的大部分东西都下载回来了,之后再看需要什么,手动去装就能回来啦
sudo apt install something_needed
总之,在sudo下干事一定要看好,apt install 时一定要看好装了什么、卸载了什么,尽量规避这些东西
下面是我卸载完后我的操作系统老师给我的解决方法