Para mostrar o caminho de origem da montagem da ligação para montagem após a v2.25.2

6

UPDATE, estou reabrindo essa pergunta porque findmnt não é a resposta.

Basicamente, o resumo do OP é que, desde a versão 2.25.2, o mount não mostra mais seu caminho de origem:

$ 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)

Antes da montagem v2.25.2, ela é usada para relatar a origem da montagem:

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

Isso é muito inconveniente para mim, como

  • Consegui fazer umount mount_source antes, mas agora só posso fazer umount mount_target
  • Eu vinculo a montagem de determinada fonte como somente leitura e tenho um script para ativar e desativar o RW para essas montagens de ligação. Mas com a nova montagem (v2.25.2 +), não posso mais fazer isso.

E o findmnt não é a resposta para meus problemas acima:

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

Ou seja, ele não mostra que /var/crash vem de /export/crash . (NB, se você testar com bind mount de /tmp/crash ou similar, você verá /tmp/crash na fonte, mas eu preciso ver a /export part, meu ponto de montagem).

Por favor ajude.

== O seguinte é o OP original == :

A sintaxe para bind mount sempre foi

mount --bind olddir newdir

No entanto, notei uma diferença em como mount relata as montagens de ligação entre o Ubuntu 14.10 Utopic e o Ubuntu 15.04 Vivid, ou seja, mount v2.25.1 e mount v2.25.2.

No Ubuntu 14.10 Utopic, o mount relata as montagens de bind assim:

$ 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)

No entanto, no Ubuntu 15.04 Vivid, é assim:

$ 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)

Ou seja, o caminho de origem da montagem de ligação está ausente do relatório mount . Para ambos os casos, eu uso a sintaxe exata para bind mount como acima.

Como posso fazer mount show caminho de origem de ligação no Ubuntu 15.04 Vivid (mount v2.25.2)?

    
por xpt 19.05.2015 / 00:33

2 respostas

2

O que você pode fazer é usar o / 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
    
por 05.07.2018 / 04:26
4

Você já considerou usar findmnt ?

mount armazena suas informações em / proc / mounts (ou / proc / self / mounts), que é vinculado a / etc / mtab. mount simplesmente catará este arquivo e não armazenará mais informações de ligação.

    
por 19.05.2015 / 01:11