tar (вычисления)

Формат компьютерного файла, который может объединять несколько файлов в один файл, называемый «tarball».
смола
Оригинальный автор(ы)Белл Лабораториз
Разработчик(и)Различные разработчики открытого и коммерческого ПО
Первоначальный выпускЯнварь 1979 г .; 46 лет назад ( 1979-01 )
Стабильный релиз(ы)
BSD-тар3.7.2 [1] / 2023-09-12
GNU-тар1.35 [2] / 2023-07-18
пдтар29.10.1986 [3] [4] / 29.10.1986
План 9 тар? / ?
звезда2023-09-28 [5] / 2023-09-28
Написано вpdtar, звезда, Plan 9 , GNU : C
Операционная системаUnix , Unix-подобный , Plan 9 , Microsoft Windows , IBM i
ПлатформаКроссплатформенный
ТипКоманда
ЛицензияBSD tar: BSD-2-Clause
GNU tar: GPL-3.0-или-более поздняя версия
pdtar: Общественное достояние
Plan 9: MIT
star: CDDL-1.0
смола
Расширение имени файла
.tar
Тип интернет-СМИ
приложение/x-tar
Единый идентификатор типа (UTI)public.tar-архив
Магическое числоu s t a r \0 0 0 по смещению байта 257 (для версий POSIX)

u s t a r \040 \040 \0 (для старого формата GNU tar) [6]

отсутствует в версиях до POSIX
Последний релиз
разный
разный
Тип форматаАрхиватор файлов
СтандартPOSIX начиная с POSIX.1, в настоящее время в определении pax [1]
Открытый формат ?Да

В вычислительной технике tar это компьютерная программная утилита для сбора множества файлов в один архивный файл , часто называемый tarball , для целей распространения или резервного копирования. Название происходит от «tape archive», поскольку изначально он был разработан для записи данных на последовательные устройства ввода-вывода без собственной файловой системы, такие как устройства, использующие магнитную ленту . Наборы архивных данных, созданные tar, содержат различные параметры файловой системы , такие как имя, временные метки, владелец, права доступа к файлам и организация каталогов . POSIX отказался от tar в пользу pax , однако tar продолжает широко использоваться.

История

Утилита командной строки была впервые представлена ​​в версии 7 Unix в январе 1979 года, заменив программу tp (которая, в свою очередь, заменила «tap»). [7] Структура файла для хранения этой информации была стандартизирована в POSIX .1-1988 [8] и позднее в POSIX.1-2001, [9] и стала форматом, поддерживаемым большинством современных систем архивации файлов. Команда tar была отменена в POSIX.1-2001 в пользу команды pax , которая должна была поддерживать формат файла ustar; команда tar была указана для отзыва в пользу команды pax по крайней мере с 1994 года.

Сегодня Unix-подобные операционные системы обычно включают в себя инструменты для поддержки tar-файлов, а также утилиты, обычно используемые для их сжатия, такие как xz , gzip и bzip2 .

Команда tar также была перенесена в операционную систему IBM i . [10]

BSD-tar был включен в Microsoft Windows с момента обновления Windows 10 за апрель 2018 г. [11] [12] , и существует множество сторонних инструментов для чтения и записи этих форматов в Windows.

Обоснование

Многие исторические ленточные накопители считывают и записывают блоки данных переменной длины , оставляя значительное неиспользуемое пространство на ленте между блоками (для того, чтобы лента физически начала и остановилась). Некоторые ленточные накопители (и необработанные диски) поддерживают только блоки данных фиксированной длины. Кроме того, при записи на любой носитель, такой как файловая система или сеть, требуется меньше времени для записи одного большого блока, чем для записи множества маленьких блоков. Поэтому команда tar записывает данные в записи из множества блоков по 512  байт . Пользователь может указать фактор блокировки, который представляет собой количество блоков на запись. Значение по умолчанию равно 20, что дает  записи по 10 КБ . [13]

Формат файла

