Краткий ответ: да.
Длинный ответ: Да, но ... полный ответ на этот вопрос включает в себя технический ответ и практическую проблему.
Во-первых, технический ответ
Вы можете установить .pkg или .mpkg, используя этот синтаксис:
sudo installer -verboseR -pkg "/path/to/pkg/foo.mpkg"
Если установщик не подписан должным образом, вам необходимо добавить -allowUntrusted
sudo installer -allowUntrusted -verboseR -pkg "/path/to/pkg/foo.mpkg"
Вам также может понадобиться указать, где вы хотите установить его, используя -target /
(я не уверен на 100%, что это необходимо , но это хорошая идея):
sudo installer -allowUntrusted -verboseR -pkg "/path/to/pkg/foo.mpkg" -target /
Теперь проблема в том, что sudo
при попытке запуска у вас спросят пароль администратора installer
. Если вы хотите автоматизировать это, вы должны указать компьютеру Mac, чтобы он не запрашивал sudo
пароль при запуске программы установки. Для этого вы можете добавить эту строку в ваш /etc/sudoers
файл:
%admin ALL=NOPASSWD: /usr/sbin/installer
Смотрите man visudo
инструкции по редактированию этого файла.
Во-вторых, практическая забота
Если вы единственный человек, который использует ваш Mac, добавление вышеуказанной строки /etc/sudoers
не имеет большого значения.
Однако, если это Mac с общим доступом, другие пользователи, входящие в группу «admin», смогут работать /usr/sbin/installer
без запроса пароля.
Кроме того, очевидно, что если кто-то попадет в вашу учетную запись «admin», он тоже может теоретически причинить вред /usr/sbin/installer
. Хотя я не могу придумать, что именно они будут делать, это компромисс между безопасностью и удобством.
В-третьих, скрипт github
Я написал pkginstall.sh, чтобы сделать несколько полезных вещей, таких как регистрация процесса, а также сказать вам, нужно ли вам перезагружаться после установки пакета.
И последнее, но не менее важное: автоматизировать "как?"
То, насколько вы хотите автоматизировать установку, зависит от того, что вы пытаетесь сделать. Вы можете, например, создать папку, например ~ / Action / AutoInstallPKG /, и указать launchd
установить любые файлы .pkg или .mpkg, добавленные в эту папку, а затем переместить ее в сторону.
Я давно хотел сделать что-то подобное, и вот, наконец, я это собрал. Вы можете найти его по адресу https://github.com/tjluoma/autopkginstall . Инструкции по установке включены в Github, поэтому я не буду повторять их здесь.