Linux系統通過命令行建立dmg文件
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}”
DMG_FINAL=“${VOL_NAME}”
STAGING_DIR=“。/Install”
創建dmg
# 清理文件夾
rm -rf “${STAGING_DIR}” “${DMG_TMP}” “${DMG_FINAL}”
# 創建文件夾,拷貝,計算
mkdir -p “${STAGING_DIR}”
cp -rpf “${APP_NAME}” “${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
# 增加Applications目錄的.軟鏈接
echo “Add link to /Applications”
pushd /Volumes/“${VOL_NAME}”
ln -s /Applications
popd
# 拷貝背景圖片
mkdir /Volumes/“${VOL_NAME}”/ground
cp “${DMG_BACKGROUND_IMG}” /Volumes/“${VOL_NAME}”/ground/
# 使用applescript設置一系列的窗口屬性
echo ‘
tell application “Finder”
tell disk “’${VOL_NAME}‘”
open
set current view of container window to icon view
set toolbar visible of container window to false
set statusbar visible of container window to false
set the bounds of container window to {400, 100, 938, 432}
set viewOptions to the icon view options of container window
set arrangement of viewOptions to not arranged
set icon size of viewOptions to 72
set background picture of viewOptions to file “ground:’${DMG_BACKGROUND_IMG}‘”
set position of item “’${APP_NAME}‘” of container window to {160, 195}
set position of item “Applications” of container window to {360, 195}
close
open
update without registering applications
delay 2
end tell
end tell
’ | osascript
sync
# 卸載
hdiutil detach “${DEVICE}”
壓縮dmg
echo “Creating compressed image”
hdiutil convert “${DMG_TMP}” -format UDZO -imagekey zlib-level=9 -o “${DMG_FINAL}”
# 清理文件夾
rm -rf “${DMG_TMP}”
rm -rf “${STAGING_DIR}”
echo ‘Done.’
exit
上面就是Linux使用命令行創建dmg文件的方法介紹了,上文對什麼是dmg文件做了詳細介紹,讓用户對dmg文件有更深入的認識。
-
Windows XP如何設置關機時自動清理緩存文件
WinXP在關機時,有些頁面文件還會保存在系統中,而不會被清除。那麼,怎麼才能使WinXP在關機時,自動清除系統的頁面文件呢?下面是小編為大家整理關於WindowsXP如何設置關機時自動清理緩存文件的方法家閲讀!操作步驟:1、單擊“開始”菜單,單擊“運行”,在對話框中輸入“Reg...
-
win10如何把批處理文件固定到開始菜單
把批處理文件磁貼固定在Win10開始菜單的方法。為bat文件創建一個快捷方式,就可以固定在開始菜單和任務欄了。以下是小編為大家搜索整理的win10如何把批處理文件固定到開始菜單,希望能給大家帶來幫助!更多精彩內容請及時關注我們應屆畢業生考試網!把批處理文件磁...
-
關於Linux中echo命令怎麼使用
在Linux系統中echo是一條DOS批量處理命令,可以用來設置命令行的顯示狀態,也可以創建新的文件。本文就來詳解一下Linux命令echo怎麼使用?echo:echo[-neE][arg...]echo會將輸入的.字符串送往標準輸出。輸出的字符串間以空白字符隔開,並在最後加上換行號。Options:-n不在最...
-
Win8對比Win7的軟件安裝方式怎麼樣
在Win7及之前的Windows系統中,用户安裝應用軟件的流程是"獲得軟件安裝包(下載或光盤等媒介)→安裝軟件→使用"這一流程,對於收費軟件來説,還得通過各種支付途徑來付費購買軟件授權後才能使用。許多軟件管理類軟件便應運而生。這一用户熟悉的流程中容易出...