2012-01-10 4 views
7

현재 DMG 생성에는 hdiutil을 사용합니다.추가 공간이없는 DMG 작성

내가 사용하는 명령은 hdiutil create -size xxxg myImage.dmg -fs HFS+.입니다. 충분히 가까워지기 전까지는 항상 크기에 신경 쓰지 않습니다.

DMG를 축소하거나 크기를 만드는 더 좋은 방법이 있습니까?

+0

이 질문은 화제입니다. –

+1

@ DanielA.White : 디스크 이미지를 만드는 작업은 종종 배포를 위해 OS X 소프트웨어를 패키징하는 작업의 일부입니다. 프로그래밍 자체가 아니지만 * 밀접하게 관련되어 있습니다! – duskwuff

+0

@ DanielA.White, 나는 duskwuff와 동의하는 경향이 있는데, 이것은 아마도 "프로그래머가 일반적으로 사용하는 소프트웨어 도구"에 속할 것입니다. – CNeo

답변

2

당신은 더 큰 데미지를 만들고 파일을 추가 할 수 있습니다, 그것은 크기를 조정 :

hdiutil resize -size xxxg myImage.dmg 

을하거나 sparseimage을 만든 다음이

hdiutil convert -format UDZO Source.sparseimage -o myImage.dmg 

나는 후자를 한 번도 안 써봤 변환, 그것이 dmg에 맞는 크기를 고를 지 확신 할 수 없습니다.

출처 :

hdiutil compact Source.sparceimage 
+0

크기가 큰 이미지를 만들고 압축하는 것은 큰 이미지에 상당한 양의 FS 오버 헤드가 있으므로 큰 해결책은 아닙니다. – duskwuff

+0

사실, 배포 용으로 작은 바이너리를 패키징 할 때 문제가되지는 않습니다. Sparceimage compact는 그렇게 오래 걸리지 않을 것입니다 (아마도 많은 공간이 낭비되지 않을 것입니다). 그리고 resize는 전체 dmg을 복사합니다. 즉, 나는 확실히 당신의 해결책에 대해 몰랐고, 그것은 더 깨끗하고 빠릅니다 :) +1. – CNeo

+0

어, 오버 헤드는 실제로 내가 생각한 것만 큼 나쁘지는 않습니다 ... 1GB 이미지는 164KB로 압축됩니다. – duskwuff

4

을 예 : 파일들을 삭제하는 경우 자동으로 삭제 파일에서 공간을 해제하지 않는 한 sparseimages은 압축 할 필요가 http://nickcharlton.net/post/converting-a-sparseimage-to-a-dmg

hdiutil create myImage.dmg -srcfolder SourceDir 

이렇게하면 자동으로 이미지의 크기가 맞춰집니다.

+0

나는 이것을 완벽하게하려고 생각했다. 필자는 ~ 7GB의 데이터를 가리키며 212.5MB의 DMG를 만들었습니다. 크기를 조정하거나 만들 때 크기를 지정하면 더 가까워 질 수 있습니다. 어쩌면 나는 머리카락을 나누어서 사용자를위한 7GB 다운로드가 될 것입니다. 감사. – user870130

+0

완벽하고 효과적입니다. –

관련 문제