ルートを lowerdir として overlayfs をインストールすると、mergedir に空の /proc が生成されるのはなぜですか?

ルートを lowerdir として overlayfs をインストールすると、mergedir に空の /proc が生成されるのはなぜですか?

テストケースは次のとおりです。

#!/bin/bash

more="$@"
saved="$EUID"

if [ "$EUID" = "0" ]; then
    echo "don't run as root"
    exit
fi

m="/tmp/mount-point"

exec sudo unshare -m /bin/bash <<UNSHARED
mkdir -p "$m"
mount -t tmpfs tmpfs "$m"
cd "$m"
mkdir top merge work

mount -t overlay overlay -o lowerdir=/,upperdir=top,workdir=work merge

#bash < /dev/tty
chroot merge sh -c 'sudo -u "#$saved" sh -c "id; ls /proc -lR"'
UNSHARED

これが印刷される内容です。

uid=1001(username) gid=1001(username) groups=1001(username),7(lp),10(wheel)
/proc:
total 0

/proc推測できるように、Myがインストールされており、ビッグFS

ベストアンサー1

管理者Miklos Szerediの回答:

これがoverlayfsの仕組みです。 / mergeの下に新しいprocインスタンスをマウントします。

だから私は、overlayfsがユーザースペースで見ることができる一般的なマウントされた複合イメージではなく、指定されたディレクトリから統合ファイルシステムを起動すると推測します。また:

これを可能にするいくつかのユーザースペースのバリエーションがあります。たとえば、Unionfs-fuse です。

ありがとう、
ミクロス

おすすめ記事