将.xip文件解压缩到特定文件夹中

时间:2017-02-13 06:05:51

标签: macos terminal extract osx-elcapitan

  

XIP 文件是zip模拟文件,但允许在扩展存档之前在接收系统上应用和验证数字签名。当打开 XIP 文件(通过双击)时,Archive Utility将自动展开它(但仅当数字签名完好无损时)。

基本上,.xip文件只是一个带有签名的.zip,用于验证文件自创建者保存以来未发生更改。这可以防止磁盘错误和第三方篡改文件造成的损坏。

有谁知道,如何提取此文件,例如使用终端,到特定文件夹而不是.xip文件所在的文件夹?

5 个答案:

答案 0 :(得分:10)

也许试试:

xip -x [path to .xip file]

这会将存档解压缩到您当前的工作目录中。

至于提取到特定目录,没有明确的选项,但xip -x将提取到当前工作目录。因此,cd到您想要提取文件的位置应该有效;如果您特别需要自动执行此操作,则可以使用以下脚本:

#!/bin/sh

xipfile="$(cd $(dirname "$1"); pwd -P)/$(basename "$1")" # a portable "realpath"

cd "$2"
xip -x "$xipfile"

我应该这样做吗?

答案 1 :(得分:4)

我建议您只需将存档解压缩到您想要尝试以下内容的文件夹中:

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

(和/或)

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

xartar命令会提取.xip"内容"和"元数据"以原始格式。

使用pbzx流解析器,您需要提取"内容"这是一个lzma压缩的有效载荷;格式类似于软件包安装程序中的格式(例如.pkg)。您可以compile the pbzx source from heredownload the compiled binary安装到/usr/local/bin,然后调用pbzx命令:

pbzx -n Content | cpio -i

在命令完成解析内容后,您应该获得.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

备注

  

重要:从macOS Sierra开始,只有签名的XIP档案   Apple将会扩展。使用XIP存档的开发人员   将需要转向使用已签名的安装程序包或磁盘映像。

OS X manual page : xip

答案 2 :(得分:4)

您可以打开存档实用程序,进入偏好设置并设置特定的目标文件夹,然后双击该文件。这样您就可以将其扩展到特定目的地。 ; - )

答案 3 :(得分:0)

到目前为止,似乎没有单一工具可以实现这一目标。一个人需要一个可以解码pbzx流的工具,似乎没有预先安装在macOS上的工具。

在这些答案中找到了各种解决方案:

答案 4 :(得分:0)

您可以通过Spotlight搜索(Command+Space)搜索“归档实用程序”来更改输出。然后 Archive Utility>首选项 (Command+,)。然后将保存扩展文件>到... 中,您可以更改输出目录。 :)

更简单:打开“存档实用程序”并打开其首选项,并更改将文件提取到的位置。另外,存档实用程序 可以打开.xip文件。