@Oscar는 올바른 방향으로 우리를 가리 켰습니다. 그러나 공간을 확보하기 위해 1MB로 작고 컴팩트하게 변환 할 필요는 없습니다.
대신, sparsebundle을 다른 새 sparsebundle로 복사하십시오. 차례로 이미지를 조각 모음합니다. 동시에 파일 시스템, 크기 및 밴드를 변경할 수 있습니다.
다음은 최근에 수행 한 예이며 장치간에 동기화되는 20GB "코드"이미지를 변환합니다.
$ hdiutil create -size 20g -type SPARSEBUNDLE \
-imagekey sparse-band-size=2048 -fs HFSX \
-volname code -attach ~/sync/images/code.sparsebundle
로 모든 옵션을 참조하십시오 hdiutil create -help
.
이 명령은 다음을 출력합니다.
/dev/disk3 GUID_partition_scheme
/dev/disk3s1 EFI
/dev/disk3s2 Apple_HFS /Volumes/code
created: /Users/eric/sync/images/code.sparsebundle
-attach
아래에 옵션이 마운트 된 것을 볼 수 있습니다 /Volumes/code
.
참고 : HSFX
이미지를 Linux와 동기화하고 마운트하기 때문에 대소 문자를 구분하는 HFS +에 사용 합니다. HFS+
macOS는 일반적으로 대소 문자를 구분하지 않기 때문에 대신 에 사용하고 싶을 것 입니다.
이제해야 할 일은 모든 새 sparsebundle에 모든 것을 복사하는 것입니다.
$ cp -r /Volumes/IMG_CODE/ /Volumes/code/
그리고 이제 비교해보십시오.
# old sparsebundle
$ du -h ~/sync/images/IMG_CODE.sparsebundle/
15.0G /Users/eric/sync/images/IMG_CODE.sparsebundle/bands
15.0G /Users/eric/sync/images/IMG_CODE.sparsebundle/
# new sparsebundle
$ du -h ~/sync/images/code.sparsebundle/
3.0G /Users/eric/sync/images/code.sparsebundle/bands
3.0G /Users/eric/sync/images/code.sparsebundle/
예 내 15GB sparsebundle은 이제 3GB, 조각 모음 및 밴드 변경되었습니다!