Si je mount -o bind /my/dir /mnt/tmp
, je peux voir le contenu de /my/dir
dans /mnt/temp
. Cependant, si je tape cat /proc/mounts
, j'obtiens la sortie suivante:
/dev/sda7 /my ext4 rw,relatime,user_xattr,barrier=1,data=ordered 0 0 /dev/sda7 /mnt/tmp ext4 rw,relatime,user_xattr,barrier=1,data=ordered 0 0
Comme vous pouvez le voir, je sais que sda7
est le périphérique sous-jacent, mais je ne sais pas quel directory dans ce système de files est "mount bound" dans /mnt/temp
.
Comment puis-je savoir que sans taper mount
qui ne dépend pas du kernel mais de /etc/mtab
? Je voudrais get l'information du kernel lui-même.
EDIT: ce serait bien si la solution pouvait aussi fonctionner pour les directorys liés au moment du assembly depuis /etc/fstab
avec ce type de ligne: /my/dir /mnt/temp none bind 0 0
Vous pouvez get cette information à partir de /proc/self/mountinfo
:
# mkdir -p /my/dir # mkdir /mnt/temp # mount -o bind /my/dir /mnt/temp # grep temp /proc/self/mountinfo 26 22 202:1 /my/dir /mnt/temp rw,noatime - ext3 /dev/xvda1 rw,errors=continue,user_xattr,acl,barrier=0,data=ordered
Voici le patch qui a implémenté ceci dans le kernel: https://lkml.org/lkml/2008/1/29/136
Vous pouvez également utiliser la command findmnt
:
# findmnt /mnt/temp TARGET SOURCE FSTYPE OPTIONS /mnt/temp /dev/xvda1[/my/dir] ext3 rw,noatime,errors=continue,user_xattr,acl,barrier=0,data=ordered
EDIT : J'ai également vérifié que cette méthode fonctionne lorsqu'elle est montée via /etc/fstab
.
# tail -1 /etc/fstab /my/dir /mnt/temp none bind 0 0