есть, по крайней мере, четыре отдельных задания, которые часто путают вместе, потому что популярные инструменты интегрируют их:
- архивирование: возможность объединения нескольких файлов (включая метаданные) в один файл, сохраняя как можно больше вещей. В мире Linux/Unix архивирование традиционно выполняется в формате tar.
- сжатие: возможность без потерь минимизировать размер потока двоичных данных. В мире Linux/Unix это традиционно делается GZip и BZip2.
- шифрование: возможность шифрования данных с помощью ключей
- контрольная сумма: возможность обнаружения (и, возможно, исправления) ошибок.
повсеместность .смола.ГЗ и .тар.bz соответствует философии Unix о малых инструментах, выполняющих одну работу хорошо, над одним инструментом, который делает все. Формат файла TAR не поддерживает сжатие или шифрование, но может быть дополнительно сжат любым компрессором (в том числе as .смола.zip или .смола.7z). Работа GZip и BZip2 просто сжать поток файлов в другой поток файлов, уровень сжатия не нужно заботиться, как сохранить метаданные или шифрования или контрольной суммы. Хотя с течением времени, некоторые ярлыки были сделаны в tar
программа для более удобной работы с компрессором.
в формате zip и 7z эти отдельные задания выполняются одной программой в одном формате super file.
почему тренд выше, кажется, держится, хотя все это портативные форматы? Есть ли какие-либо конкретные преимущества использования определенного формата архива на конкретной платформе?
так как это было сделано, исходные коды программ традиционно распределяются как .смола.gz или .тар.bz2, потому что сохранение прав доступа к файлам, времени модификации и т. д. важны для различных инструментов, используемых для программирования (например, make).
отдельный шаг архивирования и сжатия работал в течение многих лет очень хорошо, он имеет явное преимущество возможности свободно смешивать и сочетать архивирование и сжатие, а его недостаток (2-шаговый процесс сжатия) можно легко обойти, разработав более интеллектуальные инструменты (большинство современных программ сжатия linux будет непосредственно сжимать .смола.GZ или .тар.bz2, что, скрывая промежуточный шаг).
нет никаких серьезных причин для перехода на другие форматы файлов, новые компрессоры не имеют значительно лучшую скорость сжатия, чтобы оправдать нарушение традиции и tar может сохраняйте все достаточно хорошо.