커널(Linux)에 문의하여 어떤 디렉토리가 "mount -o 바인딩"인지 알아보세요.

커널(Linux)에 문의하여 어떤 디렉토리가 "mount -o 바인딩"인지 알아보세요.

그렇게 하면 mount -o bind /my/dir /mnt/tmp안에 무엇이 있는지 볼 수 있어요. 그러나 입력하면 다음과 같은 결과가 나타납니다./my/dir/mnt/tempcat /proc/mounts

/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

보시다시피 이것이 sda7기본 장치라는 것은 알지만 이 파일 시스템의 어느 디렉터리가 "마운트 바인딩"되어 있는지는 알 수 없습니다 /mnt/temp.

mount입력하지 않고 커널 종속이 아니라 종속인지 어떻게 알 수 있습니까 /etc/mtab?커널 자체에서 정보를 얻고 싶습니다.

편집하다:이 솔루션이 바인딩된 디렉터리에도 작동한다면 좋을 것입니다.설치 중/etc/fstab이 줄 에서 :/my/dir /mnt/temp none bind 0 0

답변1

이 정보는 다음에서 얻을 수 있습니다 /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

커널에서 이 기능을 구현하는 패치는 다음과 같습니다.https://lkml.org/lkml/2008/1/29/136

다음 명령을 사용할 수도 있습니다 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

편집하다: 또한 를 통해 설치할 때 이 방법이 작동하는 것을 확인했습니다 /etc/fstab.

# tail -1 /etc/fstab 
/my/dir  /mnt/temp  none  bind  0 0

관련 정보