相关疑难解决方法(0)

如何从apple macOS更新包中的'Payload'文件中提取内容?

我正在提取macOS sierra更新包 - macOSUpd10.12.1.pkg使用以下命令到/ tmp/macosupd目录.

pkgutil --expand /Volumes/macOS\ Sierra\ Update/macOSUpd10.12.1.pkg /tmp/macosupd 
Run Code Online (Sandbox Code Playgroud)

我可以看到以下包捆绑在metapackage中.

-rwxr-xr-x   1  Distribution
drwxr-xr-x   6  FirmwareUpdate.pkg
drwxr-xr-x   5  FullBundleUpdate.pkg
drwxr-xr-x  36  Resources
drwxr-xr-x   6  macOSUpd10.12.1.pkg
Run Code Online (Sandbox Code Playgroud)

我无法提取Payload文件的内容.例如,当我尝试提取macOSUpd10.12.1.pkg的Payload时,我收到以下错误消息:

用tar:

tar -xvf macOSUpd10.12.1.pkg/Payload 
tar: Unrecognized archive format
tar: Error exit delayed from previous errors.
Run Code Online (Sandbox Code Playgroud)

与xar:

xar -xvf macOSUpd10.12.1.pkg/Payload 
Error opening xar archive: macOSUpd10.12.1.pkg/Payload
Run Code Online (Sandbox Code Playgroud)

当我在有效负载文件上运行file命令时,我得到一条消息:

file macOSUpd10.12.1.pkg/Payload 
macOSUpd10.12.1.pkg/Payload: data
Run Code Online (Sandbox Code Playgroud)

通过使用xxd命令查看Payload文件的初始位,我可以看到文件类型pbzx

xxd macOSUpd10.12.1.pkg/Payload 


00000000: 7062 7a78 0000 0000 0100 0000 0000 0000  pbzx............
00000010: 0100 0000 0000 0000 0031 …
Run Code Online (Sandbox Code Playgroud)

macos lzma software-packaging xz macos-sierra

13
推荐指数
2
解决办法
1万
查看次数

标签 统计

lzma ×1

macos ×1

macos-sierra ×1

software-packaging ×1

xz ×1