폴더 복사 - 대상에서 다른 사용 공간 확보(FreeBSD 및 UFS 사용)

폴더 복사 - 대상에서 다른 사용 공간 확보(FreeBSD 및 UFS 사용)

그래서 하위 폴더가 포함된 폴더를 다른 디스크에 백업해 보았는데 맞지 않았습니다.

나는 사용했다

rsync -aiv --delete /mysrc /mydest

소스에는 어떤 종류의 링크(심볼릭 또는 하드)도 없습니다.

나는 달렸다

du -d 1 -h

원본에서는 하위 폴더 1개가 약 195GB였지만 대상으로 전송한 후에는 동일한 명령을 기준으로 260GB 이상을 차지합니다.

따라서 365GB 소스 폴더를 450GB(포맷된 크기) 디스크에 넣을 수 없습니다.

두 드라이브 모두 UFS로 포맷되었습니다. 엄청난 차이에 대해 어떻게 생각하시나요?

감사합니다 :)

편집하다. 방금 다음을 사용하여 다른 하위 폴더를 복사해 보았습니다.

cp -av mysrc mydest/

새 디스크(320GB, UFS로 포맷)에 저장합니다. du에 따르면 폴더는 소스에서 약 144GB를 차지합니다. 그런데 목적지에서 du를 실행하면 165GB 정도를 사용하게 됩니다.

답변1

파일이 "희소"(즉, 할당되지 않은 빈 구멍이 포함된 파일)인 경우 파일을 읽고 쓰는 모든 종류의 복사 메커니즘을 사용하여 논리적으로 복사하여 이 결과를 얻을 수 있습니다. rsync(예: --sparse)를 사용하여 스파스 파일을 복사하는 옵션이 있습니다. 이 옵션을 사용해 보세요.

또 다른 문제는 대상 파일 시스템에 구성된 블록 크기의 기본 크기일 수 있습니다. 그것들이 동일하지 않다면, 당신은 당신이 보고 있는 것을 경험하고 있을 수도 있습니다. 즉, 대상 디스크에서 블록 크기를 8K로 설정한다고 가정하면 크기가 0에서 8196바이트 사이의 모든 파일은 하나의 클러스터를 사용합니다. 따라서 블록 크기의 배수가 아닌 파일을 복사하면 각 파일의 끝에 있는 블록이 할당되었으나 사용되지 않을 수 있습니다. 작은 파일이 많으면 문제가 될 수 있습니다.

이것은 당신이 볼 수 있는 것에 대한 나의 최선의 추측입니다.

관련 정보