Instalando .pkg com o terminal?

81

É possível instalar um .pkg usando um terminal? (Eu queria instalar um aplicativo através do ssh).

Matthieu Riegler
fonte

Respostas:

102

/ usr / sbin / instalador

O comando instalador é usado para instalar pacotes do instalador do Mac OS X em um domínio ou volume especificado. O comando installer instala um único pacote por chamada, que é especificado com o parâmetro -package (-pkg é aceito como sinônimo). Pode ser um único pacote ou um metapacote. No caso do metapacote, os pacotes que fazem parte da instalação padrão serão instalados, a menos que sejam desqualificados pelas ferramentas de verificação de um pacote.

Veja man installera funcionalidade completa. Frequentemente

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

é tudo o que é necessário.

nohillside
fonte
11
Observe que o alvo é um dispositivo e não um caminho. Portanto, mantenha "/" na maioria dos casos.
AlexV #
11
@AlexV color me confused - /é um caminho e um dispositivo é montado nele. Então, por que uma opção que requer um dispositivo como argumento seria aceita /?
Muru
11
@ muru - A documentação o chama de "dispositivo", mas na verdade tem sua própria sintaxe para definir o destino (não exatamente "nó do dispositivo unix"). De acordo com a página de manual do instalador, ele pode ser um nó de dispositivo (como você espera), o identificador de disco (por exemplo, disk1s9), o ponto de montagem (daí "/"), o UUID do volume ou qualquer um dos domínios de instalação listados por installer -dominfo.
sehrgut 28/03
3

Instale todos os .pkgarquivos da pasta atual para /Applications:

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

Como alternativa, você pode instalar os pacotes na sua pasta pessoal com -target ~. Eles terminarão a /Users/<your_account>/Applicationsmenos que um caminho específico seja predefinido no instalador.

Se você precisar ver exatamente o que um instalador do pkg contém e quais scripts de pré e pós-instalação serão executados, instale o SuspiciousPackage (freeware) e use a visualização rápida do Finder enquanto o .pkgarquivo é selecionado. Pressionar a barra de espaço no Finder com o arquivo selecionado também deve funcionar.

ccpizza
fonte
4
Isso não é necessariamente instalado no /Applications- depende do pacote, por exemplo, o PowerShell para macOS instala /usr/local.
RichVel