Hay un error en el script postinstall
. La primera línea debe contener solo un hash (#):
#!/usr/bin/env bash
Si .pkg
funciona con installer
y Installer.app , entonces es un paquete correcto. Todas las demás herramientas están hechas por terceros y pueden no ser compatibles con los últimos formatos y características pkg
.
¿Falta permiso?
El uso de sudo
en la secuencia de comandos de su paquete puede hacer que la secuencia de comandos se detenga para siempre o que falle instantáneamente. ¿Cómo interactuará el comando sudo
con el usuario para obtener las credenciales del superusuario?
Elimine sudo
y haga que su script pruebe el permiso para instalar antes de continuar, de lo contrario, imprima un error y salga:
if [[ $EUID -ne 0 ]]; then
echo "You must be a root to run this script" 2>&1
exit 1
fi
Es responsabilidad de installer
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 garantizar que esto suceda.
Registros y errores
Use el indicador verbose
con installer
para ver cada paso del proceso de instalación y para ver los errores:
sudo installer -verbose -pkg /Library/Virtualbox.pkg -target /
Herramientas del paquete de Apple
Los paquetes de instalación en OS X se construyen normalmente con las herramientas pkgbuild
y productbuild
. Estas dos herramientas de Apple admiten scripts pre y post; vea la bandera --scripts
.
AutoPkg
Los administradores de sistemas Mac a menudo usan la herramienta de código abierto autopkg
para crear paquetes:
AutoPkg es un marco de automatización para el empaquetado y distribución de software OS X, orientado a las tareas que normalmente se realizan manualmente para preparar software de terceros para la implementación masiva en clientes administrados.
Es posible que AutoPkg sea un mejor enfoque para simplificar la configuración de nuevas Mac.