Risposta breve: si.
Risposta lunga: Sì, ma ... una risposta completa a questa domanda include una risposta tecnica e una preoccupazione pratica.
Innanzitutto, la risposta tecnica
Puoi installare un .pkg o .mpkg usando questa sintassi:
sudo installer -verboseR -pkg "/path/to/pkg/foo.mpkg"
Se il programma di installazione non è 'firmato' correttamente, dovrai aggiungerlo -allowUntrusted
sudo installer -allowUntrusted -verboseR -pkg "/path/to/pkg/foo.mpkg"
Potrebbe anche essere necessario specificare dove desideri installarlo, utilizzando -target /
(Non sono sicuro al 100% che ciò sia necessario , ma è una buona idea):
sudo installer -allowUntrusted -verboseR -pkg "/path/to/pkg/foo.mpkg" -target /
Ora, il problema è che sudo
ti chiederà la password dell'amministratore quando tenti di eseguire installer
. Se vuoi automatizzare questo, devi dire al tuo Mac di non richiedere la tua sudo
password quando esegui il programma di installazione. Per fare ciò, puoi aggiungere questa linea al tuo /etc/sudoers
file:
%admin ALL=NOPASSWD: /usr/sbin/installer
Consulta le man visudo
istruzioni per la modifica di quel file.
In secondo luogo, la preoccupazione pratica
Se sei l'unica persona che utilizza il tuo Mac, aggiungere la riga sopra /etc/sudoers
non è un grosso problema.
Tuttavia, se si tratta di un Mac condiviso, altre persone che fanno parte del gruppo "admin" potranno essere eseguite /usr/sbin/installer
senza che venga richiesta la password.
Inoltre, ovviamente, se qualcuno entra nel tuo account "admin", anche loro, in teoria, potrebbero causare problemi /usr/sbin/installer
. Sebbene non riesca a pensare esattamente a cosa farebbero, è un compromesso tra sicurezza e convenienza.
Terzo, uno script github
Ho scritto pkginstall.sh per fare alcune cose carine come registrare il processo, oltre a dirti se devi riavviare o meno dopo l'installazione del pacchetto.
Ultimo ma non meno importante: automatizzare "come?"
Per quanto riguarda come si desidera automatizzare l'installazione, ciò dipende da dettagli più specifici di ciò che si sta tentando di fare. Ad esempio, è possibile creare una cartella come ~ / Action / AutoInstallPKG / e dire launchd
di installare tutti i file .pkg o .mpkg che vengono aggiunti a quella cartella, e poi spostarli da parte in seguito.
Intendo fare qualcosa del genere da molto tempo, e alla fine l'ho messo insieme. Puoi trovarlo su https://github.com/tjluoma/autopkginstall . Le istruzioni di installazione sono incluse in Github, quindi non le ripeterò qui.