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


Ответы:


102

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

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

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

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

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


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 с выбранным файлом тоже должно работать.


4
Это не обязательно устанавливать в /Applications- это зависит от пакета, например, PowerShell для macOS устанавливается в /usr/local.
RichVel
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.