Linux 命令“mount -a”如何工作?

Linux 命令“mount -a”如何工作?

在添加新的挂载点后/etc/fstab,我们通常会执行mount -a以反映更改(如果我们想绕过重新启动),并且df -kh输出显示新的挂载点。

如何mount -a工作/影响已安装的引用该 /etc/fstab文件的分区?它是卸载然后安装这些分区,还是因为它们已经安装而忽略它们?

答案1

它会跳过已经安装的。

https://github.com/karelzak/util-linux/blob/master/sys-utils/mount.c#L185-L193

while (mnt_context_next_mount(cxt, itr, &fs, &mntrc, &ignored) == 0) {

    const char *tgt = mnt_fs_get_target(fs);

    if (ignored) {
        if (mnt_context_is_verbose(cxt))
            printf(ignored == 1 ? _("%-25s: ignored\n") :
                          _("%-25s: already mounted\n"),
                   tgt);
    }
    // ...
}

答案2

它将忽略已经安装的分区。

同时,您可以对mount -o remount /dev/xxx已经安装的分区进行操作,即使用户正在使用该分区也不会造成任何问题

答案3

更好的选择是手动挂载新文件系统,并在 /etc/fstab 中添加新文件系统条目,以确保每次重新启动时都会挂载该文件系统。

如上所述,“mount -a”将忽略已挂载的文件系统并仅挂载尚未挂载的文件系统(新文件系统)。

希望这会有所帮助。

相关内容