в настоящее время этот вопрос не подходит для нашего формата вопросов и ответов. Мы ожидаем, что ответы будут подтверждены фактами, ссылками или опытом, но этот вопрос, скорее всего, вызовет дебаты, споры, опрос или расширенное обсуждение. Если вы считаете, что этот вопрос можно улучшить и, возможно, вновь открыть,
обратитесь за помощью в справочный центр .
Закрыто 9 лет назад .
Поскольку большинство дистрибутивов Linux отбрасывают gzip и bzip2 в пользу LZMA2 для сжатия своих пакетов, а также много реализаций с открытым исходным кодом для многих платформ, я задаюсь вопросом: Shouldn ' мы положим DEFLATE и формат .zip
(который, к сожалению, разорился снова и снова), чтобы отдохнуть и перейти к другим, современным способам распространения наших (исходных) пакетов?
GNU tar поддерживает J
переключатель, который использует xz
(другой компрессор LZMA2) в качестве фильтра:
$ tar cJf foo.tar.xz foo/
Однако я склонен использовать 7z
(реализация p7zip) и его друга 7za
под Linux для создания архивов. Я по-прежнему использую парадигму «избегать tar-бомб» при создании архивов, то есть в этих архивах есть каталог, поэтому извлечение из командной строки не приводит к разливу файлов в текущем каталоге (это стандартный modus operandi ] в Linux с такими вещами, как tar
, но, похоже, это гораздо меньше, чем в Windows).
В любом случае, из-за использования в пакетах (например, RPM Fedora и DEB Ubuntu), а также фильтров для таких инструментов, как tar
, LZMA2 - «следующая лучшая вещь» использовать после bzip2. У него отличная степень сжатия (намного выше bzip2 в стандартных настройках) и она тоже очень быстрая (сжатие немного медленнее, чем у gzip,
Я сам провел несколько сравнительных тестов, но я хотел бы включить точку некоторые более обширные тесты:
Теперь вы заметите, что 7-zip , которая является эталонной реализацией, не стоит на первом месте, однако Freearc использует свой собственный формат .arc
, который на самом деле не является кроссплатформенным и не совместим с старой ARC 80-х годов. nanozip - это не открытый исходный код, это своего рода спад, но важен алгоритм, а не архиватор!
В любом случае, теперь это производительность с 7-zip и его производными реализациями ( xz ), это больше не проблема, и степень сжатия говорит сама за себя, я чувствую, что распределяю мои исходные пакеты как архивы .7z
или .tar.xz
. Однако передо мной стоят два препятствия, которые я не могу преодолеть:
Сторонники WinRAR . Теперь, когда производительность с 7-zip и его производными реализациями ( xz ) больше не является проблемой, и степень сжатия говорит сама за себя, я чувствую, что распределяю исходные пакеты как .7z
или .tar.xz
архивов. Однако передо мной стоят два препятствия, которые я не могу преодолеть:
Сторонники WinRAR . Теперь, когда производительность с 7-zip и его производными реализациями ( xz ) больше не является проблемой, и степень сжатия говорит сама за себя, я чувствую, что распределяю исходные пакеты как .7z
или .tar.xz
архивов. Однако передо мной стоят два препятствия, которые я не могу преодолеть:
Сторонники WinRAR .
Не поймите меня неправильно, я не держу зла на WinRAR или его пользователей, просто я не могу на самом деле создавать RAR в Linux, и в этом нет необходимости, поскольку у нас есть бесплатные инструменты LZMA2. И, как я уже сказал, с тех пор, как он стал неотъемлемой частью дистрибутивов, он доступен в любом современном дистрибутиве. Поскольку для создания файлов .7z
, чем .rar
и LZMA2, как правило, требуется меньше времени, я не вижу, почему бы не использовать 7-zip.
архивы tar должны быть zip или bzip2, без исключений .
Это сложный вопрос. Почему так много людей впечатлены gzip? Даже bzip2 большую часть времени не видит большого использования. Конечно, gzip работает быстро, и это хороший момент, когда речь идет о сжатии по требованию, например на веб-серверах или при создании больших зеркальных резервных копий. Но как насчет распространения программного обеспечения? LZMA2 является очень асимметричным. В то время как сжатие требует времени, декомпрессия невероятно быстра.
Хорошо, теперь возникает мой вопрос:
Поскольку LZMA2, возможно, является следующим лучшим алгоритмом сжатия, почему люди не прыгают на поезд? Почему люди все еще используют WinRAR, который является проприетарным, имеет худшую степень сжатия и не портирован на Linux (за исключением unrar
, но вы, очевидно, не можете создавать архивы с этим). Почему Tarballs по-прежнему в основном gziped?
Нет ли способа убедить людей перейти на новый, надежный формат архивирования, который не только кроссплатформенный, но и бесплатный? Когда я даю кому-то файл, заканчивающийся на .7z
, он, как правило, не знает, что с ним делать, изменится ли он когда-нибудь?
О, и вот небольшой тест, который я сделал сам. Я использовал настройки по умолчанию везде:
11837440 GNUtar_TAR.tar
10657984 Arc_ARC.arc
9632524 PA2010_TAR_BZip2.tar.bz2
9536967 PA2010_LHA_Frozen5.lzh
9510148 PA2010_ZIP_BZip2.zipx
9490211 GNUtar_TAR.tar.bz2
9467242 PA2010_LHA_Frozen6.lzh
9463630 7-zip_ZIP_BZip2.zip
9437520 7-zip_7-ZIP_BZip2.7z
9398798 Arj_ARJ.arj
9373435 GNUtar_TAR.tar.gz
9370456 PA2010_BlackHole_Deflate.bh
9369621 Lha_LHA_Frozen6.lzh
9367712 PA2010_ZIP_Deflate.zip
9364237 PA2010_TAR_gzip.tar.gz
9360248 PA2010_Cabinet_MsZip.cab
9303923 7-zip_ZIP_Deflate.zip
9215279 7-zip_ZIP_Deflate64.zip
9189365 PA2010_ZIP_PPMd.zipx
9060663 PA2010_7-ZIP_PPMd.7z
8931280 PA2010_Cabinet_LZX.cab
8847427 7-zip_7-ZIP_PPMd.7z
8803350 PA2010_ZIP_Optimized.zipx
8803350 PA2010_ZIP_Wavpack.zipx
8802850 PA2010_ZIP_LZMA.zipx
5812491 FreeArc_7-ZIP.arc
5789853 7-zip_7-ZIP_LZMA.7z
5789853 PA2010_7-ZIP_LZMA.7z
5789024 GNUtar_TAR.tar.xz
5782637 FreeArc_UHARC.arc
5770969 FreeArc_CCM.arc
5739697 Fp8_5.fp8
5718865 Fp8_8.fp8
5685234 Paq8px_5.paq8px
5677662 Paq8kx_5.paq8kx
5644422 Paq8px_8.paq8px
5609608 Paq8kx_8.paq8kx
( Размер в байтах; Имя файла: Archiver_Format_Algorithm.Extension
)
Набор файлов состоит из образов дисков, которые содержат установку DOS:
1474979 disk01.144
1474979 disk02.144
1474979 disk03.144
1474979 disk04.144
1474979 disk05.144
1474979 ldisk01.144
1474979 ldisk02.144
1474979 ldisk03.144
24325 diskcopy.com
(Размер в байтах)