AHunter3
04-14-2006, 09:18 AM
A disk image is a file that certain programs* can open and mount on the Desktop as virtual volumes; the OS "thinks" of those volumes as akin to removable drives. Since it (when mounted) is a volume, it has a format, same as any other volume, and that would be HFS+ (usually) for the Mac.
* MacOS X mounts .dmg and .img files as volumes using a built-in utility DiskImageMounter.app; It is faceless and is invoked invisibly when a .dmg or .img is double-clicked. OS 9 used Disk Copy. Way back in the old days we used 3rd-party software like DiskDup to mount diskimages.
By hauling around an application on a virtual volume, you preserve various forms of Finder metadata and permissions flags that are not necessarily preserved in other operating systems' native filing systems, that's one advantage — and the main advantage as far as distributing software on them. (The need for preserving resource fork metadata has always been an issue with Mac software stored on non-Mac servers. In the olden days we would stuff the files with Stuffit and then BinHex — convert from binary to hexadecimal text format — but I believe there was insufficient support for long file names in Stuffit so distributing software on diskimages came into vogue. You'll still see some OS X software available for download as .sit files though)
Other uses for diskimages include preserving a CD or DVD in its native format, creating a temporary "test bed" to see how some process writes to disk, working with ancient software that expects to be installed or run from floppies, keeping copies of software that you don't want your OS to "see" and launch unless you deliberately mount and run it, and so on.
If software has been provided to you on a diskimage, the expectation is that you are going to copy its contents to a regular folder on your hard disk volume. Not that it wouldn't work on a diskimage, but you'd have to mount it first each time you wanted to run it, and unless you want to prevent it from launching except on highly specific occasions, that's generally going to be a big hassle to have to do that extra step every time you run the app.
* MacOS X mounts .dmg and .img files as volumes using a built-in utility DiskImageMounter.app; It is faceless and is invoked invisibly when a .dmg or .img is double-clicked. OS 9 used Disk Copy. Way back in the old days we used 3rd-party software like DiskDup to mount diskimages.
By hauling around an application on a virtual volume, you preserve various forms of Finder metadata and permissions flags that are not necessarily preserved in other operating systems' native filing systems, that's one advantage — and the main advantage as far as distributing software on them. (The need for preserving resource fork metadata has always been an issue with Mac software stored on non-Mac servers. In the olden days we would stuff the files with Stuffit and then BinHex — convert from binary to hexadecimal text format — but I believe there was insufficient support for long file names in Stuffit so distributing software on diskimages came into vogue. You'll still see some OS X software available for download as .sit files though)
Other uses for diskimages include preserving a CD or DVD in its native format, creating a temporary "test bed" to see how some process writes to disk, working with ancient software that expects to be installed or run from floppies, keeping copies of software that you don't want your OS to "see" and launch unless you deliberately mount and run it, and so on.
If software has been provided to you on a diskimage, the expectation is that you are going to copy its contents to a regular folder on your hard disk volume. Not that it wouldn't work on a diskimage, but you'd have to mount it first each time you wanted to run it, and unless you want to prevent it from launching except on highly specific occasions, that's generally going to be a big hassle to have to do that extra step every time you run the app.
