/와 / 자체의 다른 디렉토리를 병합하는 통합체를 만드는 방법은 무엇입니까?

/와 / 자체의 다른 디렉토리를 병합하는 통합체를 만드는 방법은 무엇입니까?

/예를 들어, 처음에는 다음이 있습니다 .

/bin/foo
/usr/bin/bar
/usr/lib/libfoo.so

/stuff예를 들어 내용이 다음과 같은 또 다른 디렉토리가 있습니다 .

usr/lib/mystuff/mystuff.so
etc/foo/qux/buzz
bin/stuff

다음과 같은 결과를 얻을 수 있도록 /과 사이에 통합을 만드는 방법이 있나요 ?/stuff

/bin/foo
/bin/stuff
/usr/bin/bar
/usr/lib/libfoo.so
/usr/lib/mystuff/mystuff.so
/etc/foo/qux/buzz

(그리고 거기에 있는 모든 것은 /stuff거기에 표시되지 않습니다.)

이 동맹은 다음과 같아야합니다.일시적인cp(파일 시스템 마운트와 마찬가지로) 그렇지 않으면 , mv또는 를 사용할 수도 있습니다 rsync.

어떻게 해야 하나요?

이 질문에 대한 답은 쉽게 찾을 수 있을 것으로 예상됩니다. 실제로 두 디렉토리 사이에 통합을 생성하고 이를 다른 곳에 마운트하는 것을 언급하는 온라인 리소스가 많이 있지만 마운트 디렉토리 "위에"라는 특별한 경우를 실제로 다루는 곳은 없습니다 /.

답변1

지속적인 실시간 배포를 예로 들어보세요.

모든 통합 마운트 방법이 루트 디렉터리에서 작동하는 것은 아닙니다. 여기에는 Unionfs, aufs 및 overlayfs가 포함됩니다. Overlayfs는 최신 Linux 시스템에서 사용되는 방식입니다.

존재하다파일 시스템 덮어쓰기, 하위 파일 시스템과 상위 파일 시스템이 결합되어 상위 파일 시스템이 우선적으로 쓰기를 수신하게 됩니다. 쓰기 가능한 공용체를 얻으려면작업 디렉터리를 지정해야 합니다.overlayfs에서 메타데이터를 저장하는 데 사용됩니다. 이는 상위 디렉터리와 동일한 파일 시스템에 있는 빈 디렉터리여야 합니다.

mkdir /stuff/.overlayfs.work
mount -t overlay -o lowerdir=/,upperdir=/stuff,workdir=/stuff/.overlayfs.work overlay /

관련 정보