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
¿Qué salida o error ve cuando utiliza la función
-verbose
bandera coninstaller
? Pruebesudo 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
yinstaller
son compatibles con Apple en OS X.0 votos
¿pero Iceberg y los paquetes siguen siendo compatibles?
0 votos
Iceberg es un producto de terceros y no estoy seguro de qué paquetes es. Las herramientas para desarrolladores de Apple ahora sólo incluyen
productbuild
ypkgbuild
. He ampliado mi respuesta.