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




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

2022-07-20 20:26:54 网络知识 官方管理员

  Linux系统操作中,很多人对dmg文件不甚了解,更不知道要如何创建dmg文件了,本文要给大家介绍的是Linux使用命令行建立dmg文件的方法,不了解的朋友可以来了解下。

Linux,命令行,dmg文件

  什么是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文件有更深入的认识。


发表评论:

最近发表
网站分类
标签列表