Linuxで次のコマンドを実行すると(4.4.59および4.9.8でテスト済み)、失敗します。
mkdir -p /tmp/proc
mount -t overlay overlay -o lowerdir=/proc:/tmp/proc /tmp/proc
エラーメッセージがありますdmesg
。
overlayfs: maximum fs stacking depth exceeded
/proc
ファイルシステムを覆うレイヤーにできないのはなぜですか?に
交換するか、問題なくインストールすると、次のようになります。/proc
/dev
/sys
/proc
PSユースケースは、より安全なchroot
環境を作成することですが、これを/dev
実行しようとしています。既知の解決策は2つあります。/sys
/proc
chroot
- 読み取り専用バインドマウント。制限は必須コマンドではなく、2 つのコマンドです。
- 読み取り専用特殊マウント:
mount -t proc -o ro none /tmp/proc
制限は、サブマウントが自動的にマップされないことです。
/dev
とにかく、なぜオーバーレイが/sys
正しく機能するのかはまだ疑問に思っていますが、うまく/proc
いきません。
問題が移行されました。スタックオーバーフローで。
ベストアンサー1
https://github.com/torvalds/linux/commit/e54ad7f1ee263ffa5a2de9c609d58dfa27b21cd9
/*
* procfs isn't actually a stacking filesystem; however, there is
* too much magic going on inside it to permit stacking things on
* top of it
*/
s->s_stack_depth = FILESYSTEM_MAX_STACK_DEPTH;
これは有益な答えではないかもしれませんが、カーネル開発者は特にサポートしていません。