2012-01-10 84 views
7

我目前使用hdiutil來創建我的DMG。無額外空間創建DMG

我使用的命令是hdiutil create -size xxxg myImage.dmg -fs HFS+.我總是不知疲倦的大小,直到我得到它足夠接近。

有沒有更好的方法,可以將DMG縮小尺寸或創建尺寸?

+0

這個問題是脫離主題。 – 2012-01-10 17:52:55

+1

@ DanielA.White:創建磁盤映像通常是打包用於分發的OS X軟件的一部分。雖然它本身不是編程*,但它緊密相關! – duskwuff 2012-01-10 18:04:51

+0

@ DanielA.White,我傾向於同意duskwuff,這可能屬於「程序員常用的軟件工具」 – CNeo 2012-01-10 18:15:01

回答

2

您可以創建一個更大的傷害,添加的文件,然後調整它:

hdiutil resize -size xxxg myImage.dmg 

或創建一個稀疏磁盤映像,然後將其轉換

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

我從來沒有試過後,不知道它是否會爲dmg選擇合適的尺寸。

來源:http://nickcharlton.net/post/converting-a-sparseimage-to-a-dmg

注意sparseimages需要壓縮,如果文件是從他們刪除,因爲它們不從刪除的文件自動釋放空間:

hdiutil compact Source.sparceimage 
+0

創建超大圖像並壓縮它並不是一個好的解決方案,因爲在大圖像上存在大量的FS開銷。 – duskwuff 2012-01-10 18:07:07

+0

的確如此,儘管打包分發一個小二進制文件時,這個問題就不會那麼嚴重了。 Sparceimage compact不會花費那麼長時間(大概不會浪費太多空間),調整大小几乎會複製整個dmg。這就是說,我不知道你的解決方案,這絕對是更清潔,更快:) +1。 – CNeo 2012-01-10 18:16:45

+0

呵呵,開銷實際上並沒有我想象的那麼糟......一張1GB的圖像壓縮到了164 KB。 – duskwuff 2012-01-10 18:22:04

4

是:

hdiutil create myImage.dmg -srcfolder SourceDir 

這會自動調整圖像的大小以適合。

+0

我試過這個我認爲會很完美的東西。我將它指向了大約7 GB的數據,並創建了一個212.5 MB的DMG。如果我在創建時調整大小或僅指定大小,我可以將它更接近。也許我正在分裂頭髮,最終會以某種方式爲用戶下載7 GB的內容。謝謝。 – user870130 2012-01-10 18:46:36

+0

完美,工作。 – 2015-10-03 15:09:14