佳木斯湛栽影视文化发展公司

主頁 > 知識庫 > dmg文件是什么Linux如何通過命令行建立dmg文件

dmg文件是什么Linux如何通過命令行建立dmg文件

熱門標(biāo)簽:解決方案 百度競價點擊價格的計算公式 硅谷的囚徒呼叫中心 電話機器人搭建 服務(wù)器配置 外呼系統(tǒng) 家政服務(wù)網(wǎng)絡(luò) 美團

  Linux系統(tǒng)操作中,很多人對dmg文件不甚了解,更不知道要如何創(chuàng)建dmg文件了,本文要給大家介紹的是Linux使用命令行建立dmg文件的方法,不了解的朋友可以來了解下。

  什么是DMG文件,如何打開?

  DMG格式是在MAC系統(tǒng)上的一個鏡象文件,也可以說是壓縮文件,如果你用PC且沒有裝MAC OS X for X86的話,就不要費力了。如果你是使用蘋果機或在PC上裝了MAC OS X for X86,在MAC系統(tǒng)上雙擊這個文件就可以解開了;如果想把這個文件燒錄成DVD,用toast把文件燒成光盤即可:dmg=》disc image

  命令行創(chuàng)建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”

  創(chuàng)建dmg

  # 清理文件夾

  rm -rf “${STAGING_DIR}” “${DMG_TMP}” “${DMG_FINAL}”

  # 創(chuàng)建文件夾,拷貝,計算

  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

  # 創(chuàng)建臨時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}”

  設(shè)置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}”/.background

  cp “${DMG_BACKGROUND_IMG}” /Volumes/“${VOL_NAME}”/.background/

  # 使用applescript設(shè)置一系列的窗口屬性

  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 “.background:’${DMG_BACKGROUND_IMG}‘”

  set position of item “’${APP_NAME}‘.app” 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使用命令行創(chuàng)建dmg文件的方法介紹了,上文對什么是dmg文件做了詳細(xì)介紹,讓用戶對dmg文件有更深入的認(rèn)識。

標(biāo)簽:南昌 邢臺 韶關(guān) 防城港 北海 烏蘭察布 臨沂 撫州

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《dmg文件是什么Linux如何通過命令行建立dmg文件》,本文關(guān)鍵詞  ;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 收縮
    • 微信客服
    • 微信二維碼
    • 電話咨詢

    • 400-1100-266
    雷州市| 吴桥县| 舞钢市| 灵川县| 渝中区| 诏安县| 泰宁县| 汽车| 丹凤县| 武穴市| 阿巴嘎旗| 石门县| 涿州市| 利辛县| 常德市| 长武县| 北川| 五莲县| 湛江市| 绥阳县| 安塞县| 酒泉市| 临夏县| 聂荣县| 体育| 新津县| 敦煌市| 梁平县| 澄迈县| 阿拉善右旗| 儋州市| 景德镇市| 明星| 舒城县| 甘德县| 沛县| 巴青县| 上虞市| 扶风县| 汉中市| 辉南县|