マウントポイントが共有されているかどうかを簡単に確認する方法はありますか?

マウントポイントが共有されているかどうかを簡単に確認する方法はありますか?

mount--make-shared上記のオプションがあります。ここ。しかし、特定のマウントポイントが共有されているかどうかはどうすればわかりますか?

答え1

Linux /proc/mountsin.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:GROUPunbindable-

したがって:

</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

関連情報