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í.
Creo que puedes estar bailando muy cerca de tu propia respuesta. Menciona que no tiene el Escritorio remoto de Apple. Recomendaría considerarlo para lo que está tratando de hacer. Lo uso como lo describe todo el tiempo: tengo un archivo .pkg que necesita ser instalado en varias computadoras en mi LAN, resalto las computadoras en las que quiero instalarlo y le digo a Remote Desktop que lo instale. Hace mucho más que esto, pero REALIZARÁ estas instalaciones remotas por usted. Cuesta $ 80 por una licencia con clientes ilimitados.
Si los $ 80 son un punto de fricción, podrías mirar munki , que es
No lo he usado yo mismo, pero respeto mucho a las personas que lo codifican y lo usan en la vida real. Está un poco más configurado y funciona que el Escritorio remoto, pero también tiene muchas más opciones.
Esperemos que pueda usar uno de estos dos programas para hacer lo que busca.
fuente
Finalmente, gracias a la solución dr.nixon de mi pregunta concreta , tengo que manejar la creación de una instalación desatendida como se describe en la pregunta a través de Platypus .
El usuario tiene que iniciar la aplicación, el resto se hará automáticamente.
fuente