如何在MacOS中静默安装.dmg?


8

我有一个.dmg MacOS软件包(带有“继续”按钮,EULA等),需要在多台计算机上安装。是否可以通过bash / python / ruby​​ / etc脚本以静默方式执行此操作,就像Windows中以静默方式安装MSI一样?我可以自动化安装编写脚本,该脚本会为我单击按钮,但看起来有点不自然:)。

Answers:


14

要安装DMG,您可以执行以下操作:

cd ~/Desktop

curl -O http://darwinports.opendarwin.org/downloads/DarwinPorts-1.2-10.4.dmg

hdiutil attach DarwinPorts-1.2-10.4.dmg

cd /Volumes/DarwinPorts-1.2/

sudo installer -pkg DarwinPorts-1.2.pkg -target "/"

hdiutil detach /Volumes/DarwinPorts-1.2/

简而言之,这

  1. 转到您的桌面文件夹
  2. 从opendarwin站点获取DarwinPorts
  3. 挂载dmg
  4. 转到新安装的DarwinPorts卷
  5. 以root用户身份安装针对root的软件包
  6. 弹出安装的光盘映像。

然后,您可以使用Automator进行此操作...

从此页面获取的代码


2
啊哈......你能评论只是你copypasted codesnippets.joyent.com/posts/show/322?:D
安道尔

重点是什么?
balexandre,2009年

7
归功于原始作者?
ceejayoz

谁告诉我他没有从其他人那里抄袭;)
balexandre

1
源链接已死,这又意味着什么?
MikaelDúiBolinder 2014年


2

那是DMG加PKG吗?

因为DMG本身无法安装,所以它只是一个卷,一个映像,如ISO。因此,您可能拥有的是DMG加上PKG或内部的安装程序...

如果是PKG,则可能可以远程安装或以静默方式安装,但是如果是其他安装程序,则可能会比较棘手,请立即确定...

正如adamvs所说,远程桌面也可以将软件包部署到您的安装中。


1
.dmg,内部带有.pkg。.pkg可以在安装之前解压缩,这没有问题。
grigoryvp


0
echo "mounting server"
  mount_afp afp://username:password@yourserver
  hdiutil attach /Volumes/yourserver/pathtodmg.dmg
  /usr/sbin/installer -pkg /Volumes/pathtopkgfile.pkg -target / -verboseR
echo "umounting the repository"
  umount /Volumes/yourserver
  status=$?
    if [ $status != 0 ]
    then
        echo "Something went wront unmounting the server... no problem... we'll just remove the directory"
        rmdir /Volumes/yourserver
    fi

我发现这是一种非常干净的安装方式,几乎是完全静默的(除了初始附加)

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.