Como instalar um único pacote do meta-pacote através de uma linha de comando no Mac OS X?

0

Eu tenho um arquivo de meta-pacote program.mpkg . Estou usando o comando installer do Mac OS X para instalar os arquivos .pkg e .mpkg via linha de comando, geralmente assim:

$ sudo installer -pkg program.mpkg -tgt  /

O conteúdo do meta-pacote:

$ installer -pkg program.mpkg -pkginfo'
program
prog-command-line
GUI-front-end

Por padrão, todos esses três pacotes dentro de program.mpkg serão instalados, mas eu preciso instalar um único pacote GUI-front-end deste metapacote usando apenas uma linha de comando.

EDITAR:

Eu usei a opção -config :

$ installer -pkg ~/Documents/program.pkg -target / -config > /tmp/prog.plist

e tem um 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> 

Como devo alterá-lo para instalar apenas GUI-front-end package em vez de todos os três pacotes disponíveis do .mpkg?

EDITAR:

Eu tentei minimizar o metapacote com:

$ pkgutil --expand /Volumes/Prog/program.mpkg ~/Desktop/folder

Mas recebendo:

Could not open package for expansion: /Volumes/Prog/program.mpkg

Todos os arquivos e pastas existem ... Alguma idéia?

    
por Drew 03.11.2015 / 20:06

2 respostas

0

Na verdade, a solução foi extremamente fácil - o arquivo .mpkg se parece com um driectory simples quando você o vê através do shell, então apenas cd dentro encontre seu .pkg e faça com ele o que você quiser ... por exemplo :

cp metapkg.mpkg/some.pkg /tmp/some.pkg
sudo installer -pkg /tmp/some.pkg -tgt /
    
por 16.11.2015 / 19:37
0

Tente usar a opção -config do instalador. Veja o que a página man diz sobre essa opção

-config

Formats the command line installation arguments for later use. The output is sent to stdout, but can be redirected to a file to create a configuration file. When specifying this option, an installation is not actually performed. This configuration file can be supplied as the argument to the -file parameter instead of typing a long series of installation arguments. The config file can be used to perform multiple identical installs. You can create a config file as follows:

installer -pkg ~/Documents/Foo.pkg -target / -config > /tmp/configfile.plist

Se seguir o exemplo, você poderá editar o arquivo .plist resultante e usar -file /tmp/configfile.plist para executar a instalação com as opções especificadas. Essa abordagem é comum para nós que criamos instalações repetíveis para clientes corporativos. Mas saiba de antemão que nem todos os instaladores são escritos da mesma forma. Pode ser necessário testar sua instalação em uma VM ou máquina de teste para garantir que você esteja obtendo apenas as opções desejadas. GL

    
por 05.11.2015 / 07:39