xar (archiwizator) - xar (archiver)
Rozszerzenia nazw plików |
.xar , .pkg , .xip
|
---|---|
Rodzaj mediów internetowych |
aplikacja / x-xar
|
Jednolity identyfikator typu (UTI) | com.apple.xar-archive |
magiczny numer | xar! |
Rodzaj formatu | format pliku archiwum |
Przedłużony z | XML , gzip |
XAR (skrót od e X tensible AR chive format ) to archiwizator plików typu open source i format pliku archiwizatora . Został utworzony w ramach projektu OpenDarwin i jest używany w systemie macOS X 10.5 i nowszych do procedur instalacji oprogramowania, a także rozszerzeń przeglądarki w Safari 5.0 i nowszych . Xar zastąpił użycie plików pax spakowanych gzipem .
Jedna gałąź rozwojowa z RPM , RPM5 , zastosowania XAR.
Struktura plików
Plik składa się z trzech sekcji, nagłówka, spisu treści i stosu. Wszystkie pola są przechowywane w kolejności big endian .
nagłówek
Offsetowy# | Rozmiar (w bajtach) |
Cel, powód |
---|---|---|
0 | 4 | Podpis pliku używany do identyfikacji formatu pliku jako Xar. To powinno zawsze być równe xar!
|
4 | 2 | Rozmiar nagłówka |
6 | 2 | Wersja formatu Xar do użycia. Obecnie dostępna jest tylko wersja 1. |
8 | 8 | Długość skompresowanych danych TOC. |
16 | 8 | Długość nieskompresowanych danych TOC. |
24 | 4 | Algorytm sumy kontrolnej: |
28 | 0, 4, 36 | czasami uzupełnianie bajtów lub nazwa algorytmu sumy kontrolnej |
Spis treści
Xar różni się od cpio , tar lub ar tym, że przechowuje TOC (spis treści) na początku pliku, co sprawia, że dołączanie do archiwum jest bardziej skomplikowane, ale nie jest konieczne skanowanie archiwum w celu wyodrębnienia pojedynczego zawartego pliku . Spis treści jest przechowywany jako skompresowany zlib , zakodowany w UTF-8 dokument XML . Każdy plik przechowywany w Xar jest niezależnie kompresowany / kodowany. Daje to możliwość zakodowania pliku (ów) przy użyciu programu gzip, podczas gdy inny plik w tym samym archiwum jest zakodowany przy użyciu innej metody, np. Bzip2 . W niektórych systemach element archiwum można również zakodować metodą kompresji xz lub lzma .
Przykład Spis treści
<?xml version="1.0" encoding="UTF-8"?>
<xar>
<toc>
<checksum style="sha1">
<offset>0</offset>
<size>20</size>
</checksum>
<file id="1">
<group>staff</group>
<gid>20</gid>
<user>joe</user>
<uid>501</uid>
<mode>0755</mode>
<type>directory</type>
<name>com.foobar</name>
<file id="2">
<group></group>
<gid>20</gid>
<user></user>
<uid>501</uid>
<mode>0775</mode>
<type>directory</type>
<name>Contents</name>
<file id="3">
<data>
<length>428</length>
<offset>20</offset>
<size>1005</size>
<encoding style="application/x-gzip"/>
<archived-checksum style="SHA1">a5f6f1461213a904f831d4ef6f214638342842ed</archived-checksum>
<extracted-checksum 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>
<file id="4">
<group></group>
<gid>20</gid>
<user></user>
<uid>501</uid>
<mode>0775</mode>
<type>directory</type>
<name>Resources</name>
<file id="5">
<data>
<length>14868</length>
<offset>448</offset>
<size>274432</size>
<encoding style="application/x-gzip"/>
<archived-checksum style="SHA1">efe5c97921de7ccc5aebc158d158e9d4280d6814</archived-checksum>
<extracted-checksum 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>
<file id="6">
<data>
<length>17635</length>
<offset>15316</offset>
<size>45056</size>
<encoding style="application/x-gzip"/>
<archived-checksum style="SHA1">3c761ffcc81ee6e232e4f4a1c4a81654c26c4e52</archived-checksum>
<extracted-checksum 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>
<file id="7">
<group></group>
<gid>20</gid>
<user></user>
<uid>501</uid>
<mode>0775</mode>
<type>directory</type>
<name>Documents</name>
<file id="8">
<data>
<length>35790</length>
<offset>32951</offset>
<size>209242</size>
<encoding style="application/x-gzip"/>
<archived-checksum style="SHA1">5242cd71585c34e722932f324706f8c00e1ae0c5</archived-checksum>
<extracted-checksum 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>
Bibliografia
Linki zewnętrzne
- Oryginalny projekt Xar (martwy)
- widelec z oryginalnego projektu (również martwy)
- Strona domowa Apple xar i archiwum