同じボックスに複数のディストリビューションが共有するホームパーティションがあります。 bind
からのfstab
マウントを使用しています。 Linuxの各インストールには、次のようなものがあります。
_UUID=[...] /mnt/data ext4 nodev,nosuid 0 2
/mnt/data/Arch /home none defaults,bind 0 0
/mnt/data/files /files none defaults,bind 0 0
_
不利な点は、もちろん、_/mnt/data/Arch
_と_/mnt/data/files
_が2回マウントされることです。思い切って_umount /mnt/data
_を試してみましたが、これは期待どおりに機能しているようです。mount
によると、デバイスは_/home
_と_/files
_にのみマウントされています。
私の質問は:
fstab
のみを使用して_umount /mnt/data
_と同じ効果を得ることができますか?または、_rc.local
_でそれを行うことができますか?バインドマウントされたコピーの1つをアンマウントしても安全です。 mount --bind /foo /bar
を実行した後、カーネルは/foo
または/bar
のどちらが最初に来たかを追跡しません。これらは、同じファイルシステム(またはファイルシステムの一部)の2つのマウントポイントです。
/foo
がマウントポイントであるが/foo/wibble
がそうでない場合、mount --bind /foo/wibble /bar
は/bar
を/foo
にマウントされているファイルシステムの一部を指すようにすることに注意してください。 /foo
をアンマウントしても問題ありません。
したがって、/mnt/data
をマウントしてから、その一部を/home
と/files
にバインドし、/mnt/data
をアンマウントすると、Arch
とfiles
の外側の/mnt/data
の部分にアクセスできなくなります。それが気にならない場合は、それを行ってください。
fstab
ではそれを実現することはできません。ファイルシステムのマウントのみをサポートしています。バインドマウントはハックを介して侵入します(bind
マウントオプションは、内部的にmount
コマンドの--bind
オプションに変換されます)。 mount --move
およびアンマウントはfstab
で指定できません。 /etc/rc.local
を使用してumount
を呼び出すことができます。