14 votos

Instalación desatendida de archivo pkg

Hay alguna posibilidad de crear una instalación desatendida de un paquete pkg?

E. g. la creación de un mpkg y la ejecución de un script que instala el paquete a través de la consola y el instalador.

Antecedentes: Tuve que implementar un paquete para muchos osx usuario final. No tenemos escritorio de apple y no hay acceso a la root de estas máquinas. estas es una preconfigurado paquete paquete, pero si el usuario inicie en modo normal, la pre configuración de la consola. En windows me doy cuenta de esto con un selfexecutable archivo que se lanza de un msi con la instalación silenciosa. En linux puedo construir rpm/deb paquetes, pero en osx, yo no encuentro ninguna manera apropiada :(

17voto

moodforaday Puntos 2633

Respuesta corta: sí.

Respuesta larga: Sí, pero...una respuesta completa a esta pregunta incluye una respuesta técnica y una preocupación práctica.

En primer lugar, la respuesta técnica

Usted puede instalar una .pkg o .mpkg usando esta sintaxis:

sudo installer -verboseR -pkg "/path/to/pkg/foo.mpkg"

Si el instalador no es la "firma" correctamente, usted necesitará agregar -allowUntrusted

sudo installer -allowUntrusted -verboseR -pkg "/path/to/pkg/foo.mpkg"

Usted también puede necesitar para especificar dónde desea que se instala, el uso de -target / (no estoy 100% seguro de que esto es necesario, pero es una buena idea):

sudo installer -allowUntrusted -verboseR -pkg "/path/to/pkg/foo.mpkg" -target /

Ahora, el problema es que sudo va a pedir tu contraseña de administrador cuando se intenta ejecutar installer. Si desea automatizar esto, usted necesita decirle a su Mac no requieren de su sudo contraseña cuando se ejecuta el instalador. Para hacer esto, usted puede añadir esta línea a su /etc/sudoers archivo:

%admin ALL=NOPASSWD: /usr/sbin/installer

Ver man visudo para obtener instrucciones acerca de la edición de ese archivo.

Segundo, la preocupación práctica

Si usted es la única persona que utilice su Mac, la adición de la línea anterior a /etc/sudoers no es un gran problema.

Sin embargo, si esta es compartida Mac, a continuación, otras personas que están en el 'admin' grupo será capaz de ejecutar /usr/sbin/installer sin que se le pida su contraseña.

También, obviamente, si alguien se mete en su 'admin' cuenta, también, teóricamente, podría causar daño /usr/sbin/installer. Aunque estoy en una pérdida para pensar exactamente lo que iba a hacer, que es un trade-off de la seguridad frente a la comodidad.

En tercer lugar, una secuencia de comandos de github

Escribí pkginstall.sh para hacer algunas cosas buenas como registro del proceso, así como indicar si o no se supone que reiniciar después de instalar el paquete.

Por último, pero no menos importante: Automatizar "¿cómo?"

Tan lejos como usted desee automatizar la instalación, que depende más detalles de lo que usted está tratando de hacer. Usted podría, por ejemplo, crear una carpeta como ~/Acción/AutoInstallPKG/ y dígale launchd a instalar cualquier .pkg o .mpkg archivos que se agregan a la carpeta y, a continuación, mueva a un lado después.

He estado queriendo hacer algo como esto por un largo tiempo, por lo que, finalmente, poner juntos. Lo puedes encontrar en https://github.com/tjluoma/autopkginstall. Instrucciones de instalación se incluyen en Github, así que no voy a repetir aquí.

2voto

Leon Roy Puntos 361

Creo que puedes estar bailando muy cerca de su propia respuesta. Usted menciona que no tiene Apple Remote Desktop. Yo recomendaría que considera que para lo que usted está tratando de hacer. Yo lo uso como se describe todo el tiempo - tengo una .archivo pkg que necesita ser instalado en varios equipos de mi LAN, se destacan los equipos que desea instalarlo, y dígale a Escritorio Remoto para instalarlo. Hace mucho más que esto, pero lo HARÁ de estas instalaciones remotas para usted. Es de $80 para una licencia con un número ilimitado de clientes.

Si los $80 es un punto de fricción - usted puede mirar munki, que es

"un conjunto de herramientas que, utilizadas junto con un servidor web basado en el repositorio de de paquetes de metadatos, puede ser utilizado por los administradores de OS X gestionar la instalación de software (y en muchos casos las absorciones) en OS X las máquinas cliente."

No he utilizado yo mismo, pero tengo un montón de respeto por las personas de la codificación y el uso de ella en la vida real. Es un poco más de configurar y trabajar de Escritorio Remoto - pero tiene muchas más opciones.

Espero que usted puede utilizar uno de estos dos programas para hacer lo que usted está después.

2voto

atoth Puntos 121

Finalmente, gracias a dr.nixon solución de mi pregunta concreta, tengo que manejar la creación de una instalación desatendida, como se describe en la pregunta a través del Ornitorrinco.

Usuario tiene que iniciar la aplicación, el resto se hace automáticamente.

AppleAyuda.com

AppleAyuda es una comunidad de usuarios de los productos de Apple en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X