mount
--make-shared
上記のオプションがあります。ここ。しかし、特定のマウントポイントが共有されているかどうかはどうすればわかりますか?
答え1
Linux /proc/mounts
in.here共有オプション/proc/self/mountinfo
このファイルに表示するには新しいものですが、1には表示されます。このファイルのドキュメントは次の場所にあります。filesystems/proc.txt
カーネル文書から。このファイルは以下によって生成されました。show_mountinfo
存在するfs/namespace.c
。例示的な行は次のとおりです。
42 18 98:0 / /mount_point rw shared:1 - ext3 /dev/sda1 rw,errors=continue
^^^^^^^^
最初の6つのフィールドの形式は固定されています。その後、ピアグループにマウントされている役割(存在する場合)を示す、またはshared:GROUP
などmaster:GROUP
のゼロ個以上のフラグフィールドが続きます。ファイルシステム固有のセクションについて説明し、常にファイルシステムタイプ名、デバイス名、およびファイルシステム固有のマウントオプションで構成されています。propagate_from:GROUP
unbindable
-
したがって:
</proc/self/mountinfo awk -vmount_point='/mount/point' '
$5 == mount_point {
i = 7;
while ($i != "-") {if ($i ~ /^shared:/) exit 0; ++i}
exit 1;
}'
¹最新のLinuxカーネルでは、各プロセスに独自のファイルシステム名前空間があり/proc/mounts
ます/proc/self/mounts
。