Почему люди используют tarballs?

90
задан Ivan Aracki 21 September 2018 в 13:01
поделиться

14 ответов

bzip и gzip работа над единственными файлами, не группы файлов. Простой zippkzip) воздействуют на группы файлов и имеют понятие встроенного архива.

*отклоняют философию, один из мелких инструментов, которые делают определенные работы очень хорошо и могут быть объединены в цепочку вместе. Вот почему существует два инструмента здесь, которые имеют определенные задачи, и они разработаны для установки хорошо вместе. Это также означает, что можно использовать tar для группировки файлов, и затем у Вас есть выбор инструмента сжатия (bzip, gzip, и т.д.).

135
ответ дан Ivan Aracki 24 November 2019 в 06:57
поделиться

Tar не является только форматом файла, но и это - формат лент. Ленты хранят данные поразрядно. Каждая реализация устройства хранения данных была пользовательской. Tar был методом, которым Вы могли взять данные от диска и сохранить их на ленту способом, что другие люди могли получить их без Вашей пользовательской программы.

Позже, программы сжатия появились, и *отклоняют все еще, только имел один метод создания единственного файла, который содержал несколько файлов.

я полагаю, что это - просто инерция, которая продолжила tar.gz тенденцию. Pkzip, запущенному и со сжатия и с архивирования одним махом, но тогда систем DOS, обычно не присоединяли ленточные накопители!

Из Википедии для Tar_ (file_format)

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

0
ответ дан Jonathan Leffler 24 November 2019 в 06:57
поделиться

Tar = файлы Групп в 1 файле

GZip = Zip файл

Они разделяют процесс в 2. Вот именно.

В Windows environnement, что Вы могли бы более использоваться для использования WinZip или WinRar, которые делают Zip. Процесс Zip их, программное обеспечение действительно группирует файл и архивирование, но Вы просто не видите тот процесс.

1
ответ дан Patrick Desjardins 24 November 2019 в 06:57
поделиться

Обычно в *nux мир, пакеты файлов распределяются как tarballs и затем дополнительно gzipped. Gzip является простой программой сжатия файла, которая не делает, файл, связывающий тот tar или zip, делает.

Когда-то, zip правильно не обработала некоторые вещи что tar Unix и файловые системы Unix, которые рассматривают нормальными, как символьные ссылки, смешанные досье, и т.д. Я не знаю, изменяется ли это, но вот почему мы используем tar.

2
ответ дан Paul Tomblin 24 November 2019 в 06:57
поделиться

tar популярен главным образом по историческим причинам. Существует несколько легко доступных альтернатив. Некоторые из них вокруг для почти пока tar, но не могли превзойти tar в популярности по нескольким причинам.

  • cpio (посторонний синтаксис; теоретически более последовательный, но люди как то, что они знают, tar преобладал)
  • площадь (популярный давным-давно, теперь используемый для упаковки файлов библиотеки)
  • shar (сам извлекающий сценарии оболочки, имел все виды проблем; используемый, чтобы быть популярным однако)
  • zip (из-за лицензирования проблем это не было легко доступно на многих Нельдах)

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

Apperantly одна оборотная сторона tar.gz (или площадь. Z в этом отношении), который является, что необходимо распаковать целый архив для извлечения единственных файлов и списка содержания архива, никогда не причинять людям боль достаточно, чтобы заставить их дезертировать от tar в значительном количестве.

3
ответ дан edgar.holleis 24 November 2019 в 06:57
поделиться

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

сам ZIP и RAR также являются комбинацией двух процессов.

2
ответ дан jishi 24 November 2019 в 06:57
поделиться

Я думаю, что Вы искали больше исторического контекста к этому. Исходная zip была для единственного файла. Tar используется для размещения нескольких файлов в единственный файл. Поэтому смолить и архивирование являются двумя процессами шага. Почему это является все еще настолько доминирующим, сегодня чье-либо предположение.

Из Википедии для Tar_ (file_format)

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

5
ответ дан martinatime 24 November 2019 в 06:57
поделиться

Другая причина это настолько распространено, состоит в том, что tar и gzip идут, почти все *ОТКЛОНЯЮТ основу установки там. Я полагаю, что это - вероятно, единственная самая большая причина. Это также, почему zip-файлы чрезвычайно распространены в Windows, потому что поддержка встроена, независимо от превосходящих стандартных программ в RAR или 7z.

tar GNU также позволяет Вам создавать/извлекать эти файлы из одной команды (один шаг):

  • Создают Архив:
  • tar -cfvj destination.tar.bz2 *.files
  • tar -cfvz destination.tar.gz *.files

  • Извлечение Архив: (-C часть является дополнительной, она принимает значение по умолчанию к текущему каталогу)

  • tar -xfvj archive.tar.bz2 -C destination_path
  • tar -xfvz archive.tar.gz -C destination_path

, Это то, что я запомнил со своих многих лет на Linux и недавно на Nexenta (OpenSolaris).

7
ответ дан Bryan Rehbein 24 November 2019 в 06:57
поделиться

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

8
ответ дан Harper Shelby 24 November 2019 в 06:57
поделиться

Забавная вещь, можно получить поведение, не ожидаемое создателями tar лет и gzip. Например, Вы не можете только gzip файл tar, можно также смолить gzipped файлы, для создания files.gz.tar (это технически было бы ближе к пути pkzip работы). Или можно поместить другую программу в конвейер, например, некоторая криптография, и можно выбрать произвольный порядок того, чтобы смолить, gzipping и шифрования. Кто бы ни записал, что программа криптографии не должна иметь ни малейшего представления, как его программа использовалась бы, все, что он должен сделать, читается из стандартного входа и записи к стандартному выводу.

