Краткий ответ: да.
Длинный ответ: Да, но ... полный ответ на этот вопрос включает в себя технический ответ и практическую проблему.
Во-первых, технический ответ
Вы можете установить .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, поэтому я не буду повторять их здесь.