Mac 用のフリーウェアで無圧縮 dmg を zip 圧縮して配布されているものがたまにあります。
それを圧縮し直してローカルにとっとくのに、こんなシェルスクリプトを使ってます。
% cat dmg-compress #!/bin/bash self=`basename "$0"` keep_old=1 use_bzip2=0 function _compress_diskimage { local in="$1" local out="$1.tmp-$(date '+%Y%m%d%H%M%S').dmg" local ret=0 if [ $use_bzip2 -ne 0 ]; then hdiutil convert -format UDBZ -o "$out" "$in" else hdiutil convert -format UDZO -o "$out" -tgtimagekey zlib-level=9 "$in" fi ret=$? if [ $ret -eq 0 ]; then test $keep_old -ne 0 && mv -v "$in" "$in.orig.dmg" mv -v "$out" "$in" ret=$? fi return $ret } if [ $# -lt 1 ]; then echo "$self: Too few arguments." >&2 exit 1 fi for dmg in "$@"; do if hdiutil imageinfo "$dmg" > /dev/null; then _compress_diskimage "$dmg" test $# -eq 1 && exit $? else echo "$self: $1 is not a valid diskimage." >&2 test $# -eq 1 && exit 1 fi done