15
ответ дан Svante 24 November 2019 в 06:57
поделиться

Это нечетно, что никто еще не упомянул, что современные версии GNU tar позволяют Вам сжиматься, поскольку Вы связываетесь:

tar -czf output.tar.gz directory1 ...

tar -cjf output.tar.bz2 directory2 ...

можно также использовать компрессор выбора, если это поддерживает' -c' (к stdout, или от stdin) и' -d' (распаковка) опции:

tar -cf output.tar.xxx --use-compress-program=xxx directory1 ...

Это позволило бы Вам определять любой альтернативный компрессор.

[ Добавленный : Если Вы извлекаете от gzip или bzip2 сжатые файлы, GNU tar автоматически обнаруживает их и запускает соответствующую программу. Таким образом, можно использовать:

tar -xf output.tar.gz
tar -xf output.tgz        # A synonym for the .tar.gz extension
tar -xf output.tar.bz2

и они будут обработаны правильно. Если Вы используете нестандартный компрессор, то необходимо определить это, когда Вы делаете извлечение.]

причина разделения, как в выбранном ответе, разделении обязанностей. Среди других вещей это означает, что люди могли использовать' cpio' программа для упаковки файлов (вместо [1 111]) и затем использовать предпочтительный компрессор (когда-то давно, предпочтительный компрессор был pack, позже это было compress (который был намного более эффективным, чем [1 114]), и затем gzip, который заткнул обоих его предшественников за пояс и совершенно конкурентоспособен по отношению к [1 116] (который был портирован к Unix, но не собственный там), и теперь bzip2, который, по моему опыту, обычно имеет 10-20%-е преимущество перед [1 118].

[ Добавленный : кто-то отметил в их ответе, что cpio имеет забавные соглашения. Это правда, но пока GNU tar не получил соответствующие опции (' -T -'), cpio была лучшая команда, когда Вы не хотели архивировать все, что было под данным каталогом - Вы могли на самом деле выбрать точно, какие файлы были заархивированы. Оборотная сторона [1 123] была то, что Вы не [только 1 132] могли выбирать файлы - Вы имели для выбора их. Существует все еще одно место где cpio очки; это может сделать копию на месте от одной иерархии каталогов до другого без любого промежуточного устройства хранения данных:

cd /old/location; find . -depth -print | cpio -pvdumB /new/place

Кстати,' -depth' опция на [1 126] важна в этом контексте - это копирует содержание каталогов прежде, чем установить полномочия на самих каталогах. Когда я проверил команду прежде, чем ввести дополнение к этому ответу, я скопировал некоторые каталоги только для чтения (555 разрешений); когда я пошел для удаления копии, я должен был ослабить полномочия на каталогах, прежде чем' rm -fr /new/place' мог закончиться. Без -depth опция, эти cpio перестала бы работать команда. Я только повторно помнил это, когда я пошел, чтобы сделать очистку - заключенная в кавычки формула то, что автоматическая мне (главным образом на основании многих повторений за многие годы).]

26
ответ дан Jonathan Leffler 24 November 2019 в 06:57
поделиться

Важное различие находится в природе двух видов архивов.

файлы TAR немного больше, чем конкатенация содержания файла с некоторыми заголовками, в то время как gzip и bzip2 являются потоковыми компрессорами, которые, в tarballs, применяются к целой конкатенации.

zip-файлы являются конкатенацией индивидуально сжатых файлов с некоторыми заголовками. На самом деле ВЫКАЧИВАТЬ алгоритм используется и zip и gzip, и с соответствующей двоичной корректировкой, Вы могли взять полезную нагрузку gzip потока и поместить ее в zip-файл с соответствующим заголовком и словарными статьями.

Это означает, что два различных типа архивирования имеют различные компромиссы. Для большого количества маленьких файлов TAR, сопровождаемый потоковым компрессором, будет обычно приводить к более высокой степени сжатия, чем ZIP, потому что потоковый компрессор будет иметь больше данных, чтобы создать его частоты словаря из, и таким образом быть в состоянии отжать больше избыточной информации. С другой стороны, (сохранение длины файла) ошибка в zip-файле только повредит те файлы, сжатые данные которых были затронуты. Обычно, потоковые компрессоры не могут обоснованно восстановиться с ошибочной середины реки. Таким образом zip-файлы более эластичны к повреждению, поскольку часть архива все еще будет доступна.

28
ответ дан Barry Kelly 24 November 2019 в 06:57
поделиться

По той же причине, по которой пользователи Mac любят образы дисков: это действительно удобный способ архивировать материал, а затем передавать его вверх- / загрузить или отправить по электронной почте и т. д.

И имхо проще в использовании и портативнее, чем zip.

1
ответ дан 24 November 2019 в 06:57
поделиться

В дни, когда я был в Altos-XENIX (1982), мы начали использовать tar (ленточный архиватор) для извлечения файлов с дискет 5 1/4 или потоковой ленты, а также копирования на эти носители. Его функциональность очень похожа на команды BACKUP.EXE и RESTORE.EXE в DOS 5.0 и 6.22 в качестве дополнений, что позволяет вам охватить несколько носителей, если они не могут поместиться только на одном. Недостатком было то, что если у одного из нескольких носителей возникали проблемы, все это было бесполезно. tar и dd происходят из UNIX SYstem III и оставались утилитой стандартного выпуска для UNIX-подобных ОС, вероятно, по причинам обратной совместимости.

1
ответ дан 24 November 2019 в 06:57
поделиться
Другие вопросы по тегам:

Похожие вопросы: