Некоторые приложения входят в файлы .pkg и запрашивают у вас пароль администратора, даже если все, что они делают, это копируют двоичный файл в / Applications.
Мне нравится, когда мои приложения находятся в ~ / Applications, и я не люблю давать административные разрешения на все, что не от материнства.
Есть ли способ, которым я могу вручную открыть файл .pkg и вытащить приложение? В Инструментах для разработчиков есть PackageMaker, но, похоже, он этого не делает (он действительно выдает какой-то вывод, из-за которого я думаю, что на самом деле в установщике нет сценариев или других частей, кроме приложения).
Ответы:
Если щелкнуть по нему правой кнопкой мыши и выбрать « Показать содержимое пакета», вы получите несколько файлов в папке «Содержимое». (Примечание: если вы не видите Показать содержимое пакета, вам нужно открыть Terminal.app и запустить
pkgutil --expand mystubbornpackage.pkg path/to/expand
)Одним из них является файл спецификации (ведомости материалов), который превращается в квитанцию, которую можно использовать для удаления приложения. Этот файл содержит манифест всего, что будет установлено пакетом и куда; чтобы прочитать этот файл, используйте команду lsbom .
Большинство пакетов (я использую Office 2008 здесь) также имеют файл Archive.pax.gz, который содержит все, что установщик будет перемещать в различные папки, как указано в файле спецификации. Большинство приложений, кажется, имеют .app в этом архиве, хотя перетаскивание его в / Applications может оставить его без фреймворков, в которых он должен работать; поэтому вам нужно выяснить, какие другие файлы ему нужны и где они нужны, чтобы заставить его работать.
Кроме того, все пакеты могут регистрировать сообщения, если вы нажмете Cmd-L (или выберете опцию « Installer Log» в меню « Окно» , вы сможете просматривать их по мере их создания. Это может дать вам представление о том, какие дополнительные компоненты он устанавливает, в по крайней мере, это немного больше информации, если вы не доверяете пакету.
источник
pkgutil
сделаю это. Вы можете расширить его, используя,pkgutil --expand file.pkg path_to_expand
и он преобразует его в пакет стилей каталогов.В дополнение к тому, что сказал Мэтью Холл, вы также можете нажать Cmd-I в приложении Installer, чтобы увидеть, какие файлы установщик установит и где.
источник
Если вы недостаточно доверяете установщику, чтобы предоставить административные разрешения для установки, то почему вы доверяете бинарному файлу в / Applications?
Pacifist позволит вам заглянуть в файлы пакета. Это не обязательно позволяет вам «вытащить двоичный файл».
источник
В качестве альтернативы вы можете попробовать,
ИЛИ ЖЕ
источник
hdiutil create -size 200m -fs HFS+ -volname Scratch scratch.dmg
а затем скопировать файлы в места, которые вы предпочитаете. К сожалению, вам все еще нужен sudo для запуска программы установки.После того, как вам удастся открыть пакет, найдите файл Archive.pax.gz, который был упомянут ранее.
Создайте новую пустую папку на рабочем столе, назвав ее как хотите. Я обычно называю их «xxxx» или «zzzz» и т. Д., Чтобы потом было легче печатать.
Вы можете перетащить копию файла Archive.pax.gz в эту новую папку «xxxx» на рабочем столе.
Если файл находится внутри носителя только для чтения, вы можете просто перетащить его в папку «xxxx» без ключа Option, чтобы создать копию.
Теперь откройте Terminal.app и в командной строке перейдите в новый каталог «xxxx» и перечислите содержимое каталога, чтобы убедиться, что ваш файл Archive.pax.gz находится там:
Теперь нужно ввести две простые команды:
Gzip скажет вам, что он заменил «Archive.pax.gz» на «Archive.pax»). Теперь снова перечислите содержимое каталога, чтобы подтвердить это.
(Вы должны отделиться
-r
и-f
, как-rf
не будет работать)Наконец, снова перечислите содержимое каталога с помощью
ls -al
. В дополнение к вашему файлу Archive.pax вы теперь увидите иерархию каталогов, вероятно, содержащую один или несколько каталогов.Файлы в этой иерархии каталогов покажут вам, где установщик OS X установит файлы в вашей системе, как если бы каталог «xxxx» был корневым каталогом «/».
Затем вы можете вручную скопировать эти файлы в их места назначения, если хотите.
источник
cd ~/Desktop; cp Package.pkg/Contents/Archive.pax.gz .; gunzip -v Archive.pax.gz; pax -r -f Archive.pax
. Вам не нужно описывать все на этом уровне детализации.pkgutil --expand
не удалось для меня со следующей ошибкой:Error encountered while creating .. Error 17: File exists
Но мне удалось извлечь файлы с помощью
xar
:xar -xvf foo.pkg
источник
Лучшим инструментом для проверки файлов пакетов является Подозрительный пакет . Это также позволяет копировать файлы из пакета.
Он не только предоставит всю необходимую вам информацию в приложении, но и установит плагин Quick Look, поэтому, просто выбрав файл пакета и нажав клавишу пробела, вы увидите окно с самой важной информацией.
источник
Unarchiver может сделать это; он будет делать то же самое,
pkgutil --expand
но с использованием перетаскивания. В любом случае, это лучшая замена Apple Archive Utility.app.источник
UnArchiver сделал свое дело.
Установите UnArchiver, откройте UnArchiver; пока он открыт - дважды щелкните на этом надоедливом
MAMP_MAMP_3.5.pkg
Следуйте инструкциям по установке MAMP.
источник