Существует несколько форматов файлов tar, включая исторические и современные. Два формата tar кодифицированы в POSIX: ustar и pax. Не кодифицирован, но все еще используется в настоящее время формат GNU tar.

Архив tar состоит из ряда файловых объектов, отсюда и популярный термин tarball , указывающий на то, как tarball собирает объекты всех видов, которые прилипают к его поверхности. Каждый файловый объект включает любые файловые данные и предваряется 512-байтовой записью заголовка . Данные файла записываются без изменений, за исключением того, что их длина округляется до кратного 512 байтам. Первоначальная реализация tar не заботилась о содержимом байтов заполнения и оставляла данные буфера неизменными, но большинство современных реализаций tar заполняют дополнительное пространство нулями. [14] Конец архива отмечен как минимум двумя последовательными записями, заполненными нулями. (Происхождение размера записи tar, по-видимому, связано с 512-байтовыми секторами диска, используемыми в файловой системе Unix версии 7.) Последний блок архива дополняется нулями до полной длины.

Заголовочная запись файла содержит метаданные о файле. Для обеспечения переносимости между различными архитектурами с различным порядком байтов информация в заголовочной записи кодируется в ASCII . Таким образом, если все файлы в архиве являются текстовыми файлами ASCII и имеют имена ASCII, то архив по сути является текстовым файлом ASCII (содержащим много символов NUL ).

Поля, определенные исходным форматом tar Unix, перечислены в таблице ниже. Таблица индикаторов ссылок/типов файлов включает некоторые современные расширения. Когда поле не используется, оно заполняется байтами NUL. Заголовок использует 257 байт, затем дополняется байтами NUL, чтобы заполнить запись размером 512 байт. В заголовке нет «магического числа» для идентификации файла.

Заголовок tar до POSIX.1-1988 (т.е. v7):

Смещение поляРазмер поляПоле
0100Путь и имя файла
1008Режим файла (восьмеричный)
1088Числовой идентификатор пользователя владельца (восьмеричный)
1168Числовой идентификатор пользователя группы (восьмеричный)
12412Размер файла в байтах (восьмеричный)
13612Время последнего изменения в числовом формате времени Unix (восьмеричном)
1488Контрольная сумма для записи заголовка
1561Индикатор ссылки (тип файла)
157100Имя связанного файла

Поле индикатора связи до POSIX.1-1988 может иметь следующие значения:

Поле индикатора ссылки
ЦенитьЗначение
'0' или ( ASCII NUL )Обычный файл
'1'Жесткая ссылка
'2'Символическая ссылка

В некоторых реализациях tar до POSIX.1-1988 каталог обозначался косой чертой (/) в конце имени.

Числовые значения кодируются восьмеричными числами с использованием цифр ASCII с ведущими нулями. По историческим причинам следует также использовать конечный символ NUL или пробел . Таким образом, хотя для хранения размера файла зарезервировано 12 байт, можно сохранить только 11 восьмеричных цифр. Это дает максимальный размер файла в 8 гигабайт для архивных файлов. Чтобы преодолеть это ограничение, в 2001 году star представила кодировку base-256, которая указывается установкой старшего бита самого левого байта числового поля. [ необходима цитата ] GNU-tar и BSD-tar следовали этой идее. Кроме того, версии tar до первого стандарта POSIX от 1988 года дополняют значения пробелами вместо нулей.

Контрольная сумма вычисляется путем суммирования значений беззнаковых байтов записи заголовка с восемью байтами контрольной суммы, взятыми как пробелы ASCII (десятичное значение 32). Она хранится как шестизначное восьмеричное число с ведущими нулями, за которыми следует NUL и затем пробел. Различные реализации не придерживаются этого формата. Кроме того, некоторые исторические реализации tar обрабатывали байты как знаковые. Реализации обычно вычисляют контрольную сумму обоими способами и считают ее хорошей, если либо знаковая, либо беззнаковая сумма совпадает с включенной контрольной суммой.

