Dua*_*Yao 3 linux mount proc overlayfs
在linux上(4.4.59和4.9.8测试过)运行以下命令会失败:
mkdir -p /tmp/proc
mount -t overlay overlay -o lowerdir=/proc:/tmp/proc /tmp/proc
Run Code Online (Sandbox Code Playgroud)
并且有一条错误消息dmesg:
overlayfs: maximum fs stacking depth exceeded
Run Code Online (Sandbox Code Playgroud)
为什么不能/proc是覆盖文件系统的一层?
如果我替换/proc为/devor /sys,它安装时不会出现问题,所以看起来/proc.
PS 用例是创建一个更安全的chroot环境,我想/dev在. 有 2 个已知的解决方法:/sys/procchroot
mount -t proc -o ro none /tmp/proc. 限制是子安装不会自动映射。不管怎样,我仍然很好奇为什么/dev并且/sys可以很好地使用叠加,但/proc事实并非如此。
该问题是从 stackoverflow迁移的。
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;
Run Code Online (Sandbox Code Playgroud)
这可能不是一个信息丰富的答案,但内核开发人员特别不支持它。