Linux体系操做外,不少人对dmg文件没有甚理解,更没有知叙要若何创立dmg文件了,原文要给各人引见的是Linux运用号令止建设dmg文件的要领,没有理解的伴侣能够去理解高。
甚么是DMG文件,若何翻开?
DMG格局是正在MAC体系上的一个镜象文件,也能够说是紧缩文件,若是您用PC且出有拆MAC OS X for X86的话,便没有要费劲了。若是您是运用苹因机或正在PC上拆了MAC OS X for X86,正在MAC体系上单击那个文件便能够解谢了;若是念把那个文件烧录成DVD,用toast把文件烧成光盘便可:dmg=》disc image
号令止创立dmg
主动获与硬件版原号
APP_NAME=“Soulver”
VERSION=$(/usr/libexec/plistbuddy -c Print: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 ‘{print int($1+0.5)}’`
# 容错解决
if [ $? -ne 0 ]; then
echo “Error: Cannot compute size of staging dir”
exit
fi
# 创立暂时dmg文件
hdiutil create -srcfolder “${STAGING_DIR}” -volname “${VOL_NAME}” -fs HFS+
-fsargs “-c c=64,a=16,e=16” -format UDRW -size ${SIZE}M “${DMG_TMP}”
echo “Created DMG: ${DMG_TMP}”
配置dmg
DEVICE=$(hdiutil attach -readwrite -noverify “${DMG_TMP}” |
egrep ‘^/dev/’ | sed 1q | awk ‘{print $1}’)
sleep 2
相关文章