在我的 14.04 家庭服务器上运行 apt-get dist-upgrade 之后,似乎出现了一些问题,导致机器无法使用。
一切都从这个开始:
Preparing to unpack .../linux-image-3.13.0-45-generic_3.13.0-45.74_amd64.deb ...
Done.
Unpacking linux-image-3.13.0-45-generic (3.13.0-45.74) ...
Selecting previously unselected package linux-image-extra-3.13.0-45-generic.
Preparing to unpack .../linux-image-extra-3.13.0-45-generic_3.13.0-45.74_amd64.deb ...
Unpacking linux-image-extra-3.13.0-45-generic (3.13.0-45.74) ...
dpkg: error processing archive /var/cache/apt/archives/linux-image-extra-3.13.0-45-generic_3.13.0-45.74_amd64.deb (--unpack): cannot copy extracted data for
'./lib/modules/3.13.0-45-generic/kernel/sound/pci/echoaudio/snd-darla24.ko' to '/lib/modules/3.13.0-45-generic/kernel/sound/pci/echoaudio/snd-darla24.ko.dpkg-new': failed to write (Read-only file system)
dpkg: error while cleaning up:
unable to remove newly-extracted version of `/lib/modules/3.13.0-45-generic/kernel/sound/pci/echoaudio/snd-darla24.ko': Read-only file system
dpkg: error while cleaning up:
unable to remove newly-extracted version of `/lib/modules/3.13.0-45-generic/kernel/sound/pci/echoaudio/snd-indigoio.ko': Read-only file system
dpkg: error while cleaning up:
unable to remove newly-extracted version of `/lib/modules/3.13.0-45-generic/kernel/sound/pci/echoaudio/snd-indigodj.ko': Read-only file system
随后还有数百行类似的内容,讲述由于只读文件系统而无法删除 blah。
为避免疑问,在我运行升级之前,系统不是只读的!事实上,我在几分钟前运行了一个标准的 apt-get 升级,它毫无问题地完成了。
我首先尝试检查 fstab,但每次尝试使用 sudo 打开文件时都会出现分段错误。
$ sudo vi /etc/fstab
Segmentation fault
从这里,我尝试以标准用户身份打开文件,但出现了 I/O 错误:
$ vi /etc/fstab
-bash: /usr/bin/vi: Input/output error
我现在还不确定该怎么做——我仍然可以通过 SSH 进入盒子,但无法打开任何文件,所以我不确定要检查什么。我将在接下来的几个小时内获得物理访问权限,所以我想弄清楚安装是否可以保存,或者它是否完全崩溃了。
有人遇到过类似的事情吗?任何建议都会很感激,如果你需要更多信息,请告诉我。
答案1
对于偶然发现这个问题的人来说,潜在的问题似乎是我在内核更新过程中耗尽了磁盘空间,因此尚未创建 initrd 映像文件。因此,当我尝试重新启动时,我得到的只是内核崩溃错误。
修理:
- 将 Xubuntu 的副本刻录到 USB 中
- 启动到 USB 并选择“尝试 Xubuntu”选项
- 打开终端 - 发现一些我不需要的东西,并删除了它(在我的例子中,/var/lib/docker 中有 3GB 的 Docker 文件,它们很容易被替换)
- cd 进入 /boot 并记下最后一个工作的内核(对我来说,它是 3.13.0.43)
- 重新启动 - 在 GRUB 菜单中选择“高级启动选项”(或其他选项),然后选择上面的内核
- 系统正常启动(耶!)- 运行 sudo apt-get update && sudo apt-get upgrade
- 让 Ubuntu 做它该做的事
- 再次正常重启
- 固定的!
由于之前的更新失败,屏幕上可能显示必须运行 dpkg 命令才能升级 - 我的大部分内容都是凭记忆引用的。无论如何,我记得我完全按照它告诉我的运行,一切都很顺利。
是的。这个故事的寓意是 - 不要低估你可能需要的 / 分区的大小,并留意磁盘空间!