다음 명령은 루트 오버레이를 생성하여 루트에 대한 모든 수정 사항이 /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