Файловые системы Unix поддерживают несколько ссылок (имен) для одного и того же файла. Если в архиве tar появляется несколько таких файлов, только первый из них архивируется как обычный файл; остальные архивируются как жесткие ссылки, при этом поле "имя связанного файла" устанавливается на имя первого. При извлечении такие жесткие ссылки должны быть воссозданы в файловой системе.

Формат UStar

Большинство современных программ tar читают и записывают архивы в формате UStar ( Unix Standard TAR [7] [15] ), введенном стандартом POSIX IEEE P1003.1 с 1988 года. Он ввел дополнительные поля заголовка. Старые программы tar будут игнорировать дополнительную информацию (возможно, извлекая частично именованные файлы), в то время как новые программы будут проверять наличие строки "ustar", чтобы определить, используется ли новый формат.

Формат UStar допускает более длинные имена файлов и сохраняет дополнительную информацию о каждом файле. Максимальный размер имени файла составляет 256, но он делится между предшествующим путем "префикс имени файла" и самим именем файла, поэтому может быть намного меньше. [16]

Смещение поляРазмер поляПоле
0156(Несколько полей, как в старом формате)
1561Тип флага
157100(То же поле, что и в старом формате)
2576Индикатор UStar, «ustar», затем NUL
2632Версия UStar, "00"
26532Имя пользователя владельца
29732Имя группы владельцев
3298Основной номер устройства
3378Младший номер устройства
345155Префикс имени файла

Поле флага типа может иметь следующие значения:

Тип поля флага
ЦенитьЗначение
'0' или ( ASCII NUL )Обычный файл
'1'Жесткая ссылка
'2'Символическая ссылка
'3'Особый персонаж
'4'Блок специальный
'5'Каталог
'6'ФИФО
'7'Непрерывный файл
'г'Глобальный расширенный заголовок с метаданными (POSIX.1-2001)
'х'Расширенный заголовок с метаданными для следующего файла в архиве (POSIX.1-2001)
«А»–«Я»Расширения, специфичные для поставщика (POSIX.1-1988)
Все остальные значенияЗарезервировано для будущей стандартизации

Расширения поставщика POSIX.1-1988, использующие значения флага ссылки «A»–«Z», частично имеют разное значение у разных поставщиков и поэтому считаются устаревшими и заменяются расширениями POSIX.1-2001, которые также включают тег поставщика.

Тип '7' (непрерывный файл) формально отмечен как зарезервированный в стандарте POSIX, но предназначался для обозначения файлов, которые должны быть размещены на диске непрерывно. Немногие операционные системы поддерживают создание таких файлов явно, и поэтому большинство программ TAR не поддерживают их и будут обрабатывать файлы типа 7 так, как если бы они были типа 0 (обычные). Исключением являются старые версии GNU tar при запуске в операционной системе MASSCOMP RTU (Real Time Unix), которые поддерживали флаг O_CTG для функции open() для запроса непрерывного файла; однако эта поддержка была удалена из GNU tar версии 1.24 и более поздних версий.

POSIX.1-2001/пакс

В 1997 году Sun предложила метод добавления расширений в формат tar. Этот метод был позже принят для стандарта POSIX.1-2001. Этот формат известен как расширенный формат tar или формат pax . Новый формат tar позволяет пользователям добавлять любые типы улучшений, специфичных для поставщика, с тегами поставщика. Следующие теги определены стандартом POSIX:

  • atime , mtime : все временные метки файла в произвольном разрешении (большинство реализаций используют наносекундную детализацию)
  • path : имена путей неограниченной длины и кодировки набора символов
  • linkpath : целевые имена символических ссылок неограниченной длины и кодировки набора символов
  • uname , gname : имена пользователей и групп неограниченной длины и кодировки набора символов
  • размер : файлы неограниченного размера (исторический формат tar — 8 ГБ)
  • uid , gid : userid и groupid без ограничения размера (исторический формат tar ограничен макс. id 2097151)
  • определение набора символов для имен путей и имен пользователей/групп ( UTF-8 )

