Bind-mount 및 cryptsetup으로 인해 /proc/self/mountinfo의 루트 경로가 잘립니다.

Bind-mount 및 cryptsetup으로 인해 /proc/self/mountinfo의 루트 경로가 잘립니다.

ext4 파일 시스템과 나중에 바인드 마운트되는 하위 디렉터리를 포함하는 암호화된 컨테이너가 있습니다. 확인해 보니 /proc/self/mountinfo마운트된 루트 디렉터리에 왜인지는 알 수 없는 값이 있습니다.

재현 단계:

cd /tmp
fallocate -l 1G container.luks
cryptsetup luksFormat container.luks
cryptsetup open --type=luks2 container.luks container
mkfs.ext4 /dev/mapper/container
mkdir /mnt/container
mount /dev/mapper/container /mnt/container/
mkdir /mnt/container/subdir
mkdir /tmp/abc
mount -o bind /mnt/container/subdir/ /tmp/abc
cat /proc/self/mountinfo

...
24 1 253:1 / / rw,noatime - ext4 /dev/dm-1 rw
...
56 24 253:5 / /mnt/container rw,relatime - ext4 /dev/mapper/container rw
57 24 253:5 /subdir /tmp/abc rw,relatime - ext4 /dev/mapper/container rw

~에 따르면사람 5 프로세스필드 #4는

루트: 이 마운트의 루트를 형성하는 파일 시스템의 디렉터리 경로 이름입니다.

마지막 행에 필드 #4가 /subdir없는 이유는 무엇입니까 /mnt/container/subdir? 마운트 #57에 대한 정보가 주어지면, 마운트 #57이 마운트 #56의 하위 디렉토리에 대한 바인드 마운트임을 어떻게 추론할 수 있습니까?

참고 사항: umount -R /mnt/container마운트 #57을 무시하십시오.


Billy 삼촌의 답변과 관련 매뉴얼 페이지를 여러 번 다시 읽은 내 설명은 /subdir시스템 어딘가에 잠재적으로 존재하지 않는 장치 마운트 지점의 루트를 살펴보는 것입니다. 253:5이것이 의미가 있기를 바랍니다.

답변1

56 24 253:5 / /mnt/container
57 24 253:5 /subdir /tmp/abc

mount 에 대한 정보가 주어지면 mount 가 mount 하위 디렉터리에 대한 바인드 마운트임을 #57어떻게 추론할 수 있습니까 ?#57#56

그렇지 않습니다. 당신은 그것을 추론하지 않을 것입니다.

두 개의 마운트는 동일한 파일 시스템/장치( 253:5)에 마운트되는 방식으로만 관련됩니다. 둘 중 하나가 다른 것의 "하위 마운트"이거나 이와 유사한 것은 아닙니다. 그들은 서로 독립적입니다.

관련 정보