2016-12-15 27 views
0

/tmp/macosupd 디렉토리에 다음 명령을 사용하여 macOS sierra 업데이트 패키지 - macOSUpd10.12.1.pkg을 추출합니다.apple macOS 업데이트 패키지의 'Payload'파일에서 내용을 추출하는 방법은 무엇입니까?

pkgutil --expand /Volumes/macOS\ Sierra\ Update/macOSUpd10.12.1.pkg /tmp/macosupd 

다음 패키지가 메타 패키지 안에 묶여 있습니다.

-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 

페이로드 파일의 내용을 추출 할 수 없습니다. 내가 macOSUpd10.12.1.pkg의 페이로드를 추출하려고 예를 들어, 내가 오류 메시지가 다음 얻을 : XAR와

tar -xvf macOSUpd10.12.1.pkg/Payload 
tar: Unrecognized archive format 
tar: Error exit delayed from previous errors. 

:

xar -xvf macOSUpd10.12.1.pkg/Payload 
Error opening xar archive: macOSUpd10.12.1.pkg/Payload 

내가 실행 파일 타르와

명령을 페이로드 파일에 보내면 다음과 같은 메시지가 나타납니다.

file macOSUpd10.12.1.pkg/Payload 
macOSUpd10.12.1.pkg/Payload: data 

012를 사용하여 페이로드 파일의 초기 비트를 보면 38,349,명령은 내가 Payload 파일의 내용을 추출하는 방법에 대한 방법을 제안하십시오

xxd macOSUpd10.12.1.pkg/Payload 


00000000: 7062 7a78 0000 0000 0100 0000 0000 0000 pbzx............ 
00000010: 0100 0000 0000 0000 0031 0330 fd37 7a58 .........1.0.7zX 
00000020: 5a00 0000 ff12 d941 04c0 f385 c401 8080 Z......A........ 
00000030: 8008 2101 1600 0000 506a 84e2 e3b8 13ef ..!.....Pj...... 
00000040: fe5d 0018 0ddf 07a4 347c 7c50 9853 8031 .]......4||P.S.1 
00000050: 2d14 f703 6903 cf69 f214 76b0 93c0 a4c9 -...i..i..v..... 
00000060: 774d 6fb0 8b3a 2257 4a55 04ad 289b cc4d wMo..:"WJU..(..M 
00000070: b835 5db7 7e72 f7a8 dc15 7a9c 7755 800c .5].~r....z.wU.. 
00000080: 6060 d45f e078 f84f e537 4319 2d89 f72e ``._.x.O.7C.-... 
00000090: 60c4 cdb0 6b54 9326 9321 3339 4a4f 1e75 `...kT.&.!39JO.u 
000000a0: 8eb7 991d 8968 5e6f 45d4 24c9 e364 712b .....h^oE.$..dq+ 
000000b0: ef4e 9abc af70 e97a e5a3 1810 7f05 54df .N...p.z......T. 
000000c0: 08d2 3060 9f8a a1e0 edb8 2b10 df23 789d ..0`......+..#x. 
000000d0: 3e52 ee3e d6f0 468a bfee 3366 d39e 28db >R.>..F...3f..(. 

pbzx 같은 파일 형식이 보이는 볼 수 있습니다. 나는이 external-link에서 제안 된 방법을 포함하여 link1link2에 제안 된 모든 방법을 시도했지만 여전히 성공하지 못했습니다. 매버릭스 이전의 사과 업데이트처럼 보이는 순수한 xar 및 tar 패키지였습니다. 매버릭스 (Mavericks) 이상에서 애플은 파일 형식을 tar에서 pbzx (lzma)로 변경했습니다.

Payload 파일의 내용을 추출하는 쉬운 방법을 제안합니다. 자동화 설정에 사용해야합니다.

답변

2

OSX 10.10 이후 .pkg 파일의 Payloadpbzx (차례로 lzma 압축 됨)으로 인코딩됩니다. gunzip을 사용하여 더 이상 추출 할 수 없습니다. pbzx tool (original의 포크로 페이로드를 직접 추출 할 수는 없지만 .pkg 파일을 직접 전달해야 함)을 확인하십시오. 대신

tar -xvf macOSUpd10.12.1.pkg/Payload 

당신이 답변을

pbzx -n macOSUpd10.12.1.pkg/Payload | cpio -i 
+0

감사를 기록 할 수 있습니다, 그것은 도움이되었다. – ap1982