У меня метапакет файл program.mpkg Я использую команду Mac OS X installer для установки .pkg и .mpkg файлов через командную строку , как правило , следующим образом:

$ sudo installer -pkg program.mpkg -tgt  /

Содержание метапакета:

$ installer -pkg program.mpkg -pkginfo`
program
prog-command-line
GUI-front-end

По умолчанию все эти три пакета внутри program.mpkg будут установлены, но мне нужно установить единый пакет GUI-front-end из этого метапакета, используя только командную строку.

РЕДАКТИРОВАТЬ:

Я использовал опцию -config :

$ installer -pkg ~/Documents/program.pkg -target / -config > /tmp/prog.plist

и получил prog.plist:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
    <key>Package</key>
    <string>program.mpkg</string>
    <key>Target</key>
    <string>/</string>
</dict>
</plist> 

Как мне изменить его, чтобы установить только GUI-front-end пакет вместо всех трех доступных пакетов из .mpkg?

РЕДАКТИРОВАТЬ:

Я попытался открыть метапакет с помощью:

$ pkgutil --expand /Volumes/Prog/program.mpkg ~/Desktop/folder

Но получая:

Could not open package for expansion: /Volumes/Prog/program.mpkg

Все файлы и папки существуют ... Есть идеи?

2 ответа2

0

Попробуйте использовать опцию -config установщика. Вот что говорит man-страница об этой опции

-config

Форматирует аргументы установки командной строки для последующего использования. Вывод отправляется на стандартный вывод, но может быть перенаправлен в файл для создания файла конфигурации. При указании этой опции установка фактически не выполняется. Этот файл конфигурации может быть указан в качестве аргумента параметра -file вместо того, чтобы вводить длинный ряд аргументов установки. Файл конфигурации может быть использован для выполнения нескольких идентичных установок. Вы можете создать файл конфигурации следующим образом:

installer -pkg ~/Documents/Foo.pkg -target / -config > /tmp/configfile.plist

Если вы последуете примеру, вы сможете отредактировать полученный файл .plist и затем использовать -file /tmp/configfile.plist чтобы фактически запустить установку с указанными вами параметрами. Этот подход распространен для нас, которые создают повторяющиеся установки для корпоративных клиентов. Но заранее знайте, что не все установщики написаны одинаково. Возможно, вам придется проверить свою установку на тестовой ВМ или машине, чтобы убедиться, что вы получаете именно те опции, которые вам нужны. GL

0

На самом деле решение было чрезвычайно простым - файл .mpkg выглядит как простая цепочка, когда вы смотрите на него через оболочку, так что просто перейдите в cd найдите ваш .pkg и делайте с ним все, что захотите ... например:

cp metapkg.mpkg/some.pkg /tmp/some.pkg
sudo installer -pkg /tmp/some.pkg -tgt /

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .