在工作中,我们有一台旧的 Debian 机器,我需要在上面安装安全更新,但文件系统是以只读方式安装的。不幸的是,安装它的人已经退休了,没有记录他在这台机器上做了什么。
输出mount
:
sysfs on /sys type sysfs (rw,nosuid,nodev,noexec,relatime)
proc on /proc type proc (rw,nosuid,nodev,noexec,relatime)
udev on /dev type devtmpfs (rw,relatime,size=10240k,nr_inodes=63624,mode=755)
devpts on /dev/pts type devpts (rw,nosuid,noexec,relatime,gid=5,mode=620)
tmpfs on /run type tmpfs (rw,nosuid,noexec,relatime,size=51512k,mode=755)
/dev/disk/by-label/rootfs0 on / type ext2 (ro,noatime,errors=continue)
tmpfs on /run/lock type tmpfs (rw,nosuid,nodev,noexec,relatime,size=5120k)
tmpfs on /run/shm type tmpfs (rw,nosuid,nodev,noexec,relatime)
/dev/sda4 on /mnt type ext2 (rw,noatime,errors=continue)
tmpfs on /tmp type tmpfs (rw,nosuid,nodev,relatime)
tmpfs on /var/log type tmpfs (rw,nosuid,nodev,relatime)
tmpfs on /var/tmp type tmpfs (rw,nosuid,nodev,relatime)
我看了一下 /etc/fstab,它看起来有点奇怪,因为我看不到 / 的条目:
LABEL=data /mnt ext2 defaults,noatime,rw 0 2
proc /proc proc defaults 0 0
tmpfs /tmp tmpfs nosuid,nodev 0 0
还有什么地方可以设置以只读方式挂载文件系统?
答案1
/
最初不是通过 挂载的,fstab
因为要挂载它,/etc/fstab
您需要先/
挂载。它是通过内核root=
选项挂载的。该ro
参数可能位于您的引导加载程序配置中(如/boot/grub/grub.cfg
),正如它应该的那样。
稍后在启动过程中/
根据 重新安装fstab
;该rw
选项应该在那里。 在您的例子中,没有正确的条目,因此该ro
选项有效。
您可能想阅读更多内容:/etc/fstab
root 挂载之前如何访问?
解决方案
手动重新挂载为读写:
sudo mount -o remount,rw /
如果您想要做出永久性的改变那么请使用/
选项创建适当的条目。/etc/fstab
rw