当前位置: 首页>>技术教程>>正文


如何解决“sudo:无法打开… Read-only文件系统”?

, , ,

问题描述

标题可能不像我希望的那样具有描述性,但不能提出更好的标题。

我的服务器的文件系统进入Read-only。我不明白它为什么这样做以及如何解决它。

我可以SSH进入服务器,当试图启动apache2例如我得到以下内容:

username@srv1:~$ sudo service apache2 start
[sudo] password for username:
sudo: unable to open /var/lib/sudo/username/1: Read-only file system
 * Starting web server apache2                                                                                                                                                                                                               (30)Read-only file system: apache2: could not open error log file /var/log/apache2/error.log.
Unable to open logs
Action 'start' failed.
The Apache error log may have more information.

当我尝试重新启动服务器时,我得到:

username@srv1:~$ sudo shutdown -r now
[sudo] password for username:
sudo: unable to open /var/lib/sudo/username/1: Read-only file system

一旦我手动重新启动,它就会在没有任何警告或消息表明有问题的情况下启动。

我希望有人能指出我解决这个问题的正确方向。

最佳解决方法

如果存在文件系统一致性问题,则在系统运行时,文件系统通常会进入read-only。这在fstab中指定为errors=remount-ro,并且在FS访问失败或通过Alt + SysRq + SysRq + U请求紧急read-only重新安装时发生。你可以运行:

sudo fsck -Af -M

强制检查所有文件系统。作为其他答案之一,看着dmesg也很有帮助。

编辑:不要忘记命令行上的-M

次佳解决方法

这是解决我的问题的命令:

mount -o remount /

比重新启动或sudo fsck更好 – 都是

第三种解决方法

六分法的答案对我不起作用。每次我尝试执行sudo fsck -Af -M时,它都显示出来

$ sudo fsck -Af -M
fsck from util-linux 2.20.1

没有别的。没有错误或任何东西。对我来说,启动到一个实时光盘并执行这个工作 –

sudo fsck.ext4 -f /dev/sda1

假设问题/dev/sda1的分区是ext4文件系统。

第四种方法

尝试运行dmesg | grep "EXT4-fs error"以查看是否有任何与文件系统/日志系统本身相关的问题。那么我会建议你重新启动你的系统。另外,ObsessiveSSOℲ的sudo fsck -Af答案不会受到伤害。

第五种方法

如果您想强制根文件系统重新挂载为rw,则可以执行以下操作。

mount -o remount,rw /

第六种方法

请注意,有时这可能是由于计算机忘记了系统时间而引起 – 磁盘检查失败,因为日志中的日期处于未来!

设置BIOS时间(并检查BIOS电池)为我解决了这个问题,而无需进行任何磁盘恢复。

参考资料

本文由Ubuntu问答整理, 博文地址: https://ubuntuqa.com/article/686.html,未经允许,请勿转载。