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

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

我有一个 .dmg MacOS 包(带有“继续”按钮、EULA 等),需要在多台计算机上安装。有没有办法通过 bash/python/ruby/etc 脚本静默安装,就像 Windows 中的静默 MSI 安装一样?我可以通过编写脚本自动安装,让其自动点击按钮,但这看起来有点不自然 :)。

答案1

要安装 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. 弹出已安装的光盘映像。

然后你可以使用自动机去做这个...

代码取自这一页

答案2

如果你管理多台 Mac,我强烈建议你购买一份ARD- 我确信您的问题有一个脚本答案,但我已经使用 ARD 很长时间了,恐怕我不知道!

答案3

那是 DMG 加 PKG 吗?

因为 DMG 本身无法安装,它只是一个卷,一个映像,就像 ISO 一样。所以你可能有一个 DMG 加上一个 PKG 或一个安装程序...

如果它是一个 PKG,可能可以远程或静默安装,但如果它是另一个安装程序,则可能会更加棘手,请注意现在确定...

正如 adamvs 所说,远程桌面还可以将包部署到您的安装中......

答案4

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

我发现这是一种非常干净的安装方式,而且几乎完全无声(除了初始连接)

相关内容