Answers:
简短的回答:是的。
长答案:是的,但是……对该问题的完整答案包括技术答案和实际问题。
您可以使用以下语法安装.pkg或.mpkg:
sudo installer -verboseR -pkg "/path/to/pkg/foo.mpkg"
如果安装程序未正确“签名”,则需要添加 -allowUntrusted
sudo installer -allowUntrusted -verboseR -pkg "/path/to/pkg/foo.mpkg"
您可能还需要指定在那里你想让它安装,使用-target /
(我不能肯定100%,这是必需的,但它是一个好主意):
sudo installer -allowUntrusted -verboseR -pkg "/path/to/pkg/foo.mpkg" -target /
现在,问题是sudo
当您尝试运行时,会要求您提供管理员密码installer
。如果要自动执行此操作,则需要sudo
在运行安装程序时告诉Mac不需要密码。为此,您可以将以下行添加到/etc/sudoers
文件中:
%admin ALL=NOPASSWD: /usr/sbin/installer
看到 man visudo
以获取有关编辑该文件的说明。
如果您是唯一使用Mac的人,则将上面的行添加到 /etc/sudoers
这没什么大不了的。
但是,如果这是共享的Mac,则“ admin”组中的其他人将可以运行 /usr/sbin/installer
不提示输入密码的情况下。
同样,很明显,如果有人进入您的“管理员”帐户,理论上他们也可能会导致 /usr/sbin/installer
。尽管我不知道要怎么做,但要权衡安全性和便利性。
我写了pkginstall.sh做一些不错的事情,例如记录过程,并告诉您是否应该在安装软件包后重新启动。
至于如何自动执行安装,这取决于您要执行的操作的更多细节。例如,您可以制作一个文件夹,例如〜/ Action / AutoInstallPKG /,然后告诉launchd
其安装添加到该文件夹的所有.pkg或.mpkg文件,然后将其移到一边。
很长时间以来,我一直想做这样的事情,所以我终于把它放在一起了。您可以在https://github.com/tjluoma/autopkginstall上找到它。安装说明包含在Github中,所以在此不再赘述。
我认为您可能会在跳舞时非常接近自己的答案。您提到您没有Apple的远程桌面。我建议考虑将其用于您尝试做的事情。我一直在使用它,正如您一直在描述的那样-我有一个.pkg文件,该文件需要安装在LAN中的多台计算机上,突出显示要安装在其中的计算机,并告诉远程桌面安装它。它所做的远不止这些,但是它将为您执行这些远程安装。无限客户许可证的价格为80美元。
如果$ 80是症结所在-您可以看看munki,这是
“一套工具,与基于Web服务器的软件包和软件包元数据存储库一起使用,OS X管理员可以使用它们来管理OS X客户端计算机上的软件安装(在许多情况下是删除)。”
我自己并没有使用过它,但是对编码和在现实生活中使用它的人们非常尊重。它的设置和工作比远程桌面要多一些-但也有很多选择。
希望您可以使用这两个程序之一来执行您要执行的操作。
最后,多亏了nixon博士解决了我的具体问题,我才得以通过Platypus处理该问题中描述的无人值守安装。
用户必须启动应用程序,其余的将自动完成。