xar(아카이브)
xar (archiver)파일 이름 확장자 | .xar , .pkg , .xip [1] |
---|---|
인터넷 미디어 유형 | 응용 프로그램/x-ar[1] |
Uniform Type Identifier(UTI; 균일 유형 식별자) | com.apple.xar-disples |
매직 넘버 | 자! |
포맷의 종류 | 아카이브 파일 형식 |
확장원 | XML, gzip |
XAR(eXtensible ARchive 포맷의 줄임말)은 오픈 소스 파일아키버이자 아카이브버의 파일 형식입니다.OpenDarwin 프로젝트 내에서 생성되었으며 macOS X 10.5 이상에서 소프트웨어 설치 루틴 및 Safari 5.0 이상에서 브라우저 확장을 위해 사용됩니다.Xar는 gzip pax [2]파일의 사용을 대체했습니다.
RPM의 한 개발 부문인 RPM5는 [3]xar를 사용합니다.
파일 구조
파일은 헤더, 목차 및 힙의 3가지 섹션으로 구성됩니다.모든 필드는 빅 엔디안 [4]순서로 저장됩니다.
헤더
오프셋 # | 크기 (바이트 단위) | 목적 |
---|---|---|
0 | 4 | 파일 형식을 Xar로 식별하는 데 사용되는 파일 서명입니다. 이 값은 항상 같아야 합니다. xar! |
4 | 2 | 헤더 사이즈 |
6 | 2 | 사용할 Xar 형식 버전입니다. 현재 버전 1만 있습니다. |
8 | 8 | TOC 압축 데이터의 길이입니다. |
16 | 8 | TOC 비압축 데이터의 길이. |
24 | 4 | 체크섬 알고리즘: |
28 | 0, 4 , 36 | 패딩 바이트 또는 체크섬알고리즘 이름 |
목차.
Xar는 파일 선두에 TOC(목차)를 저장하기 때문에 아카이브에 추가하기가 더 복잡하지만 포함된 개별 파일을 추출하기 위해 아카이브를 스캔할 필요가 없다는 점에서 cpio, tar 또는 ar와는 다릅니다.목차는 zlib 압축 UTF-8 인코딩 XML [6][4]문서로 저장됩니다.Xar에 저장된 각 파일은 독립적으로 압축/인코딩됩니다.이를 통해 gzip을 사용하여 파일을 인코딩하고 동일한 아카이브 내의 다른 파일을 bzip2와 같은 다른 방법으로 인코딩할 수 있습니다.일부 시스템에서는 아카이브 구성원을 xz 또는 lzma 압축 방식으로 [5]인코딩할 수도 있습니다.
목차 예시
<?xml version="1.0" encoding="UTF-8"?><>xar>,<>toc>,<>체크 섬 style="sha1"><>offset>, 0<, /offset>,<>size>, 20<, /size>,<>/checksum>,<>파일 id="1">,<>group>, staff<, /group>,<>gid>, 20<, /gid>,<>user>, joe<, /user>,<>uid>, 501<, /uid>, <, mode>, 0755<, /mode>,<>type>, directory<, /type>,<>던 북한.e>. com.Foobar<, /name>,<>파일 id="2">,<>group>,<>/group>,<>gid>, 20<, /gid>,<>user>, <, /user>,<>uid>, 501<, /uid>, <, mode>, 0775<, /mode>,<>type>, directory<, /type>,<>name>을 말한다.Contents<, /name>,<>파일 id="3">, <, data>,<>length>, 428<, /length>,<>offset>, 20<, /offset>,<>size>, 1005<, /size>,<><, style="application/x-gzip"/>archived-checksum style=" 인코딩.SHA1"> a5f6f1461213a904f831d4ef6f214638342842ed </archived-checksum> </archived style="SHA1">, 21d21a0c90378248ce0dfb6f345376d1b00d65fc<, /extracted-checksum>,<>/data>,<>group>,<>/group>,<>gid>, 20<, /gid>,<>user>, <, /user>,<>uid>, 501<, /uid>, <, mode>, 0664<, /mode>,<>type>, file<, /type>,<>name>을 말한다.Info.plist<, /name>,<>/file>,<>파일 id="4">,<>group>,<>/group>,<>gid>, 20<, /gid>,<>user>, <, /user>,<>uid>, 501<, /uid>, <, mode>, 0775<, /mode>,<>type>, directory<, /type>,<>name>을 말한다.Resources<, /name>,<>파일 id="5"> <data> <length> 14868 </length> <backet> 448 </size> 274432 </size> <backet style=" application/x-gzip"/> <backet style="SHA1"> efe5c97921de7ccc5aebc158d158e9d4280d6814 </archived-checksum> </archived-checksum> </archived style=>SHA1">45c8be42d1d9afdb57ddd5e9311453010ec46161<, /extracted-checksum>,<>/data>,<>group>,<>/group>,<>gid>, 20<, /gid>,<>user>, <, /user>,<>uid>, 501<, /uid>, <, mode>, 0664<, /mode>,<>type>, file<, /type>,<>name>, foobar<, /name>,<>/file>,<>파일 id="6">,<>data>,<>length>.;17635<, /length>,<>offset>, 15316<, /offset>,<>size>, 45056<, /size>,<>style="application/x-gzip"/> 인코딩, <,archived-checksum style=".SHA1"> 3c761ffcc81ee6e232e4f4a4c4a81654c26c4e52 </archived-checksum> </archived-checksum> </archived style=>SHA1">0ea31f8ef0e5987a1838a64ab5c26ebf3ee4bc37<, /extracted-checksum>,<>/data>,<>group>,<>/group>,<>gid>, 20<, /gid>,<>user>, <, /user>,<>uid>, 501<, /uid>, <, mode>, 0664<, /mode>,<>type>, file<, /type>,<>name>, docSet.skidx<, /name>,<>/file>,<>파일 id="7">,<>group>,<>/gr.Oup>,<>gid>, 20<, /gid>,<>user>, <, /user>,<>uid>, 501<, /uid>, <, mode>, 0775<, /mode>,<>type>, directory<, /type>,<>name>을 말한다.Documents<, /name>,<>파일 이드="8"> <data> <length> 35790 </length> </length> 32951 </length> <size> 80242 </size> <filength style="application/x-gzip"/> <filength style="SHA1"> 5242cd71585c34e722932f324706f8c00e1ae0c5 </archived-checksum> </archived-checksum> </archived style=>SHA1">, c0e013e53d829511835e2b429abb5198731e9a3e<, /extracted-checksum>,<>/data>,<>group>,<>/group>,<>gid>, 20<, /gid>,<>user>, <, /user>,<>uid>, 501<, /uid>, <, mode>, 0664<, /mode>,<>type>, file<, /type>,<>name>, foobar.html<, /name>,<>/file>,<>/file>,<>/file>,<>/file>을 말한다.<>/file>,<>/toc>,<>/xar>.
레퍼런스
- ^ a b "application/x-xar". Retrieved 2019-03-19.
- ^ Nabble – Mac OS X의 xar 2007년 2월 7일 Wayback Machine에서 아카이브 완료
- ^ RPM 5 패키지 매니저
- ^ a b "Xarformat · mackyle/Xar Wiki". GitHub.
- ^ a b Braun, Rob; Fuller, Landon; Leimbach, David; Van Vechten, Kevin (2015-06-04). "xar - eXtensible ARchiver mojave man page". Retrieved 2019-03-26.
- ^ "Google Code Archive - Long-term storage for Google Code Project Hosting".