
mount --bind
私は、あるファイルシステムのファイルを、ファイルシステムext4,rw
内の別のファイルに「オーバーレイ」するために使用しますext4,ro
。たとえば、/etc/hosts
は読み取り専用/
パーティションにありますが、/rw/etc/hosts
書き込み可能な別のパーティションがあります。
# mount --bind /rw/etc/hosts /etc/hosts
/etc/hosts
への書き込みはすべて/rw/etc/hosts
これは では問題なく動作しました
CentOS 6.3
。
# mount -o ro /dev/sdc1 /ro
# mount -o rw /dev/sdc2 /rw
# mount --bind rw/test ro/test
# echo 1 > rw/test
# cat ro/test
1
# echo 2 > ro/test # [1]
# cat rw/test
2
CentOS 6.4
しかし、上記の手順を繰り返しても動作しませんが、書き込もうとするとエラーが発生しますro/test
。
# echo 2 > ro/test # [1]
-bash: ro/test: Read-only file system
SELinux
無効になっています。これが機能しなくなる原因は何でしょうか?
CentOS 6.3カーネル: 2.6.32-279.22.1.el6.x86_64
CentOS 6.4カーネル:2.6.32-358.el6.x86_64
および2.6.32-358.2.1.el6.x86_64
答え1
これが機能しなくなる原因は何でしょうか?
おそらくfsfreezeのサポートとともにカーネルに導入されたバグでしょう。番号 951311これを追跡します。
答え2
# mount --bind rw/test ro/test
# echo 1 > rw/test
ディレクトリのみをマウントできます。
echo を使用してディレクトリに書き込むことはできません。
おそらくあなたは
# mount --bind rw ro