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 un .mpkg utilizando esta sintaxis:
sudo installer -verboseR -pkg "/path/to/pkg/foo.mpkg"
Si el instalador no está "firmado" correctamente, tendrá que añadir -allowUntrusted
sudo installer -allowUntrusted -verboseR -pkg "/path/to/pkg/foo.mpkg"
También puede ser necesario especificar donde que quieres que se instale, utilizando -target /
(No estoy 100% seguro de que esto sea requerido pero es una buena idea):
sudo installer -allowUntrusted -verboseR -pkg "/path/to/pkg/foo.mpkg" -target /
El problema es que sudo
le pedirá su contraseña de administrador cuando intente ejecutar installer
. Si quiere automatizar esto, tiene que decirle a su Mac que no requiera su sudo
contraseña al ejecutar el instalador. Para ello, puede añadir esta línea a su /etc/sudoers
archivo:
%admin ALL=NOPASSWD: /usr/sbin/installer
Ver man visudo
para obtener instrucciones sobre la edición de ese archivo.
En segundo lugar, la preocupación práctica
Si usted es la única persona que utiliza su Mac, añada la línea anterior a /etc/sudoers
no es un gran problema.
Sin embargo, si se trata de un Mac compartido, otras personas que estén en el grupo "admin" podrán ejecutar /usr/sbin/installer
sin que se les pida la contraseña.
Además, obviamente, si alguien entra en tu cuenta de "administrador", también podría, teóricamente, hacer travesuras con /usr/sbin/installer
. Aunque no se me ocurre qué es lo que harían exactamente, se trata de un compromiso de seguridad frente a comodidad.
Tercero, un github script
He escrito pkginstall.sh para hacer algunas cosas buenas como registrar el proceso, así como decirle si se supone que debe reiniciar después de instalar el paquete.
Por último, pero no menos importante: Automatizar "¿Cómo?"
En cuanto a cómo quieres automatizar la instalación, eso depende de más detalles de lo que estás tratando de hacer. Usted podría, por ejemplo, hacer una carpeta como ~/Action/AutoInstallPKG/ y decirle a launchd
para instalar cualquier archivo .pkg o .mpkg que se añada a esa carpeta, y después apartarla.
Llevaba mucho tiempo queriendo hacer algo así y por fin lo he montado. Puede encontrarlo en https://github.com/tjluoma/autopkginstall . Las instrucciones de instalación están incluidas en Github, así que no las repetiré aquí.