关于apt update到一半关机导致ubuntu系统崩溃这回事

起因

总之,今天在我的beelink小主机上捣鼓一些东西。

想安装一个软件包,看到有好多可以可以更新的,然后心想着要不全部更新一哈,然后我就apt upgrade了。

这本来也没什么,但是我不小心按倒了电源键,导致这整个系统关机了。这一关机,就出了大问题。

先是打不开桌面,一只卡在Ubuntu然后带4个点的界面上。

然后我又重启了一下,摁alt+f1看看日志,不看不知道,一看吓一跳,所有的service基本都报错了。而且这个报错还不是一般的报错。

先用alt+f2进入命令行界面,然后用systemctl查看报错内容,好家伙,全是core-dump或者segment fault。直接给我整麻了。

尝试解决

然后我依次尝试了以下的解决方式

  1. 尝试使用apt重新安装 -> 但问题是,因为NetworkManager这个service也无法启动,用命令行连接wifi也报错segment fault。所以连不上网,apt等于没用
    1
    2
    3
    4
    5
    6
    7
    8
    sudo rm /var/lib/apt/lists/lock
    sudo rm /var/lib/dpkg/lock
    sudo rm /var/lib/dpkg/lock-front-end
    sudo rm /var/cache/apt/archives/lock
    sudo dpkg --configure -a
    sudo apt clean
    sudo apt update --fix-missing
    sudo apt install -f

    credit to https://linuxhint.com/fix-broken-ubuntu-without-reinstalling/

  2. 尝试用系统u盘启动,寻找可能的repair选项 -> 很可惜,没有,只有删除重装
  3. 尝试进入recover模式 -> 失败,甚至dpkg也报segment fault错误

最后的方法

重装系统

然后想了想,既然我可以进入系统,而且我大部分的应用都是docker运行的。我只需要把配置文件复制出来,然后再重装系统不就完事了。

于是我就进系统. fdisk -l 找到u盘 sudo mount /dev/sdc1 /mnt/usb 挂载。把文件都备份好之后,再插上系统安装盘,重装系统.jpg

然后就好了

一些想法

  1. 更新的时候别断电
  2. 做好备份
  3. docker真tm的好用,要是我不是docker而是自己编译部署的话,那我麻了。