如何在不重新启动的情况下验证fstab?


103

我修改了/etc/fstab

我验证了新设备,可以使用mount命令挂载它们。

如何验证对所做的修改/etc/fstab

Answers:


126

您可以简单地运行: mount -a

-a挂载fstab中提到的所有文件系统(给定类型)。

该命令将挂载fstab中提到的所有(尚未挂载)文件系统,并在引导过程中用于系统脚本启动。


3
...并在完成“ sudo mount -a”后将其与/ etc / mtab进行比较,以确保遵守所有选项。
adebaumann 2010年

1
mount -a通过重读/etc/fstab也将重新加载,/etc/mtab因此他应该对此没问题。
Prix

2
这不是阿德鲍曼在这里提出的要点吗?mount -a可能会返回成功,但不一定意味着已遵循所有特定的安装选项。由于这也会重新加载/ etc / mtab,因此您应该检查所有选项是否都正常工作?
RapidWebs

57

mount命令采用--fake-f简称。以下命令应执行所需的操作:

mount -fav

以下是-f选项的文档:

Causes everything to be done except for the actual system call; if it's not obvious, this ``fakes'' mounting the filesystem. This option is useful in conjunction with the -v flag to determine what the mount command is trying to do.

(请注意,这是Linux-在其他地方使用之前检查:FreeBSD -f用于'force'-完全相反。)


4
mount -fav不会检查系统中是否确实存在具有指定UUID的设备。还有人希望将-f与-n组合在一起以免污染/ etc / mtab
Alexandr Priymak

我喜欢,mount --fake -a但它似乎exit code($?)=0总是回来。嗯..
kujiy

另外,fake选项不会检查目录是否存在。它说successfully mounted即使安装点
剂量

尝试这样做似乎是一件好事,但之后您还应该执行“ mount -a”进行验证。就我而言,我将选项设置为“ default”而不是“ defaults”(这阻止了我的Pi启动),但是将其mount -fav验证为正确。一旦我做了一个mount -a发现错误。
亚当·普洛彻

5

sudo findmnt --verify --verbose 是我找到的最好方法


3

我找到了/ problem /,但是解决方案不符合我的要求。

使用/ etc / fstab中的任何无效条目重新启动时,例如fsck无法检查的丢失文件系统;系统将无法启动。如果您有一个无头盒子,那将很难处理。

这是我检查/ etc / fstab以避免此引导问题的解决方案:

    # cat /usr/local/bin/check-fstab-uuid-entries.sh
    #!/usr/bin/env bash

    for x in $(grep ^UUID /etc/fstab|cut -d \  -f 1|cut -d = -f 2)
    do
            if [ ! -h /dev/disk/by-uuid/$x ];then
                    echo $(grep $x /etc/fstab)  ..... not found
            fi
    done

2

mount -a是检查/ etc / fstab的安全方法,否则错误的输入可能会破坏系统

还建议保留原始/ etc / fstab文件的备份副本。可以将其复制到根目录的主目录中


2

请注意,如果将交换文件添加到fstab中,mount -a则不会打开它:您将要运行swapon -a


1

甚至伪造的TBH也无法安全地验证fstab中是否存在错误的fs类型条目。

您可以输入具有正确uuid,目录等的条目,但是如果您指定不存在的FS类型,则下次启动将停止。

[root @ grumpy〜]#grep备份/ etc / fstab
UUID = 5ed48e5e-7251-4d49-a273-195cf0432a89 / mnt / backup noatime,nodiratime,xfs默认值,nodev,nosuid 0 0
[root @ grump〜]#

[root @ grumpy〜]#mount -fav | grep备份
/ mnt / backup:成功挂载
[root @ grumpy〜]#
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.