我有一个metapackage文件program.mpkg
。我使用的是Mac OS X的installer
命令来安装.pkg
,并.mpkg
通过命令行文件通常像这样:
$ sudo installer -pkg program.mpkg -tgt /
元包内容:
$ installer -pkg program.mpkg -pkginfo`
program
prog-command-line
GUI-front-end
默认情况下,program.mpkg中的所有这三个软件包都将被安装,但是我只需要GUI-front-end
使用命令行从此metapackage中安装一个软件包。
编辑:
我使用了以下-config
选项:
$ installer -pkg ~/Documents/program.pkg -target / -config > /tmp/prog.plist
并得到了一个prog.plist:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>Package</key>
<string>program.mpkg</string>
<key>Target</key>
<string>/</string>
</dict>
</plist>
我应该如何更改它以仅安装GUI-front-end
软件包,而不安装.mpkg中的所有三个可用软件包?
编辑:
我试图用以下方法展开元包:
$ pkgutil --expand /Volumes/Prog/program.mpkg ~/Desktop/folder
但是得到:
Could not open package for expansion: /Volumes/Prog/program.mpkg
所有文件和文件夹都存在...有什么想法吗?
实际上,解决方案非常简单-当通过外壳查看.mpkg文件时,它看起来像一个简单的driectory,因此,只需cd
在内部找到.pkg并对其进行处理即可...例如:
cp metapkg.mpkg/some.pkg /tmp/some.pkg
sudo installer -pkg /tmp/some.pkg -tgt /
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句