MacOSX Compact Sparse Image…

One useful OS X feature is the ability to create disk images. A disk image is a single file that, when double-clicked, appears like a typical hard drive to the operating system. (Most software you download comes on a disk image.) Disk images a great way to store related files that you don’t need to use often, as they can be “out of sight” until you need them. They’re also useful if you want to store something securely, as you can create encrypted disk images that require a password to mount.

There are essentially two types of disk images—a normal disk image and a sparse disk image. With a normal disk image, the disk image will consume as much drive space as its size, even when empty—i.e. a 40MB normal disk image requires 40MB of drive space, even if you’ve never used it. Sparse disk images, on the other hand, are disk image files that require just as much space as their contents require. So a 40MB sparse disk image will only need 40MB of drive space if you’ve saved 40MB of data onto it. The disk image will grow automatically as space is required.

What isn’t so obvious is that a sparse image won’t shrink automatically. Check out the link for a handy article on how to compact a sparse image.

One thought on “MacOSX Compact Sparse Image…

  1. enthemic says:

    The will only work on unencrypted sparseimage files. If the sparse image file was created with a password hdiutil will error out reporting that it access is denied (because it expects a password to be entered via stdin and the workflow doesn’t provide one.) Update the script as below to cause hdiutil to open up a GUI window to prompt for the password instead. This works with both encrypted and unencrypted spareimage files.

    hdiutil compact “$@” </dev/null

Leave a Reply

Your email address will not be published. Required fields are marked *