Краткий ответ: да.
Длинный ответ: Да, но ... полный ответ на этот вопрос включает в себя технический ответ и практическую проблему.
Во-первых, технический ответ
Вы можете установить .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, поэтому я не буду повторять их здесь.
Я думаю, вы можете танцевать очень близко к своему собственному ответу. Вы упоминаете, что у вас нет удаленного рабочего стола Apple. Я бы порекомендовал рассмотреть это для того, что вы пытаетесь сделать. Я использую его так, как вы описываете все время - у меня есть файл .pkg, который нужно установить на нескольких компьютерах в моей локальной сети, я выделяю компьютеры, на которых хочу его установить, и говорю удаленному рабочему столу установить его. Он делает гораздо больше, чем это, но он сделает эти удаленные установки для вас. Это 80 долларов за лицензию с неограниченным количеством клиентов.
Если $ 80 является камнем преткновения - вы можете посмотреть на munki , который
Я не использовал его сам, но очень уважаю людей, которые его кодируют и используют в реальной жизни. Он немного более настроен и работает, чем удаленный рабочий стол, но также имеет гораздо больше возможностей.
Надеюсь, вы можете использовать одну из этих двух программ, чтобы делать то, что вы после.
источник
Наконец, благодаря решению dr.nixon моего конкретного вопроса , я должен справиться с созданием автоматической установки, как описано в вопросе через Platypus .
Пользователь должен запустить приложение, все остальное будет сделано автоматически.
источник