Коротка відповідь: так.
Довга відповідь: Так, але ... повна відповідь на це питання включає технічну відповідь і практичну проблему.
По-перше, технічна відповідь
Ви можете встановити .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, то інші люди, які перебувають у групі "адміністратора", зможуть запускатись, /usr/sbin/installer
не вимагаючи їх пароля.
Крім того, очевидно, якщо хтось потрапить у ваш акаунт адміністратора, він теж теоретично може викликати непорозуміння /usr/sbin/installer
. Хоча я втрачаю можливість думати, що саме вони б робили, це компроміс безпеки та зручності.
По-третє, сценарій github
Я написав pkginstall.sh, щоб зробити кілька приємних речей, таких як журнал процесу, а також розповісти вам, чи слід перезавантажуватись після встановлення пакета.
І останнє, але не менш важливе: Автоматизувати "як?"
Що стосується того, як ви хочете автоматизувати установку, це залежить від більш конкретики того, що ви намагаєтеся зробити. Наприклад, можна створити папку, наприклад ~ / Action / AutoInstallPKG /, і сказати launchd
встановити будь-які .pkg або .mpkg файли, які додаються до цієї папки, а потім перемістити її в сторону.
Я давно маю на увазі зробити щось подібне, і тому, нарешті, все це склало. Ви можете знайти його за адресою https://github.com/tjluoma/autopkginstall . Інструкції з установки містяться в Github, тому я не повторюю їх тут.