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

XIP文件是模拟到拉链,但允许施加和接收系统上验证的数字签名中,归档膨胀之前.当一个XIP文件被打开(通过双击),归档实用程序将自动扩展它(但只有数字签名是否完好).

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

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

也许试试:

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"

我建议将存档简单地提取到您想要尝试以下操作的文件夹中:

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

(和/或)

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

xartar命令提取.xip原始格式“内容”和“元数据”。

使用pbzx流解析器,您需要提取“内容”,它是lzma压缩的有效负载;该格式类似于程序包安装程序中的格式(例如.pkg)。您可以从此处编译pbzx源,或下载编译的二进制文件并进行安装,/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开始,将仅扩展由Apple签名的XIP存档。一直在使用XIP存档的开发人员将需要转而使用签名的安装程序包或磁盘映像。

您可以打开存档实用程序本身,进入“首选项”并设置一个特定的目标文件夹,然后双击该文件。这样,您就可以将其扩展到特定的目的地。;-) 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值