2017-02-13 16 views
2

A XIP file is an analog to zip, but allows for a digital signature to be applied and verified on the receiving system, before the archive is expanded. When a XIP file is opened (by double-clicking), Archive Utility will automatically expand it (but only if the digital signature is intact).Извлечь файлы .xip в определенную папку

По существу, .xip-файл - это просто .zip с сигнатурой, чтобы убедиться, что файл не изменился с момента его создания. Это защищает от обоих повреждений от ошибки диска и от стороннего вмешательства в файл.

Кто-нибудь знает, как извлечь этот файл, например. используя Терминал, в конкретную папку вместо папки, в которой находится .xip-файл?

+0

Если это «просто почтовый индекс», то, по-видимому, обычные инструменты для распаковки сделают трюк.Или вы хотите проверить подпись? – halfer

ответ

0

Я бы рекомендовал просто распаковать архив в папку, которую вы хотите, пытаясь следующее:

xar -xf file.xip -C /path/to/target 

(и/или)

tar -zxvf file.xip -C /path/to/target 

Команды xar и tar извлечь .xip «Содержание »и« Метаданные »в необработанном формате.

Используя анализатор потока pbzx, вам необходимо извлечь «Контент», который представляет собой сжатую полезную нагрузку lzma; формат аналогичен формату, установленному в установщике пакета (например, .pkg).

pbzx -n Content | cpio -i 

Вы можете compile the pbzx source from here или download the compiled binary и установить в /usr/local/bin затем вызовите команду pbzx. После того, как команда завершит разбор содержимого, вы получите оригинальную форму того, что было в архиве .xip.

Полезные/Дополнительная информация:

$ pkgutil --check-signature file.xip 

Xcode_9_beta_2.xip возвращается:

Package "Xcode_9_beta_2.xip": 
    Status: signed Apple Software 
    Certificate Chain: 
    1. Software Update 
     SHA1 fingerprint: 1E 34 E3 91 C6 44 37 DD 24 BE 57 B1 66 7B 2F DA 09 76 E1 FD 
     ----------------------------------------------------------------------------- 
    2. Apple Software Update Certification Authority 
     SHA1 fingerprint: FA 02 79 0F CE 9D 93 00 89 C8 C2 51 0B BC 50 B4 85 8E 6F BF 
     ----------------------------------------------------------------------------- 
    3. Apple Root CA 
     SHA1 fingerprint: 61 1E 5B 66 2C 59 3A 08 FF 58 D1 4A E2 24 52 D1 98 DF 6C 60 

Примечания:

Important: Starting with macOS Sierra, only XIP archives signed by Apple will be expanded. Developers who have been using XIP archives will need to move to using signed installer packages or disk images.

OS X manual page : xip

+0

У меня есть ошибка: 'Xcode_8.1.xip Подпись под центральной директорией не найдена. Либо этот файл не является zipfile, либо представляет собой один диск из многочастного архива. В последнем случае центральный каталог и комментарий zipfile будут найдены на последнем диске (дисках) этого архива. note: Xcode_8.1.xip может быть простым исполняемым файлом, а не архивом. –

+0

Что происходит, когда вы дважды щелкаете файл? –

+0

открывает утилиту ** ** для архива ** для проверки подписи и извлечения. Но, прежде чем завершить проверку, появляется ошибка. –

0

Кажется, что нет единственного инструмента для достижения этого. Нужен инструмент, который может декодировать потоки pbzx, и, похоже, нет инструмента для предустановленной на macOS.

Различные решения найдены в следующих ответах:

0

Вы можете открыть сам утилиту архивирования, перейдите в настройки и установить определенную папку и затем дважды щелкните файл. Таким образом, вы достигли расширения его до определенного места назначения. ;-)