论坛风格切换
您好,欢迎光临本站!   登录 注册新用户
  • 2018阅读
  • 1回复

[linux]Linux通过命令行建立dmg文件的方法 [复制链接]

上一主题 下一主题
 

发帖
17164
黑豆
576
威望
55031
贡献值
0
交易币
0
红豆
0
只看楼主 倒序阅读 0 发表于: 2015-06-21
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
快速回复
限100 字节
 
上一个 下一个