Коротка відповідь: так.
Довга відповідь: Так, але ... повна відповідь на це питання включає технічну відповідь і практичну проблему.
По-перше, технічна відповідь
Ви можете встановити .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, тому я не повторюю їх тут.