如何在Mac OS X中通过命令行从metapackage安装单个软件包?

德鲁

我有一个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] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章