什么是DMG文件,如何打开?
DMG格式是在MAC系统上的一个镜象文件,也可以说是压缩文件,如果你用PC且没有装MACOSXforX86的话,就不要费力了。如果你是使用苹果机或在PC上装了MACOSXforX86,在MAC系统上双击这个文件就可以解开了;如果想把这个文件烧录成DVD,用toast把文件烧成光盘即可:dmg=》discimage
命令行创建dmg
自动获取软件版本号
APP_NAME=Soulver
VERSION=$(/usr/libexec/plistbuddy-cPrint:CFBundleShortVersionString:${APP_NAME}.app/Contents/Info.plist)
DMG_BACKGROUND_IMG=Background.png
VOL_NAME=${APP_NAME}${VERSION}
DMG_TMP=${VOL_NAME}-temp.dmg
DMG_FINAL=${VOL_NAME}.dmg
STAGING_DIR=。/Install
创建dmg
#清理文件夹
rm-rf${STAGING_DIR}${DMG_TMP}${DMG_FINAL}
#创建文件夹,拷贝,计算
mkdir-p${STAGING_DIR}
cp-rpf${APP_NAME}.app${STAGING_DIR}
SIZE=`du-sh${STAGING_DIR}|sed‘s/([0-9.]*)M(.*)/1/’`
SIZE=`echo${SIZE}+1.0|bc|awk‘{printint($1+0.5)}’`
#容错处理
if[$?-ne0];then
echoError:Cannotcomputesizeofstagingdir
exit
fi
#创建临时dmg文件
hdiutilcreate-srcfolder${STAGING_DIR}-volname${VOL_NAME}-fsHFS+
-fsargs-cc=64,a=16,e=16-formatUDRW-size${SIZE}M${DMG_TMP}
echoCreatedDMG:${DMG_TMP}
设置dmg
DEVICE=$(hdiutilattach-readwrite-noverify${DMG_TMP}|
egrep‘^/dev/’|sed1q|awk‘{print$1}’)
sleep2
#增加Applications目录的软链接
echoAddlinkto/Applications
pushd/Volumes/${VOL_NAME}
ln-s/Applications
popd
#拷贝背景图片
mkdir/Volumes/${VOL_NAME}/.background
cp${DMG_BACKGROUND_IMG}/Volumes/${VOL_NAME}/.background/
#使用applescript设置一系列的窗口属性
echo‘
tellapplicationFinder
telldisk’${VOL_NAME}‘
open
setcurrentviewofcontainerwindowtoiconview
settoolbarvisibleofcontainerwindowtofalse
setstatusbarvisibleofcontainerwindowtofalse
settheboundsofcontainerwindowto{400,100,938,432}
setviewOptionstotheiconviewoptionsofcontainerwindow
setarrangementofviewOptionstonotarranged
seticonsizeofviewOptionsto72
setbackgroundpictureofviewOptionstofile.background:’${DMG_BACKGROUND_IMG}‘
setpositionofitem’${APP_NAME}‘.appofcontainerwindowto{160,195}
setpositionofitemApplicationsofcontainerwindowto{360,195}
close
open
updatewithoutregisteringapplications
delay2
endtell
endtell
’|osascript
sync
#卸载
hdiutildetach${DEVICE}
压缩dmg
echoCreatingcompressedimage
hdiutilconvert${DMG_TMP}-formatUDZO-imagekeyzlib-level=9-o${DMG_FINAL}
#清理文件夹
rm-rf${DMG_TMP}
rm-rf${STAGING_DIR}
echo‘Done.’
exit
上面就是Linux使用命令行创建dmg文件的方法介绍了,上文对什么是dmg文件做了详细介绍,让用户对dmg文件有更深入的认识。