Установка .pkg с терминала?

81

Можно ли установить .pkg с помощью терминала? (Я хотел установить приложение через ssh).

Матье Риглер
источник

Ответы:

102

/ USR / SBIN / Установщик

Команда установщика используется для установки пакетов установщика Mac OS X в указанный домен или том. Команда установщика устанавливает один пакет на вызов, который указывается параметром -package (-pkg принимается как синоним). Это может быть один пакет или метапакет. В случае метапакета будут установлены пакеты, являющиеся частью установки по умолчанию, если они не дисквалифицированы инструментом (ами) проверки пакетов.

Смотрите man installerдля полной функциональности. Часто

sudo installer -pkg /path/to/package.pkg -target /

это все, что нужно.

Nohillside
источник
1
Обратите внимание, что -target - это устройство, а не путь. Так что держите его "/" для большинства случаев.
AlexV
1
@AlexV цвет меня смутил - /это путь и на нем смонтировано устройство. Итак, почему опция, которая требует устройства в качестве аргумента, принимает /?
Муру
1
@muru - в документации это называется «устройство», но на самом деле у него есть собственный синтаксис для определения цели (не совсем «узел устройства unix»). Согласно man-странице установщика, это может быть узел устройства (как вы и ожидаете), идентификатор диска (например, disk1s9), точка монтирования (отсюда «/»), UUID тома или любой из доменов установки, перечисленных в installer -dominfo.
Сергут
3

Установите все .pkgфайлы из текущей папки в /Applications:

for f in *.pkg ; 
    do sudo installer -verbose -pkg "$f" -target /
done

В качестве альтернативы вы можете установить пакеты в вашу домашнюю папку с помощью -target ~. Они будут в конечном итоге, /Users/<your_account>/Applicationsесли конкретный путь не предопределен в установщике.

Если вам необходимо увидеть, что именно содержит установщик pkg, и какие сценарии до и после установки будут запущены, вы можете установить SuspiciousPackage (бесплатное программное обеспечение) и использовать быстрый предварительный просмотр из Finder, пока .pkgфайл выбран. Нажатие пробела в Finder с выбранным файлом тоже должно работать.

ccpizza
источник
4
Это не обязательно устанавливать в /Applications- это зависит от пакета, например, PowerShell для macOS устанавливается в /usr/local.
RichVel