用终端安装.pkg吗?


Answers:


102

/ usr / sbin /安装程序

installer命令用于将Mac OS X安装程序软件包安装到指定的域或卷。installer命令每次调用都会安装一个软件包,该软件包由-package参数指定(-pkg被接受为同义词)。它可以是单个包或元包。对于metapackage,除非软件包的检查工具取消了资格,否则将安装默认安装中的软件包。

请参阅man installer以获取全部功能。经常

sudo installer -pkg /path/to/package.pkg -target /

就是所需要的。


1
请注意,-target是设备而不是路径。因此,在大多数情况下,请将其保留为“ /”。
AlexV

1
@AlexV使我感到困惑- /是一个路径,设备已安装在其上。那么,为什么需要以设备作为参数的选项会被接受/呢?
大师

1
@muru-文档将其称为“设备”,但实际上它具有用于定义目标的语法(不完全是“ unix设备节点”)。根据安装程序的联机帮助页,它可以是设备节点(如您所愿),磁盘标识符(例如disk1s9),安装点(因此为“ /”),卷UUID或列出的任何安装域installer -dominfo
sehrgut

3

将所有.pkg文件从当前文件夹安装到/Applications

for f in *.pkg ; 
    do sudo installer -verbose -pkg "$f" -target /
done

或者,您可以使用来将软件包安装到主文件夹中-target ~/Users/<your_account>/Applications除非在安装程序中预定义了特定路径,否则它们将最终进入。

如果您需要查看pkg安装程序到底包含什么以及将运行哪些安装前和安装后脚本,则可以安装SuspiciousPackage(免费软件),并在.pkg选择文件时使用Finder中的快速预览。在Finder中按下空格键并选择文件也应该起作用。


4
不一定要安装到/Applications-它取决于软件包,例如macOS的PowerShell安装到/usr/local
RichVel
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.