Jump to content

xar (архиватор)

XAR
Расширения имен файлов .xar, .pkg, .xip[1]
Тип интернет-СМИ
приложение/x-xar [1]
Единый идентификатор типа (UTI) com.apple.xar-архив
Магическое число что!
Тип формата формат файла архива
Расширено с XML , gzip

XAR (сокращение от e X tensible AR chive format ) — с открытым исходным кодом архиватор файлов архиватора и формат файлов . Он был создан в рамках проекта OpenDarwin и используется в macOS X 10.5 и более поздних версиях для процедур установки программного обеспечения, а также в расширениях браузера в Safari 5.0 и более поздних версиях. Xar заменил использование gzip- файлов pax . [2]

Одна веток разработки из RPM , RPM5 , использует 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 отличается от cpio , tar или ar тем, что он сохраняет TOC (оглавление) в начале файла, что усложняет добавление в архив, но делает ненужным сканирование архива для извлечения отдельного содержащегося файла. . Оглавление хранится в виде zlib , сжатого UTF-8 и кодированного XML-документа . [6] [4] Каждый файл, хранящийся в Xar, независимо сжимается/кодируется. Это дает возможность закодировать файл(ы) с помощью gzip , в то время как другой файл в том же архиве закодирован другим методом, например bzip2 . В некоторых системах элемент архива также может быть закодирован методом сжатия xz или lzma . [5]

Пример содержания

<?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>
  1. ^ Jump up to: а б "приложение/x-xar" . Проверено 19 марта 2019 г.
  2. ^ Nabble - xar в Mac OS X. Архивировано 7 февраля 2007 г., в Wayback Machine.
  3. ^ Менеджер пакетов RPM 5
  4. ^ Jump up to: а б «Xarformat · mackyle/Xar Wiki» . Гитхаб .
  5. ^ Jump up to: а б Браун, Роб; Фуллер, Лэндон; Леймбах, Дэвид; Ван Вехтен, Кевин (4 июня 2015 г.). «xar — справочная страница расширяемого архиватора mojave» . Проверено 26 марта 2019 г.
  6. ^ «Архив кода Google — долгосрочное хранилище для хостинга проектов Google Code» .
[ редактировать ]
Arc.Ask3.Ru: конец переведенного документа.
Arc.Ask3.Ru
Номер скриншота №: 9ecea539d728a195875e6dc78e2cbba7__1710713340
URL1:https://arc.ask3.ru/arc/aa/9e/a7/9ecea539d728a195875e6dc78e2cbba7.html
Заголовок, (Title) документа по адресу, URL1:
xar (archiver) - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть. Любые претензии, иски не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, вы не можете использовать данный сайт и информация размещенную на нем (сайте/странице), немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, Денежную единицу (имеющую самостоятельную стоимость) можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)