알아야 할 사항이 있을 경우를 대비해 저는 커널 버전의 GNU+Linux 배포판을 사용하고 있습니다.5.5.5.
자, 다음과 같은 파일이 있다고 가정해 보겠습니다. ~에 따르면. 또한 디렉토리에 다음과 같은 빈 파일만 포함되어 있다고 가정합니다.ㅏ.
이상적으로는십자가이 디렉터리는 해당 콘텐츠를십자가. 그런 다음 파일에 뭔가를 쓰겠습니다.ㅏ또한 다음과 같은 새 빈 파일을 만듭니다.두번째(바꾸다십자가).
내가 달성하고 싶은 예상 동작은 다음과 같습니다.~에 따르면디렉터리 내용은 변경되지 않은 상태로 유지됩니다(예: 빈 파일ㅏ만), 동시에 변경된 내용십자가디렉터리가 유지됩니다.
이것은 제가 드릴 수 있는 가장 간단한 예입니다. 기억해 주세요.~에 따르면많은 파일이 포함되어 있을 수 있으므로 이 작업의 목적은 가능한 한 파일을 복사하지 않는 것입니다.
이것이 가능한지 알고 계십니까? 그렇다면 어떻게 해야 할까요?
감사해요
답변1
당신은 볼 수 있습니다파일 시스템 덮어쓰기, 또는 일부 배포판에서는 여전히 사용 가능오브.
OverlayFS에 대한 설명입니다.리눅스 커널 문서:
파일 시스템 덮어쓰기
이 문서에서는 Linux에서 오버레이 파일 시스템 기능(통합 파일 시스템이라고도 함)을 제공하는 새로운 접근 방식에 대한 프로토타입을 설명합니다. 오버레이 파일 시스템은 하나의 파일 시스템을 다른 파일 시스템 위에 오버레이한 결과인 파일 시스템을 표시하려고 시도합니다.
이것은 OverlayFS의 실제 예제입니다. 두 개의 추가 디렉터리가 필요합니다. 하나는 영구적인 변경 사항을 보관하기 위한 것입니다. 모든 데이터가 거기에 기록되므로 디스크 공간이 그곳에서 소비되고 동일한 파일 시스템의 빈 작업 디렉터리가 필요합니다.
따라서 디렉터리가 세 가지 다른 파일 시스템에 있고 , 및 로 마운트될 수 있다고 가정합니다 /fs1
( /fs2
물론 /fs3
모든 디렉터리가 동일한 파일 시스템에 있을 수 있음).
/fs1/base
/fs2/delta
/fs2/work
/fs3/fork
이전 링크에서 언급한 대로 다음을 사용하여 최종 병합 보기( /fs3/fork
)를 설치할 수 있습니다.
mount -t overlay overlay -olowerdir=/fs1/base,upperdir=/fs2/delta,workdir=/fs2/work /fs3/fork
그게 다야. 제한 사항을 이해하려면 설명서를 읽어야 합니다(예: NFS가 관련된 경우 등).