Resposta curta: sim.
Resposta longa: Sim, mas… uma resposta completa a esta pergunta inclui uma resposta técnica e uma preocupação prática.
Primeiro, a resposta técnica
Você pode instalar um .pkg ou .mpkg usando esta sintaxe:
sudo installer -verboseR -pkg "/path/to/pkg/foo.mpkg"
Se o instalador não estiver 'assinado' corretamente, você precisará adicionar -allowUntrusted
sudo installer -allowUntrusted -verboseR -pkg "/path/to/pkg/foo.mpkg"
Você também pode precisar especificar onde deseja instalá-lo usando -target /
(não tenho 100% de certeza de que isso é necessário , mas é uma boa ideia):
sudo installer -allowUntrusted -verboseR -pkg "/path/to/pkg/foo.mpkg" -target /
Agora, o problema é que sudo
você solicitará sua senha de administrador ao tentar executar installer
. Se você deseja automatizar isso, informe o seu Mac para não exigir sua sudo
senha ao executar o instalador. Para fazer isso, você pode adicionar esta linha ao seu /etc/sudoers
arquivo:
%admin ALL=NOPASSWD: /usr/sbin/installer
Veja man visudo
para instruções sobre como editar esse arquivo.
Segundo, a preocupação prática
Se você é a única pessoa que usa seu Mac, adicionar a linha acima a /etc/sudoers
não é grande coisa.
No entanto, se este for um Mac compartilhado, outras pessoas que estão no grupo 'admin' poderão executar /usr/sbin/installer
sem precisar solicitar sua senha.
Além disso, obviamente, se alguém entrar na sua conta de 'administrador', ele também poderia, teoricamente, causar danos /usr/sbin/installer
. Embora eu não consiga pensar exatamente no que eles fariam, é uma troca de segurança versus conveniência.
Terceiro, um script do github
Eu escrevi o pkginstall.sh para fazer algumas coisas legais, como registrar o processo, além de informar se você deve reiniciar ou não após a instalação do pacote.
Por último, mas não menos importante: automatize "como?"
Na medida em que você deseja automatizar a instalação, isso depende de mais detalhes do que você está tentando fazer. Você pode, por exemplo, criar uma pasta como ~ / Action / AutoInstallPKG / e launchd
solicitar a instalação de arquivos .pkg ou .mpkg adicionados a essa pasta e depois movê-la para o lado.
Eu pretendo fazer algo assim há muito tempo e, finalmente, juntei tudo. Você pode encontrá-lo em https://github.com/tjluoma/autopkginstall . As instruções de instalação estão incluídas no Github, portanto não as repetirei aqui.