6

ОБНОВЛЕНИЕ, я вновь открываю этот вопрос, поскольку findmnt не является ответом.

По сути, сводка OP заключается в том, что начиная с версии 2.25.2, mount больше не показывает путь к исходному коду:

$ mkdir -v /export/crash
mkdir: created directory '/export/crash'

$ mount -v --bind /export/crash /var/crash
mount: /export/crash bound on /var/crash.

$ mount | grep crash 
/dev/sdb2 on /var/crash type ext3 (rw,noatime,nodiratime,data=ordered)

До монтирования v2.25.2 он сообщал об источнике монтирования:

$ mount | grep crash 
/export/crash on /var/crash type ext3 (rw,noatime,nodiratime,data=ordered)

Это очень неудобно для меня, так как

  • Я мог сделать umount mount_source раньше, но теперь я могу сделать только umount mount_target
  • Я связываю монтирование из определенного источника только для чтения, и у меня есть скрипт для включения и выключения RW для этих монтируемых монтирований. Но с новым креплением (v2.25.2+) я больше не могу этого делать.

И findmnt не является ответом на мои вышеуказанные проблемы:

$ findmnt | grep crash
└─/var/crash   /dev/sdb2[/crash]   ext3    rw,noatime,nodiratime,data=ordered

То есть, это не показывает, что /var/crash происходит из /export/crash . (Примечание: если вы тестируете с bind mount из /tmp/crash или аналогичным образом, вы увидите /tmp/crash в исходном коде, но мне нужно увидеть часть /export , мою точку монтирования).

Пожалуйста помоги.

== Ниже приведен оригинальный OP ==:

Синтаксис для bind mount всегда был

mount --bind olddir newdir

Тем не менее, я заметил разницу в том, как mount сообщает о монтировании bind между Ubuntu 14.10 Utopic и Ubuntu 15.04 Vivid, т.е. mount v2.25.1 и mount v2.25.2.

В Ubuntu 14.10 Utopic mount сообщает о монтировании связывания следующим образом:

$ mount | grep www
/my/path/to/www on /var/www type none (rw,bind)

$ mount -V   
mount from util-linux 2.25.1 (libmount 2.25.0: selinux, assert, debug)

Однако в Ubuntu 15.04 Vivid это выглядит так:

$ mount | grep www 
/dev/sda11 on /var/www type ext3 (rw,noatime,nodiratime,data=ordered)

$ mount -V   
mount from util-linux 2.25.2 (libmount 2.25.0: selinux, assert, debug)

То есть в отчете о mount отсутствует исходный путь монтирования . В обоих случаях я использую точный синтаксис для bind mount, как указано выше.

Как мне сделать так, чтобы путь mount show bind mount монтировался в Ubuntu 15.04 Vivid (mount v2.25.2)?

2 ответа2

5

Вы рассматривали возможность использования findmnt?

mount хранит свою информацию в /proc /mounts (или /proc /self /mounts), который является символической ссылкой на /etc /mtab. mount просто зацепит этот файл и больше не будет хранить информацию о привязке.

3

Что вы можете сделать, так это grep /proc/self/mountinfo:

$ less /proc/self/mountinfo | grep /my/mount
221 84 8:3 /bind/source /my/mount rw,relatime shared:32 - ext4 /dev/sda3 rw,data=ordered

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .