Risposta breve: sì.
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 file .pkg o .mpkg usando questa sintassi:
sudo installer -verboseR -pkg "/path/to/pkg/foo.mpkg"
Se il programma di installazione non è "firmato" correttamente, dovrai aggiungere -allowUntrusted
sudo installer -allowUntrusted -verboseR -pkg "/path/to/pkg/foo.mpkg"
Potresti anche aver bisogno di specificare dove vuoi che sia installato, usando -target /
(non sono sicuro al 100% questo è richiesto , ma è una buona idea ):
sudo installer -allowUntrusted -verboseR -pkg "/path/to/pkg/foo.mpkg" -target /
Ora, il problema è che sudo
ti chiederà la password di amministratore quando tenti di eseguire installer
. Se desideri automatizzarlo, devi dire al tuo Mac di non richiedere la tua password sudo
quando esegui il programma di installazione. Per fare ciò, puoi aggiungere questa linea al tuo file /etc/sudoers
:
%admin ALL=NOPASSWD: /usr/sbin/installer
Vedi man visudo
per le istruzioni sulla modifica di quel file.
In secondo luogo, la preoccupazione pratica
Se sei l'unica persona che usa il tuo Mac, aggiungere la riga sopra a /etc/sudoers
non è un grosso problema.
Tuttavia, se questo è un Mac condiviso, le altre persone che si trovano nel gruppo "admin" saranno in grado di eseguire /usr/sbin/installer
senza che venga richiesta la loro password.
Inoltre, ovviamente se qualcuno entra nel tuo account "admin", anche loro potrebbero, teoricamente, causare danno con /usr/sbin/installer
. Anche se non riesco a pensare esattamente a quello che farebbero, è un compromesso tra sicurezza e convenienza.
Terzo, uno script github
Ho scritto pkginstall.sh per fare alcune cose carine come registrare il processo, come pure come dirti se dovresti riavviare o meno dopo aver installato il pacchetto.
Ultimo ma non meno importante: Automatizza "come?"
Per quanto riguarda il modo in cui si desidera automatizzare l'installazione, ciò dipende da più specifiche di ciò che si sta tentando di fare. Ad esempio, puoi creare una cartella come ~ / Action / AutoInstallPKG / e dire launchd
per installare qualsiasi file .pkg o .mpkg che viene aggiunto a quella cartella, quindi spostarlo in un secondo momento.
Ho intenzione di fare qualcosa del genere per molto tempo, e così finalmente l'ho messo insieme. Puoi trovarlo all'indirizzo link . Le istruzioni per l'installazione sono incluse in Github, quindi non le ripeterò qui.