views:

143

answers:

3

In my app I'm using Apple's hdiutil command line utility to create compressed disk images (DMGs) of folders/volumes. Is there any way to calculate the compressed size of a given source path? I've already checked in the man pages, nothing there.

+1  A: 

Can you just compare the size of the disk image vs the size reported by either df (reporing the size of the volume) or du (reporting the size of files in a directory)?

Jamie Macey
A: 

Choose Jamie Macey -- his answer is the right one. Use du -s to get your tree size, compare it to the size of the .dmg file.

Maas
+2  A: 

hdiutil imageinfo /PATH/TO/IMAGE | grep 'Compressed Ratio'

Example Output:

Compressed Ratio: 0.14393602843180808

Meaning the disk image is 14% of the size of the original. This is using the standard zlib compression (UDZO) on a folder containing just text files however, so the compression amount is much higher than normal.

Chealion