Beaucoup de gens continuent de dire que Linux ne conserve pas d'informations sur les montages de liaison, il n'y a donc aucun moyen d'obtenir une liste d'entre eux et leurs sources. Voici quelques exemples:
à partir d' un des commentaires ici :
IIRC cette information n'est conservée nulle part: après
mount --bind
, les deux exemplaires sont équivalents, il n'y en a pas un qui soit plus «original» que l'autre. Après tout, il ne pourrait y avoir d'original si vous l'aviez déjà démonté/mnt
.-
Donc, la seule façon de se souvenir des montures étaient des montures de liaison est le journal des commandes de montage restantes
/etc/mtab
. Une opération de montage de liaison est indiquée par l'option de montage de liaison (qui entraîne l'ignorance du type de système de fichiers). Mais mount n'a pas d'option pour répertorier uniquement les systèmes de fichiers montés avec un ensemble particulier d'ensembles d'options. à partir d' un rapport de bogue Debian :
C'est intentionnel. Les deux points de montage sont entièrement égaux à tous égards, de sorte que le noyau ne conserve aucun indicateur pour les différencier.
Ce qui précède est cependant insensé. L'outil findmnt
est capable de répertorier les chemins source des montages de liaison (sous la forme de device[source-path]
; j'essaie également de le faire lister uniquement le chemin source et non le périphérique). Si le noyau Linux doit maintenir un montage de liaison, alors ces informations doivent être stockées quelque part , sinon il ne pourrait pas savoir à quoi il /home
est lié /users
. Alors, où sont ces données? Est-il stocké dans une région obscure de la RAM? Est -ce que findmnt
regarder dans /proc
quelque part?
/proc/self/mountinfo
restructuration a été relativement récente. J'étais sur ma machine RHEL6 avant qui n'avait pas les informations de chemin mais ma machine RHEL7 en a et comme mentionné dans votre lien Wheezy aussi.
/dev/A
est monté à /B
et vous le faites mount --bind /B /C
, les noyaux plus anciens ne se souviennent que de, /B → /dev/A
et /C → /dev/A
ils ne se souviennent d'aucune relation entre /B
et /C
. Le démontage /B
n'a donc naturellement aucun effet /C
. Les noyaux plus récents se souviennent que /C
c'était un montage de liaison /B
, mais d'une manière qui n'empêche pas /C
de continuer à fonctionner s'il /B
n'est pas monté, je ne sais pas exactement comment.
findmnt
utilisez-vous et quelles options proposez-vous? Le mien ne l'imprime pas comme ça et regarde le code source qu'il semble utiliser_PATH_PROC_MOUNTINFO
et/proc/self/mountinfo
qui ne contient pas non plus ces informations.