Krótka odpowiedź: tak.
Długa odpowiedź: tak, ale… pełna odpowiedź na to pytanie zawiera odpowiedź techniczną i problem praktyczny.
Po pierwsze, odpowiedź techniczna
Możesz zainstalować .pkg lub .mpkg przy użyciu tej składni:
sudo installer -verboseR -pkg "/path/to/pkg/foo.mpkg"
Jeśli instalator nie jest poprawnie „podpisany”, musisz dodać -allowUntrusted
sudo installer -allowUntrusted -verboseR -pkg "/path/to/pkg/foo.mpkg"
Być może trzeba będzie określić, gdzie ma być zainstalowany, używając -target /
(nie jestem w 100% pewien, że jest to wymagane , ale to dobry pomysł):
sudo installer -allowUntrusted -verboseR -pkg "/path/to/pkg/foo.mpkg" -target /
Problem polega na tym, że sudo
przy próbie uruchomienia poprosi Cię o hasło administratora installer
. Jeśli chcesz to zautomatyzować, musisz powiedzieć komputerowi Mac, aby nie wymagał sudo
hasła podczas uruchamiania instalatora. Aby to zrobić, możesz dodać ten wiersz do swojego /etc/sudoers
pliku:
%admin ALL=NOPASSWD: /usr/sbin/installer
Zobacz man visudo
instrukcje dotyczące edycji tego pliku.
Po drugie, problem praktyczny
Jeśli jesteś jedyną osobą, która korzysta z komputera Mac, dodanie powyższej linii /etc/sudoers
nie jest niczym wielkim.
Jeśli jednak jest to udostępniony komputer Mac, inne osoby należące do grupy „admin” będą mogły działać /usr/sbin/installer
bez pytania o hasło.
Oczywiście, jeśli ktoś dostanie się na twoje konto „administratora”, również teoretycznie może spowodować zgorszenie /usr/sbin/installer
. Chociaż nie mogę się zastanowić, co dokładnie by zrobili, jest to kompromis między bezpieczeństwem a wygodą.
Po trzecie, skrypt github
Napisałem pkginstall.sh, aby zrobić kilka fajnych rzeczy, takich jak rejestrowanie procesu, a także powiedzieć, czy należy ponownie uruchomić komputer po zainstalowaniu pakietu.
Na koniec: zautomatyzuj „jak?”
O ile chcesz zautomatyzować instalację, zależy to od bardziej szczegółowych informacji na temat tego, co próbujesz zrobić. Możesz na przykład utworzyć folder, taki jak ~ / Action / AutoInstallPKG /, i nakazać launchd
zainstalowanie plików .pkg lub .mpkg, które zostaną dodane do tego folderu, a następnie przenieść go na bok.
Chciałem zrobić coś takiego od dłuższego czasu, więc w końcu to połączyłem. Można go znaleźć na https://github.com/tjluoma/autopkginstall . Instrukcje instalacji znajdują się w Github, więc nie będę ich tutaj powtarzać.