C'è un errore nello script postinstall
. La prima riga dovrebbe contenere solo un cancelletto (#):
#!/usr/bin/env bash
Se .pkg
funziona con installer
e Installer.app , allora è un pacchetto corretto. Tutti gli altri strumenti sono creati da terze parti e potrebbero non supportare i formati e le funzioni di pkg
più recenti.
Permesso mancante?
L'utilizzo di sudo
nello script del pacchetto può causare la pausa per sempre o il fallimento istantaneo dello script. In che modo il comando sudo
interagisce con l'utente per ottenere le credenziali dell'utente super?
Rimuovi sudo
e crea lo script verifica l'autorizzazione per l'installazione prima di continuare, altrimenti stampa un errore ed esci:
if [[ $EUID -ne 0 ]]; then
echo "You must be a root to run this script" 2>&1
exit 1
fi
È responsabilità di installer
ottenere i diritti di autorizzazione appropriati ed eseguire gli script del pacchetto utilizzando tali diritti. All'interno del pacchetto, specifica che ha bisogno dei diritti di amministratore per assicurarti che ciò accada.
Registri ed errori
Utilizza il flag verbose
con installer
per vedere ogni passaggio del processo di installazione e vedere gli errori:
sudo installer -verbose -pkg /Library/Virtualbox.pkg -target /
Strumenti pacchetto Apple
I pacchetti di installazione su OS X sono in genere creati con gli strumenti pkgbuild
e productbuild
. Questi due strumenti Apple supportano gli script pre e post; guarda il flag --scripts
.
AutoPkg
Gli amministratori di sistema Mac spesso utilizzano lo strumento open source autopkg
per creare pacchetti:
AutoPkg is an automation framework for OS X software packaging and distribution, oriented towards the tasks one would normally perform manually to prepare third-party software for mass deployment to managed clients.
Potresti trovare che AutoPkg è un approccio migliore per semplificare la configurazione dei nuovi Mac.