Чтобы показать исходный путь монтирования привязки для монтирования после v2.25.2

Чтобы показать исходный путь монтирования привязки для монтирования после v2.25.2

ОБНОВЛЕНИЕ. Я снова поднимаю этот вопрос, так как 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)

До версии mount 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 ==:

Синтаксис для привязки монтирования всегда был

mount --bind olddir newdir

Однако я заметил разницу в том, как mountотображаются монтирования привязки между Ubuntu 14.10 Utopic и Ubuntu 15.04 Vivid, т. е. монтирование v2.25.1 и монтирование 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отчете. В обоих случаях я использую точный синтаксис для монтирования привязки, как указано выше.

Как мне mountтогда заставить show bind mount source path в Ubuntu 15.04 Vivid (mount v2.25.2)?

решение1

Что вы можете сделать, так это выполнить 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

решение2

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

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

Связанный контент