В 2001 году программа Star стала первым tar, поддерживающим новый формат. [ требуется ссылка ] В 2004 году GNU tar поддержал новый формат, [17] хотя он пока не записывает его как свой вывод по умолчанию из программы tar. [18]

Формат pax разработан таким образом, что все реализации, способные читать формат UStar, смогут читать и формат pax. Единственным исключением являются файлы, использующие расширенные возможности, такие как более длинные имена файлов. Для совместимости они кодируются в файлах tar как специальные xили gтиповые файлы, обычно в PaxHeaders.XXXXкаталоге. [19] : exthdr.name  Реализация, поддерживающая pax, будет использовать эту информацию, в то время как неподдерживающие, такие как 7-Zip, будут обрабатывать их как дополнительные файлы. [20]

Возможности архивных утилит

Помимо создания и извлечения архивов, функциональность различных архивных утилит различается. Например, реализации могут автоматически определять формат сжатых архивов TAR для извлечения, чтобы пользователю не приходилось указывать его, и позволять пользователю ограничивать добавление файлов теми, которые были изменены после указанной даты. [21] [22]

Использует

Синтаксис команды

tar [-options] <имя архива tar> [файлы или каталоги, которые нужно добавить в архив]

Основные опции:

  • -c, --create— создать новый архив;
  • -a, --auto-compress — дополнительно сжать архив компрессором, который будет автоматически определен по расширению имени файла архива. Если имя архива заканчивается на , *.tar.gzто используйте gzip , если , *.tar.xzто используйте xz , *.tar.zstдля Zstandard и т. д.;
  • -r, --append— добавлять файлы в конец архива;
  • -x, --extract, --get— извлечь файлы из архива;
  • -f, --file— указать название архива;
  • -t, --list— показать список файлов и папок в архиве;
  • -v, --verbose— показать список обработанных файлов.

Основное использование

Создайте архивный файл archive.tarиз файла README.txtи каталога src:

$ tar  -cvf  archive.tar  README.txt  src

Извлеките содержимое в archive.tarтекущий каталог:

$ tar  -xvf  архив.tar

Создайте архивный файл archive.tar.gzиз файла README.txtи каталога srcи сожмите его с помощью gzip  :

$ tar  -cavf  archive.tar.gz  README.txt  src

Извлеките содержимое в archive.tar.gzтекущий каталог:

$ tar  -xvf  архив.tar.gz

Тарпайп

Tarpipe — это метод создания архива в стандартном выходном файле утилиты tar и его передачи другому процессу tar в его стандартном входе , работающему в другом каталоге, где он распаковывается. Этот процесс копирует все исходное дерево каталогов, включая все специальные файлы, например:

$ tar  cf  -  исходный каталог | tar x -C целевой каталог     

Распространение программного обеспечения

Формат tar продолжает широко использоваться для распространения программного обеспечения с открытым исходным кодом . *Дистрибутивы NIX используют его в различных механизмах распространения исходных и двоичных пакетов, при этом большая часть исходного кода программного обеспечения доступна в сжатых архивах tar. [ требуется ссылка ]

Ограничения

Первоначальный формат tar был создан на заре Unix, и, несмотря на его широкое распространение в настоящее время, многие из его конструктивных особенностей считаются устаревшими. [23]

Для устранения недостатков tar были созданы другие форматы.

Имена файлов

Из-за размера поля исходный формат TAR не мог хранить пути к файлам и имена длиной более 100 символов.

Чтобы преодолеть эту проблему, сохраняя при этом читаемость для существующих утилит TAR , GNU tar сохраняет пути к файлам и имена, превышающие 100 символов, в @LongLinkзаписях, которые утилиты TAR, не знающие об этой функции, будут рассматривать как обычные файлы. [24] Аналогично формат PAX использует PaxHeadersзаписи. [25]

Атрибуты

