Réponse courte : oui.
Réponse longue : Oui, mais une réponse complète à cette question comprend une réponse technique et une préoccupation pratique.
Tout d'abord, la réponse technique
Vous pouvez installer un .pkg ou un .mpkg en utilisant cette syntaxe :
sudo installer -verboseR -pkg "/path/to/pkg/foo.mpkg"
Si le programme d'installation n'est pas "signé" correctement, vous devrez ajouter le code suivant -allowUntrusted
sudo installer -allowUntrusted -verboseR -pkg "/path/to/pkg/foo.mpkg"
Vous devrez peut-être aussi préciser où vous voulez l'installer, en utilisant -target /
(Je ne suis pas sûr à 100% que ce soit requis mais c'est une bonne idée) :
sudo installer -allowUntrusted -verboseR -pkg "/path/to/pkg/foo.mpkg" -target /
Maintenant, le problème est que sudo
va vous demander votre mot de passe d'administrateur lorsque vous essayez d'exécuter installer
. Si vous voulez automatiser cela, vous devez dire à votre Mac de ne pas demander à votre sudo
mot de passe lors de l'exécution du programme d'installation. Pour ce faire, vous pouvez ajouter cette ligne à votre fichier /etc/sudoers
fichier :
%admin ALL=NOPASSWD: /usr/sbin/installer
Voir man visudo
pour obtenir des instructions sur l'édition de ce fichier.
Deuxièmement, le souci pratique
Si vous êtes la seule personne à utiliser votre Mac, ajouter la ligne ci-dessus à /etc/sudoers
n'est pas un gros problème.
Cependant, s'il s'agit d'un Mac partagé, d'autres personnes appartenant au groupe "admin" pourront exécuter le programme /usr/sbin/installer
sans être invité à saisir son mot de passe.
De même, il est évident que si quelqu'un s'introduit dans votre compte "admin", il peut lui aussi, en théorie, causer des problèmes avec les éléments suivants /usr/sbin/installer
. Bien que j'aie du mal à imaginer ce qu'ils feraient exactement, il s'agit d'un compromis entre sécurité et commodité.
Troisièmement, un github script
J'ai écrit pkginstall.sh pour faire des choses intéressantes, comme consigner le processus, et vous dire si vous devez ou non redémarrer après l'installation du paquet.
Le dernier mais non le moindre : Automatisez "Comment ?"
Pour ce qui est de la façon dont vous voulez automatiser l'installation, cela dépend des spécificités de ce que vous essayez de faire. Vous pourriez, par exemple, créer un dossier tel que ~/Action/AutoInstallPKG/ et dire à launchd
pour installer tous les fichiers .pkg ou .mpkg qui sont ajoutés à ce dossier, et le mettre de côté ensuite.
Cela fait longtemps que je voulais faire quelque chose comme ça, et j'ai fini par le faire. Vous pouvez le trouver à https://github.com/tjluoma/autopkginstall . Les instructions d'installation sont incluses dans Github, donc je ne les répéterai pas ici.