Respuesta corta: sí.
Respuesta larga: Sí, pero ... una respuesta completa a esta pregunta incluye una respuesta técnica y una preocupación práctica.
Primero, la respuesta técnica.
Puede instalar un .pkg o .mpkg usando esta sintaxis:
sudo installer -verboseR -pkg "/path/to/pkg/foo.mpkg"
Si el instalador no está 'firmado' correctamente, deberá agregar -allowUntrusted
sudo installer -allowUntrusted -verboseR -pkg "/path/to/pkg/foo.mpkg"
También es posible que deba especificar dónde lo quiere instalar, usando -target /(no estoy 100% seguro de que sea necesario , pero es una buena idea):
sudo installer -allowUntrusted -verboseR -pkg "/path/to/pkg/foo.mpkg" -target /
Ahora, el problema es que sudole pedirá su contraseña de administrador cuando intente ejecutar installer. Si desea automatizar esto, debe decirle a su Mac que no requiera su sudocontraseña cuando ejecute el instalador. Para hacer eso, puede agregar esta línea a su /etc/sudoersarchivo:
%admin ALL=NOPASSWD: /usr/sbin/installer
Consulte las man visudoinstrucciones sobre cómo editar ese archivo.
En segundo lugar, la preocupación práctica.
Si usted es la única persona que usa su Mac, agregar la línea anterior /etc/sudoersno es gran cosa.
Sin embargo, si se trata de una Mac compartida, otras personas que estén en el grupo 'admin' podrán ejecutarse /usr/sbin/installersin que se les solicite su contraseña.
Además, obviamente, si alguien ingresa a su cuenta de 'administrador', también podrían, en teoría, causar daños /usr/sbin/installer. Aunque no sé si pensar exactamente en lo que harían, es una compensación entre seguridad y conveniencia.
Tercero, un guión github
Escribí pkginstall.sh para hacer algunas cosas buenas, como registrar el proceso, y también para decir si se supone que debes reiniciar o no después de instalar el paquete.
Por último, pero no menos importante: Automatizar "¿cómo?"
En cuanto a cómo desea automatizar la instalación, eso depende de más detalles de lo que está tratando de hacer. Podría, por ejemplo, crear una carpeta como ~ / Action / AutoInstallPKG / y pedirle launchdque instale cualquier archivo .pkg o .mpkg que se agregue a esa carpeta, y luego moverlo a un lado después.
He tenido la intención de hacer algo como esto durante mucho tiempo, y finalmente lo armé. Puede encontrarlo en https://github.com/tjluoma/autopkginstall . Las instrucciones de instalación están incluidas en Github, por lo que no las repetiré aquí.