Многие старые реализации tar не записывают и не восстанавливают расширенные атрибуты (xattrs) или списки контроля доступа (ACL). В 2001 году Star представила поддержку ACL и расширенных атрибутов через свои собственные теги для POSIX.1-2001 pax. bsdtar использует расширения star для поддержки ACL. [26] Более поздние версии GNU tar поддерживают расширенные атрибуты Linux, повторно реализуя расширения star. [27] Ряд расширений рассматривается в руководстве по типам файлов для BSD tar, tar(5). [26]

Тарбомба

Tarbomb , на хакерском сленге , — это tarball, содержащий большое количество элементов, содержимое которых записывается в текущий каталог или какой-либо другой существующий каталог при распаковке вместо каталога, созданного tarball специально для извлеченных выходных данных. [28] Это в лучшем случае неудобство для пользователя, который обязан идентифицировать и удалить ряд файлов, перемежающихся с другим содержимым каталога. Такое поведение считается дурным тоном со стороны создателя архива.

Связанная проблема — использование абсолютных путей или ссылок на родительские каталоги при создании файлов tar. Файлы, извлеченные из таких архивов, часто создаются в необычных местах за пределами рабочего каталога и, как tarbomb, могут перезаписывать существующие файлы. Однако современные версии FreeBSD и GNU tar по умолчанию не создают и не извлекают абсолютные пути и ссылки на родительские каталоги, если только это явно не разрешено флагом -Pили опцией --absolute-names. Программа bsdtar, которая также доступна во многих операционных системах и является утилитой tar по умолчанию в Mac OS X v10.6, также не следует ссылкам на родительские каталоги или символическим ссылкам. [29] [ неудавшаяся проверка ]

Если у пользователя есть только очень старый tar, который не имеет этих мер безопасности, эти проблемы можно смягчить, сначала проверив tar-файл с помощью команды tar tf archive.tar, которая выводит список содержимого и позволяет впоследствии исключить проблемные файлы. Эти команды не извлекают файлы, а отображают имена всех файлов в архиве. Если какие-либо файлы являются проблемными, пользователь может создать новый пустой каталог и извлечь в него архив — или вообще избежать tar-файла. Большинство графических инструментов могут отображать содержимое архива перед его извлечением. Vim может открывать tar-архивы и отображать их содержимое. GNU Emacs также может открывать tar-архив и отображать его содержимое в буфере dired .

Произвольный доступ

Формат tar был разработан без централизованного индекса или таблицы содержимого для файлов и их свойств для потоковой передачи на ленточные устройства резервного копирования. Вместо этого метаданные для каждого файла (такие как имя, размер, временные метки) для каждого файла хранятся в заголовке перед каждым файлом. Архив должен быть прочитан последовательно для перечисления или извлечения файлов. Для больших архивов tar это приводит к снижению производительности, что делает архивы tar непригодными для ситуаций, которые часто требуют случайного доступа к отдельным файлам.

В свою очередь, эта конструкция делает архивы TAR устойчивыми к повреждениям из-за отсутствующих частей, как в форме цифровых файлов, так и на физической ленте. [ необходима ссылка ] Усеченный файл TAR с отсутствующими частями на обоих концах по-прежнему позволяет восстановить части, которые не отсутствуют, включая пути к файлам, имена файлов и метаданные, начиная с первого заголовка TAR, который не отсутствует. [30]

При правильно сформированном tar-файле, хранящемся на носителе с возможностью поиска (т. е. допускающем эффективное случайное чтение), tarпрограмма может относительно быстро (за линейное время относительно количества файлов) искать файл, пропуская чтения файла в соответствии с полем «размер» в заголовках файла. Это основа для опции -nв GNU tar. Когда tar-файл сжимается целиком, формат сжатия, который обычно не допускает поиска, не позволяет выполнить эту оптимизацию. [31] Ряд «индексированных» компрессоров, которые знают о формате tar, могут восстановить эту функцию для сжатых файлов. [32] Для сохранения возможности поиска tar-файлы также должны быть правильно объединены, путем удаления завершающего нулевого блока в конце каждого файла. [33]

Дубликаты

