테스트 사례는 다음과 같습니다.
#!/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입니다.
고마워요,
미클로스