系统小窝欢迎您

当前位置:系统小窝 > 系统教程 > Linux教程 >

Linux通过命令行建立dmg文件的方法

时间:2021-04-10    来源:来吧老妹    人气:

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 lsquo;s/([0-9.]*)M(.*)/1/rsquo;`

SIZE=`echo ;${SIZE} + 1.0; | bc | awk lsquo;{print int($1+0.5)}rsquo;`

# 容错处理

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 lsquo;^/dev/rsquo; | sed 1q | awk lsquo;{print $1}rsquo;)

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设置一系列的窗口属性

echo lsquo;

tell application ;Finder;

tell disk ;rsquo;${VOL_NAME}lsquo;;

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:rsquo;${DMG_BACKGROUND_IMG}lsquo;;

set position of item ;rsquo;${APP_NAME}lsquo;.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

rsquo; | 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 lsquo;Done.rsquo;

exit

上面就是Linux使用命令行创建dmg文件的方法介绍了,上文对什么是dmg文件做了详细介绍,让用户对dmg文件有更深入的认识。

相关文章

  • Linux命令行中网速测试方法详解

    Linux命令行中网速测试方法详解

    在浏览网站的时候突然变的好卡,不知道是电脑的原因还是网速的原因导致的,这就需要测试网速了,下面小编给大家介绍下如何使用Linux命令行来测试网...
    2021-04-09 07.04.50
  • Linux系统快捷键最全合集

    Linux系统快捷键最全合集

    Linux系统操作中,相信很多人都没有使用快捷键的习惯,觉得鼠标点方便些,其实在某些操作中,使用快捷键能节省不少时间,下面小编就给大家详细介绍...
    2021-04-09 08.04.33
  • 将Linux命令设置成键盘快捷键的方法

    将Linux命令设置成键盘快捷键的方法

    我们都知道,Linux系统操作大部分都需要使用命令完成,但命令多了操作起来较为繁琐,如果将常用命令设置成键盘快捷方式则简单很多,下面小编就给大...
    2021-04-09 09.04.19
  • Linux下怎么使用命令行访问Gmail

    Linux下怎么使用命令行访问Gmail

    如果你喜欢使用命令行,我相信你会很习惯使用Linux命令行来执行每一项日常任务,不管是安排日程还是管理财务或者获取 Facebook 、Twitter等任务。当然你还...
    2021-04-10 10.04.56
  • Linux命令行的日常使用技术

    Linux命令行的日常使用技术

    有人说Linux的命令行就是一种艺术,由命令行形成的Linux系统的架构呈现丰富多变的样貌,这就才是Linux的魅力所在。本文就来介绍一下Linux命令行的日常使...
    2015-07-01 03.07.54

发表评论

验证码: 看不清?点击更换

注:网友评论仅供其表达个人看法,并不代表本站立场。