Из Википедии, бесплатной энциклопедии
Перейти к навигации Перейти к поиску

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

Одна ветвь разработки в RPM , RPM5 , использует Xar. [3]

Файловая структура [ править ]

Файл XAR Structure.svg

Файл состоит из трех разделов: заголовка, оглавления и кучи. Все поля хранятся в обратном порядке. [4]

Заголовок [ править ]

Оглавление [ править ]

Xar отличается от cpio , tar или ar тем, что в нем хранится оглавление (оглавление) в начале файла, что усложняет добавление в архив, но делает ненужным сканирование архива для извлечения отдельного содержащегося файла. . Содержание хранится в виде Zlib сжатых, UTF-8 кодируются, XML - документ . [6] [4] Каждый файл, который хранится в Xar, независимо сжимается / кодируется. Это дает возможность закодировать файл (ы) с помощью gzip, в то время как другой файл в том же архиве закодирован с использованием другого метода, такого как bzip2.. В некоторых системах член архива также может быть закодирован методом сжатия xz или lzma . [5]

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

<? xml version = "1.0" encoding = "UTF-8"?> <xar>  <toc>  <checkum  style = "sha1" >  <offset> 0 </offset>  <size> 20 </size>  </ контрольная сумма >  <file  id = "1" >  <group> staff </group>  <gid> 20 </gid>  <user> joe </user>  <uid> 501 </uid>  <mode> 0755 </mode>  < тип> каталог </type>  <name> com.foobar </name>  <file  id = "2" >  <group> </group> <gid> 20 </gid>  <user> </user>  <uid> 501 </uid>  <mode> 0775 </mode>  <type> каталог </type>  <name> Contents </name>  <  идентификатор файла = "3" >  <data>  <length> 428 </length>  <offset> 20 </offset>  <size> 1005 </size>  <encoding  style = "application / x-gzip" />  <  стиль архивной контрольной суммы = "SHA1" >a5f6f1461213a904f831d4ef6f214638342842ed </archived-checksum>  <извлеченная контрольная сумма style = "SHA1" > 21d21a0c90378248ce0dfb6f345376d1b00d65fc </extracted-checksum>  </data>  <group> </group>  <gid> 20 </gid>  <user> </user>  <uid> 501 </uid>  <mode> 0664 </mode>  <type> файл </type>  <name> Info.plist </name>  </file>  <file  id = "4" >  <group> </group>  <gid> 20 </gid>  <user> </user>  <uid> 501 </ uid>  <mode> 0775 </mode>  <type> каталог </type> <name> Resources </name>  <file  id = "5" >  <data>  <length> 14868 </length>  <offset> 448 </offset>  <size> 274432 </size>  <encoding  style = "application / х-GZIP» />  <архивированная-контрольная сумма  стиль = "SHA1" > efe5c97921de7ccc5aebc158d158e9d4280d6814 </ архивированная-контрольная сумма>  <экстрагированной-контрольная сумма  стиль = "SHA1" > 45c8be42d1d9afdb57ddd5e9311453010ec46161 </ экстрагированная-контрольная сумма>  </ данные> <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-checkum  style = "SHA1" >3c761ffcc81ee6e232e4f4a1c4a81654c26c4e52 </archived-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> </ пользователь>  <uid> 501 </uid>  <mode>0775 </mode>  <type> каталог </type>  <name> Документы</name>  <file  id = "8" >  <data>  <length> 35790 </length>  <offset> 32951 </offset>  <size> 209242 </size>  <encoding  style = "application / x-gzip" />  <архивированная-контрольная сумма  стиль = "SHA1" > 5242cd71585c34e722932f324706f8c00e1ae0c5 </ архивированная-контрольная сумма>  <экстрагированной-контрольная сумма  стиль = "SHA1" > c0e013e53d829511835e2b429abb5198731e9a3e </ экстрагированная-контрольная сумма>  </ данные>  <группа> </ группа> <gid> 20 </gid>  <user> </user>  <uid>501 </uid>  <mode> 0664 </mode>  <type> файл </type>  <name> foobar.html </name>  </file>  </file>  </file>  </file>  </ file >  </toc> </xar>

Ссылки [ править ]

  1. ^ a b "приложение / x-xar" . Проверено 19 марта 2019 .
  2. ^ Nabble - XAR в Mac OS X архивной 7 февраля 2007 года в Wayback Machine
  3. ^ Менеджер пакетов RPM 5
  4. ^ а б https://github.com/mackyle/xar/wiki/xarformat
  5. ^ а б Браун, Роб; Фуллер, Лэндон; Леймбах, Дэвид; Ван Вехтен, Кевин (04.06.2015). "xar - расширяемая страница руководства ARchiver mojave" . Проверено 26 марта 2019 .
  6. ^ https://code.google.com/archive/p/xar/wikis/xarformat.wiki

Внешние ссылки [ править ]

  • Оригинальный проект Xar (мертв)
  • вилка из оригинального проекта (тоже мертвая)
  • Домашняя страница Apple xar и архив