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 sudo
le pedirá su contraseña de administrador cuando intente ejecutar installer
. Si desea automatizar esto, debe decirle a su Mac que no requiera su sudo
contraseña cuando ejecute el instalador. Para hacer eso, puede agregar esta línea a su /etc/sudoers
archivo:
%admin ALL=NOPASSWD: /usr/sbin/installer
Consulte las man visudo
instrucciones 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/sudoers
no 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/installer
sin 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 launchd
que 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í.