0 votos

Creación de un Installpackage para mac

Tengo un montón de programas que siempre tengo que instalar en un nuevo Mac. Quería simplificar este proceso a través de un paquete de instalación. Ya he probado Iceberg con algo de éxito pero tengo un error específico. Lo que quiero hacer con Iceberg es desempaquetar todos los paquetes e iniciar un script para instalarlo y borrar los paquetes después. Puedo hacer un paquete que desempaque los paquetes en mi destino pero el programa iceberg no ejecuta el script que añado en la postinstalación. el script en sí mismo funciona bien cuando lo uso a través de la terminal. el script que estoy usando es

##!/usr/bin/env bash
sudo installer -pkg /Library/Virtualbox.pkg -target /

iceberg incluye el script en el programa pero nunca lo utiliza.

0 votos

¿Qué salida o error ve cuando utiliza la función -verbose bandera con installer ? Pruebe sudo installer -verbose -pkg /Library/Virtualbox.pkg -target /

0 votos

No hay error. si uso el instalador en la terminal hace lo que debe hacer. mi problema es que iceberg o packages o Packagemaker no ejecutan el script en postinstall.

0 votos

PackageMaker ya no está soportado por Apple; sólo Installer.app y installer son compatibles con Apple en OS X.

1voto

Steve Evans Puntos 155

Hay un error en el postinstall script. La primera línea debe contener sólo una almohadilla (#):

#!/usr/bin/env bash

Si el .pkg trabaja con installer y Instalador.app entonces es un paquete correcto. Todas las demás herramientas son de terceros y pueden no ser compatibles con la última pkg formatos y características.

¿Falta de permiso?

Utilizando sudo en su paquete script puede hacer que el script se detenga para siempre o falle instantáneamente. ¿Cómo se puede hacer para que el sudo interactuar con el usuario para obtener las credenciales del superusuario?

Eliminar sudo y hacer su script prueba de permiso para instalar antes de continuar, de lo contrario imprime un error y sale:

if [[ $EUID -ne 0 ]]; then
  echo "You must be a root to run this script" 2>&1
  exit 1
fi

Es responsabilidad de installer para obtener los derechos de autorización adecuados y ejecutar los scripts del paquete utilizando esos derechos. Dentro de su paquete, especifique que necesita derechos de administrador para asegurar que esto ocurra.

Registros y errores

Utilice el verbose bandera con installer para ver cada paso del proceso de instalación y ver los errores:

sudo installer -verbose -pkg /Library/Virtualbox.pkg -target /

Herramientas del paquete de Apple

Los paquetes de instalación en OS X suelen construirse con las herramientas pkgbuild y productbuild . Estas dos herramientas de Apple soportan pre y post scripts; véase el --scripts bandera.

AutoPkg

Los administradores de sistemas Mac suelen utilizar el código abierto autopkg para crear paquetes:

AutoPkg es un marco de trabajo de automatización para el empaquetado y la distribución de software en OS X, orientado a las tareas que uno normalmente realizaría manualmente para preparar el software de terceros para su despliegue masivo en clientes gestionados.

Es posible que AutoPkg sea un mejor enfoque para simplificar la configuración de los nuevos Mac.

0 votos

Incluso con los cambios en el código todavía dosent trabajo. Iceberg no lo ejecuta en postinstall

0 votos

Pero por lo que he aprendido sobre autopkg es que es una herramienta de despliegue y no una herramienta pkg genarating. Necesito empaquetar todos los archivos pkg y app en un pkg y ejecutarlo desde un stick por ejemplo. ¿Estoy en lo cierto sobre autopkg o soy demasiado estúpido para encontrar el código correcto para hacerlo?

0 votos

AutoPkg es muy capaz, pero puede ser demasiado para sus necesidades. Consulte github.com/autopkg/autopkg/wiki/Getting-Started para empezar.

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