本文使用百度在线输入法写作而成,因为 Deepin 的 ISO 没有搜狗拼音……

purge一时爽,系统火葬场(X

我自己使用的台式机使用的为一套古老的 3A 平台(08年的速龙II X4 640,15年的 R7 360,以及970芯片组),但为了在同学的电脑流畅的使用 Deepin ,我使用了 Deepin 的显卡驱动管理器安装了大黄蜂方案的显卡驱动。早就在 LUG@USTC 听说过老黄的显卡驱动,只要内核升级就会随机 BOOM ,结果没想到这样的事情真的发生到了自己头上。

不显示 X 的 Deepin

不显示 X 的 Deepin

切换至 tty 寻找错误原因, lightdm 的日志里面居然是空的,没有什么 Debug 信息,遂移步 Deepin Telegram 国际频道 求助,得知是老黄家的显卡驱动同新版本内核的兼容问题。我也不想动不动就搞一个大新闻……但是这一次罪魁祸首仅仅是因为下面这一行代码:

然后 purge 就尽责的噼里啪啦的删了一堆包,甚至有 xserver-xorg-input-all 。于是就有了卡在登录界面,光标闪烁,但是不响应鼠标键盘输入的奇观……

卡在登录界面,输入什么都没反应

卡在登录界面的 Deepin

这是我第一次遇到误删包这样的问题。为了不浪费各位的时间,外加给可能的后来人提供参考,我把日志放到了最后。

进入 chroot 环境

掏出以前的安装U盘,将 grub 的 linux 启动参数由 liveCD-installer 改为了 liveCD ,进入了熟悉的 DDE

不知为何,chroot 以后提示挂载 /dev/null 失败。检查以后发现 /dev/null 下面神奇的冒出了文件,于是直接 G9 滥权删除。

chroot 后无法联网的解决

很奇特的连不上网络

一直提示“暂时无法解析域名”,而且 chroot 环境下是没有办法用上systemctl,最后发现是 DNS 解析未设置(感谢 Telegram群组 桌面Linux 某位同学指点~)

填入国科大的 DNS,测试,一切正常。

恢复误删除的软件包

乱删掉的软件包列表

/var/log/apt/history.log 弄出来的列表

日志处理

apt 安装的时候需要去掉括号以及括号内内容,并且用空格来划分不同的包。

用代替逗号选中括号内的内容(含括号)的正则表达式:(\([^\)]+\)),随后再用空格替换逗号,最后剔除所有含有 Nvidia 关键字的包即可。

总结

在 Deepin 之前使用的操作系统是 openSUSE leap 42 ,由于 BtrFS 的快照特性,所以出错的时候也懒得寻找问题所在,而是直接回滚快照。而这一次使用 Deepin 则是让我补回了早就应该掌握的 chroot 技能,顺带着锻炼了一下独立判断问题的能力。

参考资料

[1] 记一次错误卸载软件包导致Linux系统崩溃的修复解决过程

[2] Ubuntu 的系统恢复

[3] 回车和换行

[4] 利用chroot修复Linux系统问题-深度科技论坛|深度操作系统正在为全世界的电脑提供强劲动力!

分类: 博客

发表评论

%d 博主赞过: