overlayfs 명령이 작동하지 않는 이유는 무엇입니까?

overlayfs 명령이 작동하지 않는 이유는 무엇입니까?

다음 명령은 루트 오버레이를 생성하여 루트에 대한 모든 수정 사항이 /tmp/upper에 표시되도록 해야 합니다.

그러나 보시다시피 작동하지 않는 것 같습니다. 누구든지 내가 뭘 잘못하고 있는지 제안할 수 있나요?

여기 구문을 따르고 있습니다.https://www.kernel.org/doc/Documentation/filesystems/overlayfs.txt

감사해요

ubuntu@ip-10-0-0-48:~$ sudo su
root@ip-10-0-0-48:/home/ubuntu# cd /tmp
root@ip-10-0-0-48:/tmp# mkdir upper
root@ip-10-0-0-48:/tmp# mkdir workdir
root@ip-10-0-0-48:/tmp# mount -t overlay overlay -olowerdir=/,upperdir=/tmp/upper,workdir=/tmp/workdir  /
root@ip-10-0-0-48:/tmp# touch /floob
root@ip-10-0-0-48:/tmp# ls /
bin  boot  dev  etc  floob  home  initrd.img  lib  lib64  lost+found  media  mnt  opt  proc  root  run  sbin  snap  srv  sys  tmp  usr  var  vmlinuz  x
root@ip-10-0-0-48:/tmp# ls /tmp/upper/
root@ip-10-0-0-48:/tmp#

답변1

결국 나는 관심 있는 각 최상위 디렉터리에 대해 하나씩 여러 개의 오버레이를 만들었습니다.

이 연습의 목적은 패키지 설치 중 변경된 사항을 격리하는 것인데, 대부분의 경우 이 방법으로 충분합니다.

#/bin/bash
array=( lib home opt bin boot var etc usr srv lib64 root sbin  )
mkdir -p /ovl
cd /ovl
rm -rf /ovl/overlay
rm -rf /ovl/workdir
mkdir -p /ovl/overlay
mkdir -p /ovl/workdir

for i in "${array[@]}"
do
  mkdir -p /ovl/overlay/${i}
  mkdir -p /ovl/workdir/${i}
  mount -t overlay overlay -o lowerdir=/${i},upperdir=/ovl/overlay/${i},workdir=/ovl/workdir/${i} /${i}
done

관련 정보