Linuxで名前空間をマウントする際に奇妙な問題が発生しました。 Fedora 16でカーネル3.2.3-2を実行するX86_64という2つのシステムがあります。tmpfs
以下を使用して作成されたサブネームスペースにファイルシステムをマウントしようとしていますunshare
。
unshare -m /bin/bash
マニュアルページから:
mount namespace
mounting and unmounting filesystems will not affect rest of the
system (CLONE_NEWNS flag),
あるシステムでは、期待どおりに動作します。つまり、これで始まる場合:
# ls /mnt
file1 file2 file3
次に、サブネームスペースにファイルシステムをマウントしますtmpfs
。/mnt
# PS1="child# ' unshare -m /bin/bash
child# mount -t tmpfs tmpfs /mnt
の内容は/mnt
サブネームスペースでマスクされます。
child# ls /mnt
child#
ただし、親エントリには引き続き表示されます。
# ls /mnt
file1 file2 file3
2番目のシステムでは、まったく同じコマンドシーケンスのため、親と子の名前空間の両方にマウントが表示されます。つまり、このunshare
コマンドは実際には別々のマウントネームスペースを生成しないようです。
2つのシステム間の実質的な違いはわかりません。 1つはデスクトップ環境を実行しており、もう1つはそうではありません。 SELinux は両方のシステムで無効になります。
これらの動作の違いの原因が何であるかに関する提案を探しています。
ベストアンサー1
サンドボックスサービスが実行されていることを確認してください。
systemctl status sandbox.service
その場合は、終了して再起動してからやり直してください。これは私にとって効果的です。