xar (arkiverare)
Filnamnstillägg |
.xar , .pkg , .xip
|
---|---|
Internet mediatyp |
applikation/x-xar
|
Uniform Type Identifier (UTI) | com.apple.xar-arkiv |
Magiskt nummer | xar! |
Typ av format | arkivfilformat |
Förlängt från | XML , gzip |
XAR (förkortning för e X tensible AR chive format ) är en filarkiverare med öppen källkod och arkiveringsfilformatet . Det skapades inom OpenDarwin- projektet och används i macOS X 10.5 och uppåt för programvaruinstallationsrutiner, samt webbläsartillägg i Safari 5.0 och uppåt. Xar ersatte användningen av gzippade pax-filer .
En utvecklingsgren av RPM , RPM5 , använder xar.
Filstruktur
Filen består av tre sektioner, rubriken, innehållsförteckningen och högen. Alla fält lagras i big endian -ordning.
Rubrik
Offset# |
Storlek (i byte) |
Syfte |
---|---|---|
0 | 4 |
Filsignatur som används för att identifiera filformatet som Xar . Detta ska alltid vara lika med xar!
|
4 | 2 | Rubrikstorlek |
6 | 2 |
Version av Xar-format att använda. För närvarande finns det bara version 1. |
8 | 8 | Längden på TOC-komprimerade data. |
16 | 8 | Längden på TOC okomprimerade data. |
24 | 4 | Kontrollsummaalgoritm: |
28 | 0, 4, 36 | ibland utfyllnad byte eller kontrollsumma algoritm namn |
Innehållsförteckning
Xar skiljer sig från cpio , tar eller ar genom att den lagrar TOC (innehållsförteckningen) i början av filen, vilket gör det mer komplicerat att lägga till ett arkiv, men gör det onödigt att skanna igenom arkivet för att extrahera en enskild fil. . Innehållsförteckningen lagras som ett zlib- komprimerat, UTF-8 -kodat XML-dokument . Varje fil som lagras i Xar är oberoende komprimerad/kodad. Detta ger möjligheten att ha filen/filerna kodade med gzip samtidigt som en annan fil i samma arkiv kodas med en annan metod som bzip2 . På vissa system kan arkivmedlemmen också kodas med xz- eller lzma -komprimeringsmetoden.
Exempel på innehållsförteckning
0
<?xml version="1.0" encoding="UTF-8"?> <xar> <toc> <checksum style= "sha1" > <offset> </offset> <size> 20 </size> </checksum> <file id= "1" > <group> personal </group> <gid> 20 </gid> <user> joe </user> <uid> 501 </uid> <mode> 0755 </mode> <typ > katalog </type> <name> com.foobar </name> <file id= "2" > <group></group> <gid> 20 </gid> <user></user> <uid> 501 </uid> <mode> 0775 </mode> <type> katalog </type> <name> Innehåll </name> <file id= "3" > <data> <length> 428 </length> <offset> 20 </offset> <size> 1005 </size> <encoding style= "application/x-gzip" /> <archived-checksum style= "SHA1" > a5f6f1461213a904f831d4ef6f214638342842ed "checksumma utdraget -< / archived " SHA1" > 21d21a0c90378248ce0dfb6f345376d1b00d65fc </extracted-checksum> </data> <group></group> <gid> 20 </gid> <user> </user> <uid> 501 </u> id </u> mode> <type> fil </type> <name> Info.plist </name> </file> <file id= "4" > <group></group> <gid> 20 </gid> <användare> </user> <uid> 501 </uid> <mode> 0775 </mode> <type> katalog </type> <name> Resurser </name> <file id= "5" > <data> <length> 14868 </length> <offset> 448 </offset> <size> 274432 </size> <encoding style= "application/x-gzip" /> <archived-checksum style= "SHA1" > efe5c97921de7ccc5aebc158d418edsum </p> > <extracted-checksum style= "SHA1" > 45c8be42d1d9afdb57ddd5e9311453010ec46161 </extracted-checksum> </data> <group></group> <gid> 20 </gid> <user></user> </uid> < uid uid> <mode> 0664 </mode> <type> fil </type> <name> foobar </name> </file> <file id= "6" > <data> <length> 17635 </length> < offset> 15316 </offset> <size> 45056 </size> <encoding style= "application/x-gzip" /> <archived-checksum style= " SHA1" > 3c761ffcc81ee6e232e4f4a1c4a81654c26c > <extractived-checksumed-checksume-checksumme</- 4c = "SHA1" > 0ea31f8ef0e5987a1838a64ab5c26ebf3ee4bc37 </extracted-checksum> </data> <group></group> <gid> 20 </gid> <user></user> <uid> id 501 <u> 6 </u> </mode> <typ> fil </type> <name> docSet.skidx </name> </file> <file id= "7" > <group></group> <gid> 20 </gid> < user></user> <uid> 501 </uid> <mode> 0775 </mode> <type> katalog </type> <name> Dokument </name> <file id= "8" > <data> < Längd> 35790 </long> <offset> 32951 </ offset> <storlek> 209242 </storlek> <coding style = "Application/X-Gzip" /> <arkived-checksum style = "SHA1" > 5242CD71585C34E7222292F324706F8C00C00C00C5C5C5C5 </Archived -checksum> <extracted-checksum style= "SHA1" > c0e013e53d829511835e2b429abb5198731e9a3e </extracted-checksum> </data> <group></group> <gid> 20 </gid> 5 > <u>< / > </uid> <mode> 0664 </mode> <type> fil </type> <name> foobar.html </name> </file> </file> </file> </file> </file> </toc> </xar>
externa länkar
- Original Xar-projekt (ounderhållet)
- gaffel från originalprojekt (ounderhållet)
- Apple xar på GitHub