Другая проблема с форматом tar заключается в том, что он позволяет нескольким (возможно разным) файлам в архиве иметь одинаковые пути и имена файлов. При извлечении такого архива обычно последняя версия файла перезаписывает первую.

Это может создать неявный (неочевидный) tarbomb, который технически не содержит файлов с абсолютными путями или ссылается на родительские каталоги, но все равно приводит к перезаписи файлов за пределами текущего каталога (например, архив может содержать два файла с одинаковым путем и именем файла, первый из которых является символической ссылкой на некоторое местоположение за пределами текущего каталога, а второй — обычным файлом; тогда извлечение такого архива в некоторых реализациях tar может привести к записи в местоположение, на которое указывает символическая ссылка).

Ключевые реализации

Исторически многие системы реализовали tar, и многие общие архиваторы файлов имеют по крайней мере частичную поддержку tar (часто используя одну из реализаций ниже). История tar — это история несовместимостей, известных как «войны tar». Большинство реализаций tar также могут читать и создавать cpio и pax (последний на самом деле является форматом tar с расширениями POSIX -2001).

Ключевые реализации в порядке происхождения:

  • Solaris tar , основанный на оригинальном tar Unix V7 и используемый по умолчанию в операционной системе Solaris
  • GNU tar используется по умолчанию в большинстве дистрибутивов Linux . Он основан на общедоступной реализации pdtar, которая была запущена в 1987 году. Последние версии могут использовать различные форматы, включая форматы ustar, pax, GNU и v7.
  • FreeBSD tar (также BSD tar ) стал tar по умолчанию в большинствеоперационных систем на базе Berkeley Software Distribution, включая Mac OS X . Основная функциональность доступна как libarchive для включения в другие приложения. Эта реализация автоматически определяет формат файла и может извлекать данные из образов tar, pax, cpio, zip, rar, ar, xar, rpm и ISO 9660 cdrom. Он также поставляется с функционально эквивалентным интерфейсом командной строки cpio.
  • Schily tar , более известный как star ( / ˈ ɛ s ˌ t ɑːr / , ESS -tar ), [34] имеет историческое значение, поскольку некоторые из его расширений были довольно популярны. Впервые опубликованный в апреле 1997 года, [35] его разработчик заявил, что он начал разработку в 1982 году. [36]
  • Модуль Python tarfile поддерживает несколько форматов tar, включая ustar, pax и gnu; он может читать, но не создавать формат V7 и расширенный формат tar SunOS; pax является форматом по умолчанию для создания архивов. [37] Доступно с 2003 года . [38]

Кроме того, большинство реализаций pax и cpio могут читать и создавать несколько типов файлов tar.

Суффиксы для сжатых файлов

Архивные файлы tar обычно имеют расширение .tar (например, somefile.tar ).

Архивный файл tar содержит несжатые потоки байтов файлов, которые он содержит. Для сжатия архива доступны различные программы сжатия , такие как gzip , bzip2 , xz , lzip , lzma , zstd или compress , которые сжимают весь архив tar. Обычно сжатая форма архива получает имя файла путем добавления суффикса компрессора, специфичного для формата, к имени файла архива. Например, архив tar archive.tar , когда он сжат с помощью gzip, называется archive.tar.gz .

Популярные программы tar, такие как версии tar для BSD и GNU, поддерживают параметры командной строки Z (compress), z (gzip) и j (bzip2) для сжатия или распаковки архивного файла при его создании или распаковке. Относительно недавние дополнения включают --lzma ( LZMA ), --lzop ( lzop ), --xz или J ( xz ), --lzip (lzip) и --zstd . [39] Распаковка этих форматов выполняется автоматически, если используются поддерживаемые расширения имен файлов, а сжатие выполняется автоматически с использованием тех же расширений имен файлов, если параметр --auto-compress (короткая форма -a ) передается соответствующей версии GNU tar. [16] BSD tar обнаруживает еще более широкий диапазон компрессоров ( lrzip , lz4 ), используя не имя файла, а данные внутри него. [40] Нераспознанные форматы должны быть вручную сжаты или распакованы с помощью конвейера.

