Назад | Перейти на главную страницу

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

Как это возможно? В чем дело?

Я предполагаю, что / 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 показать тех.