Overlayfs는 archivemount를 커버합니다.

Overlayfs는 archivemount를 커버합니다.

overlayfs설치된 파일 시스템을 사용하여 오버레이를 적용 하려고 합니다 archivemount.

mkdir -p {upper,work,mount}
tar zcf somefile upper/ work/ mount/
mkdir tmp
archivemount -o allow_root -o fsname=ext4 somefile tmp
sudo mount -t overlay -o lowerdir=/,upperdir=tmp/upper,workdir=tmp/work overlayfs tmp/mount

그러나 다음과 같은 경우 설치가 실패합니다.

mount: /tmp/test8/tmp/mount: wrong fs type, bad option, bad superblock on overlayfs, missing codepage or helper program, or other error.

dmesg를 보면 다음과 같습니다.

overlayfs: filesystem on 'tmp/upper' not supported as upperdir

archivemount가 지원되지 않는 이유는 무엇입니까? 이 문제를 해결할 방법이 있나요?

답변1

이것Overlayfs 커널 모듈에 대한 문서상태:

trusted.*상위 파일 시스템은 일반적으로 쓰기 가능하며, 그렇다면 확장 속성 생성을 지원하고 유효한 d_type응답을 제공해야 하므로 readdirNFS는 적합하지 않습니다.

따라서 archivemount이러한 기능 중 어느 것도 구현되지 않아 다음 용도로 사용하기에 부적합할 수 있습니다.쓰기 가능파일 시스템을 덮어씁니다.

문서는 계속됩니다.

두 개의 읽기 전용 파일 시스템으로 구성된 읽기 전용 오버레이는 모든 파일 시스템 유형을 사용할 수 있습니다.

따라서 읽기 전용 overlayfs가 귀하의 필요에 충분하다면 그 이상으로 설정하면 archivemount하위 레이어에서도 작동할 것입니다. 이 경우 모든 것을 읽기 전용으로 마운트하기만 하면 됩니다.


FUSE 설치를 overlayfs에서 쓰기 가능한 상위 계층으로 사용하기에 부적합하게 만드는 FUSE 프로토콜 자체에는 제한이 없습니다.

특히 FUSE는 확장 속성을 쿼리하고 설정하는 함수를 노출하며, d_type채워질 구현 필드도 노출합니다.

그러나 특정 FUSE 애플리케이션을 사용하려면 이러한 기능을 구현해야 합니다.

확장된 속성과 관련하여 별도의 기술적 제한은 archivemount모든 아카이브 형식이 확장된 속성 저장을 지원하는 것은 아니므로 archivemount확장된 속성에 대한 지원이 구현되더라도 지원되는 모든 아카이브 형식에서 작동하지 않을 수 있다는 것입니다.

(문서 참조--xattrsGNU tar 옵션자세한 내용을 알아보세요. )

관련 정보