我有一个加密容器,其中包含一个 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 是
root:文件系统中形成此挂载根的目录的路径名。
为什么最后一行的字段 #4/subdir
不是/mnt/container/subdir
?给定挂载 #57 的信息,我如何推断出挂载 #57 是挂载 #56 的子目录的绑定挂载?
旁注:umount -R /mnt/container
忽略挂载 #57。
鉴于比利叔叔的回答以及对相关手册页的多次重读,我的解释是从系统中某处/subdir
潜在的不存在的设备挂载点的根部进行查看。253:5
我希望这是有道理的。
答案1
56 24 253:5 / /mnt/container 57 24 253:5 /subdir /tmp/abc
给定 mount 的信息
#57
,我如何推断出 mount#57
是 mount 子目录的绑定安装#56
?
它不是。你不会推断出这一点。
两个挂载仅通过相同文件系统/设备的挂载而相关(253:5
);并不是说它们中的任何一个都是另一个或类似的东西的“子安装”。他们彼此独立。