As montagens de ligação não são um tipo de sistema de arquivos nem um parâmetro de um sistema de arquivos montado; eles são parâmetros de uma operação de montagem . Até onde eu sei, as seguintes sequências de comandos levam a estados do sistema essencialmente idênticos no que diz respeito ao kernel:
mount /dev/foo /mnt/one; mount --bind /mnt/one /mnt/two
mount /dev/foo /mnt/two; mount --bind /mnt/two /mnt/one
Portanto, a única maneira de lembrar quais montagens foram ligadas é o log dos comandos mount
restantes em /etc/mtab
. Uma operação de montagem de ligação é indicada pela opção bind
mount (que faz com que o tipo de sistema de arquivos seja ignorado). Mas mount
não tem opção de listar apenas sistemas de arquivos montados com um conjunto particular de conjuntos de opções. Portanto, você precisa fazer sua própria filtragem.
mount | grep -E '[,(]bind[,)]'
</etc/mtab awk '$4 ~ /(^|,)bind(,|$)/'
Observe que /etc/mtab
só é útil aqui se for um arquivo de texto mantido por mount
. Algumas distribuições configuram /etc/mtab
como um link simbólico para /proc/mounts
; /proc/mounts
é principalmente equivalente a /etc/mtab
, mas tem algumas diferenças, uma das quais não acompanha as montagens de bind.
Uma informação retida pelo kernel, mas não mostrada em /proc/mounts
, é quando um ponto de montagem mostra apenas uma parte da árvore de diretórios no sistema de arquivos montado. Na prática, isso acontece principalmente com montagens de bind:
mount --bind /mnt/one/sub /mnt/partial
Em /proc/mounts
, as entradas para /mnt/one
e /mnt/partial
têm o mesmo dispositivo, o mesmo tipo de sistema de arquivos e as mesmas opções. As informações que /mnt/partial
mostra apenas a parte do sistema de arquivos com raiz em /sub
é visível nas informações de ponto de montagem por processo em /proc/$pid/mountinfo
(coluna 4). As entradas lá são assim:
12 34 56:78 / /mnt/one rw,relatime - ext3 /dev/foo rw,errors=remount-ro,data=ordered
12 34 56:78 /sub /mnt/partial rw,relatime - ext3 /dev/foo rw,errors=remount-ro,data=ordered