Linux:同一设备安装在不同的挂载点上

Linux:同一设备安装在不同的挂载点上

我有一个以下系统/etc/mtab

/dev/disk/by-label/foobar /etc/somefile ext4 rw,relatime,data=ordered 0 0
/dev/disk/by-label/foobar /var/lib/somedir ext4 rw,relatime,data=ordered 0 0
/dev/disk/by-label/foobar /mnt/foobar ext4 rw,relatime,data=ordered 0 0
/dev/disk/by-label/foobar /mnt/foobar/somedir ext4 rw,relatime,data=ordered 0 0

即同一个设备挂载在不同的挂载点。此外:

  1. 这些目录有不同的内容(这排除了这种mount --bind情况)
  2. 其中一些挂载点是常规文件

奇怪的是,df -h只显示其中一个挂载点:

/dev/disk/by-label/foobar    2.8G   70M  2.6G   3% /mnt/foobar

这怎么可能?发生了什么事?

答案1

我猜 /etc/mtab 显示的就是使用绑定挂载的结果。您可以绑定挂载任何目录,我猜您看到的就是该结果。

$ mkdir test/ /tmp/test
$ sudo mount --bind test/ /tmp/test
$ cat /proc/mounts
<..snip...>
/dev/root /tmp/test ext4 rw,noatime,data=ordered 0 0

这个问题提供了更深入的解释/例子:https://unix.stackexchange.com/questions/128471/determine-what-device-a-directory-is-located-on

df -h没有显示这些,因为绑定挂载是“虚拟”文件系统,并且df需要-a显示这些。

相关内容