2012-01-10 9 views
7

Attualmente utilizzo hdiutil per creare i miei DMG.Creazione di DMG senza spazio aggiuntivo

Il comando che uso è hdiutil create -size xxxg myImage.dmg -fs HFS+. Sono sempre rimasto in agitazione con le dimensioni finché non lo ottengo abbastanza vicino.

Esiste un metodo migliore che riduce il DMG alle dimensioni o crea dimensioni?

+0

questa domanda è fuori tema. –

+1

@ DanielA.White: la creazione di immagini disco è spesso un'attività che fa parte del pacchetto di software OS X per la distribuzione. Anche se non sta programmando * di per sé *, è strettamente correlato! – duskwuff

+0

@ DanielA.White, tendo ad essere d'accordo con duskwuff, questo probabilmente rientrerebbe negli "strumenti software comunemente usati dai programmatori" – CNeo

risposta

2

È possibile creare un dmg più grande, aggiungere i file, quindi ridimensionarlo:

hdiutil resize -size xxxg myImage.dmg 

o creare uno sparseimage, e poi convertirlo

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

non ho mai provato quest'ultimo, non sono sicuro se sceglierà la taglia giusta per il dmg.

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

Nota che sparseimages devono essere compattati se i file vengono eliminati da loro, in quanto non rilasciano lo spazio dal file eliminati automaticamente:

hdiutil compact Source.sparceimage 
+0

La creazione di un'immagine di grandi dimensioni e la sua compattazione non è una soluzione eccezionale, in quanto vi è una notevole quantità di sovraccarico di FS su immagini di grandi dimensioni. – duskwuff

+0

È vero, anche se durante il confezionamento di un piccolo binario per la distribuzione questo sarà meno un problema. Sparceimage compact non impiegherà molto tempo (presumibilmente non ci sarà molto spazio sprecato), e il ridimensionamento praticamente copierà l'intero dmg. Detto questo, non sapevo della tua soluzione, che è decisamente più pulita e veloce :) +1. – CNeo

+0

Huh, l'overhead in realtà non è così male come pensavo ... un'immagine da 1 GB comprime fino a 164 KB. – duskwuff

4

Sì:

hdiutil create myImage.dmg -srcfolder SourceDir 

Questo ridimensionerà automaticamente l'immagine per adattarla.

+0

Ho provato questo che pensavo sarebbe stato perfetto. Ho puntato su ~ 7 GB di dati e ha creato un DMG con 212,5 MB disponibili. Se ridimensiono o semplicemente specifica la dimensione quando la creo, posso avvicinarla. Forse sto dividendo i capelli, alla fine sarà un download da 7 GB per l'utente in un modo o nell'altro. Grazie. – user870130

+0

perfetto, funzionante. –

Problemi correlati