Ограничения имени файла MS-DOS 8.3 привели к дополнительным соглашениям для именования сжатых архивов tar. Однако эта практика пошла на спад, поскольку FAT теперь предлагает длинные имена файлов .

Архивирование tar часто используется вместе с методом сжатия, таким как gzip , для создания сжатого архива. Как показано, комбинация файлов в архиве сжимается как единое целое.
Эквиваленты суффиксов файлов [16]
КомпрессорДлинныйКороткий
bzip2.tar.bz2.tb2, .tbz, .tbz2, .tz2
gzip.tar.gz.taz, .tgz
lzip.tar.lz
лизма.tar.lzma.tlz
lzop.tar.lzo
хз.tar.xz.txz
компресс.tar.Z.tZ, .taZ
зстд.tar.zst.tzst

Смотрите также

Ссылки

  1. ^ "libarchive - библиотека C и инструменты командной строки для чтения и записи tar, cpio, zip, ISO и других форматов архивов @ GitHub". www.libarchive.org .
  2. ^ Сергей Позняков (18 июля 2023 г.). "tar-1.35 выпущен [стабильная]" . Получено 26 июля 2023 г. .
  3. ^ Джон Гилмор (1986-12-10). "v07i088: Программа TAR в открытом доступе". Группа новостей : mod.sources. Архивировано из оригинала 2022-02-07 . Получено 2022-02-07 .
  4. ^ "позикстар".
  5. ^ "звезда". Архивировано из оригинала 2023-11-12 . Получено 2023-11-12 .
  6. ^ Гилмор, Джон; Фенласон, Джей (4 февраля 2019 г.). «Basic Tar Format». gnu.org . и другие. Free Software Foundation . Получено 17 апреля 2019 г. .
  7. ^ ab "tar(5) manual page". FreeBSD.org . FreeBSD. 20 мая 2004 . Получено 2 мая 2017 .
  8. ^ IEEE Std 1003.1-1988, Стандарт IEEE для информационных технологий — Интерфейс переносимой операционной системы (POSIX)
  9. ^ IEEE Std 1003.1-2001, Стандарт IEEE для информационных технологий — Интерфейс переносимой операционной системы (POSIX)
  10. ^ IBM . "IBM System i Version 7.2 Programming Qshell" (PDF) . IBM . Получено 2020-09-05 .
  11. ^ "Анонс Windows 10 Insider Preview Build 17063 для ПК". Блог Windows Experience . 2017-12-19 . Получено 2 июля 2018 г.
  12. ^ «Tar и Curl приходят в Windows!». 2019-03-22.
  13. ^ "Блокировка". ftp.gnu.org . Получено 2020-08-26 .
  14. ^ Hoo, James. "Открытие/извлечение файла TAR с помощью бесплатного ПО на Windows/Mac/Linux". e7z Org . Архивировано из оригинала 6 февраля 2015 г. Получено 3 сентября 2019 г.
  15. ^ Kientzle, Tim (1995). Форматы файлов Интернета. Coriolis Groups Books. стр. 196. ISBN 978-1-883577-56-8. Получено 10.11.2022 .
  16. ^ abc "GNU tar 1.32: 8.1 Использование меньшего пространства за счет сжатия". GNU . 2019-02-23 . Получено 2019-08-11 .
  17. ^ НОВОСТИ, git.savannah.gnu.org - ищите «Добавлена ​​поддержка форматов архивов POSIX.1-2001 и ustar».
  18. ^ "GNU tar 1.34: 8. Управление форматом архива". GNU . Получено 2022-07-11 .
  19. ^ pax  – Справочник по оболочкам и утилитам, Единая спецификация UNIX , версия 4 от The Open Group
  20. ^ "#2116 Tar с заголовками pax не анализируются". 7-Zip / Ошибки | SourceForge .
  21. ^ GNU tar 1.35: 6.8 Работа только с новыми файлами
  22. ^ Различия между BSD tar и GNU tar и star | Baeldung on Linux
  23. ^ "duplicity: Новый формат файла". duplicity.nongnu.org .
  24. ^ gnu_tar/src/create.c в master · gitGNU/gnu_tar · GitHub, строка 546
  25. ^ src/bin/pax/tar.c в 8df76133309eacd4092b091ee0504adb842322a5 · openbsd/src · GitHub, строка 1066
  26. ^ ab tar(5) –  Руководство по форматам файлов FreeBSD
  27. ^ "Расширенные атрибуты: хорошие, не очень хорошие, плохие". Les bons comptes . 15 июля 2014 г. Архивировано из оригинала 14 декабря 2014 г. Получено 3 сентября 2019 г. Расширенные атрибуты могут быть очень ценными для хранения метаданных файла (например, author="John Smith", subject="country landscape") во многих случаях, когда вы не хотите или не можете хранить эти данные во внутренних свойствах файла.
  28. ^ "Определение Tarbomb". Linux Info Project . Получено 2024-12-12 .
  29. ^ "bsdtar(1)". man.freebsd.org .
  30. ^ Создание TAR с отсутствующими 100 КБ в начале: tail --bytes=+100000 "intact archive.tar" >>"missing beginning.tar". Следующий заголовок можно найти с помощью шестнадцатеричного редактора . Восстановить с помощью . Кавычки не нужны для имен файлов без пробелов.dd if="missing beginning.tar" of=recovered.tar ibs=[bytes until next header which starts with file path and name] skip=1
  31. ^ BillThor (28 июля 2017 г.). «Что делает архив tar доступным для поиска?». Super User . Получено 15 декабря 2023 г. .
  32. Василевский, Дэйв (6 декабря 2023 г.). "пикс". Гитхаб .
  33. ^ "GNU tar 1.35: 4.2.4 Объединение архивов с помощью --concatenate". www.gnu.org .
  34. ^ Шиллинг, Йорг. "Star a very fast and Posix 1003.1 compliant tar archiver for UNIX". Архивировано из оригинала 2023-07-09 . Получено 2023-09-02 .
  35. ^ Томас Э. Дики (4 января 2015 г.). "TAR против портативности: тар Шилли" . Получено 23 октября 2021 г.
  36. ^ Йорг Шиллинг (4 сентября 2021 г.). "star - уникальный стандартный ленточный архиватор" . Получено 23 октября 2021 г.
  37. ^ модуль tarfile, python.org
  38. ^ tarfile.py, github.com
  39. ^ Позняков, Сергей (2019-01-02). "tar-1.31 released [stable]". Списки рассылки GNU . Получено 2019-08-06 .
  40. ^ tar(1)  –  Руководство по основным командам FreeBSD
  • Спецификация X/Open CAE, команды и утилиты, выпуск 4, версия 2 (pdf), 1994, opengroup.org – указывает на то, что tar будет отозван
  • tar в Единой спецификации UNIX, версия 2, 1997, opengroup.org – указывает, что приложения должны перейти на утилиту pax
  • C.4 Утилиты в спецификации Open Group Base, выпуск 6, издание 2004 г., opengroup.org – указывает, что tar удален
  • pax – Справочник по оболочкам и утилитам, Единая спецификация UNIX , версия 4 от The Open Group – определяет форматы файлов ustar и pax
  • tar(1) –  Руководство программиста Unix версии 7
  • tar(1)– руководство от GNU
  • tar(1) –  Руководство программиста Plan 9 , том 1
  • tar(1) –  Справочное руководство по командам пользователя Solaris 11.4
  • tar(1) –  Руководство по основным командам FreeBSD
  • tar(1) –  Руководство по основным командам OpenBSD
  • tar(1) –  Руководство пользователя Linux – Команды пользователя
  • tar(5) –  Руководство по форматам файлов FreeBSD
  • TAR - Windows CMD - SS64.com
Взято с "https://en.wikipedia.org/w/index.php?title=Tar_(вычислительная техника)&oldid=1273233058"