почему я должен использовать tar.xz вместо tar.gz? xz - это программа сжатия данных без потерь и формат файлов [дубликат]

Я считаю, что нужно ограничить пользователя на уровне sshd_config, например :

Match User git # or Group git-group
  ForceCommand git-shell

from http://git-scm.com/book/ch4-4. html

12
05.08.2016, 21:28
3 ответа

xz в последние годы стал своего рода стандартом, когда дело доходит до управления пакетами.

алгоритм сжатия LZMA2 xz , который использует, исключительно эффективен с текстовыми (и «текстовыми») данными. Я лично использую его практически для всего, где скорость вычислительного кодирования не является проблемой ( xz распаковывает намного быстрее, чем сжатие, это фактически одна из целей его разработки).

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

Но я хотел бы прокомментировать еще одно ваше утверждение: «следует». Что вы должны или не должны использовать, зависит от того, что вы нужны ваши данные для. Несмотря на то, что xz и LZMA2 существуют уже много лет, люди все еще рассматривают сжатие с помощью gz как запасной вариант по соображениям совместимости. Такие вещи, как Trac или cgit предлагают .tar.gz , .7z и .tar.xz . Имеется опция .tar.gz , потому что она была «вечно» , и это хорошая запасная мера на любом устройстве, независимо от того, насколько оно минимальное или Старый.

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

Итак, то, что вам следует или не следует использовать, имеет наибольший смысл для вас и людей, взаимодействующих с вашими данными.


Одна вещь, которая недавно пришла мне в голову: страницы man обычно сжимаются с помощью gzip . Если вы посмотрите, например, / usr / share / man / man1 / , вы увидите много файлов, похожих на mv.1.gz , если не все. сжаты. Теперь, возможно, имеет смысл переключиться на файлы .xz из-за лучшего сжатия, но выигрыш в пространстве минимален по сравнению с отрицательными эффектами от отказа от .gz для ] .xz . Причина тому - почти универсальная совместимость. Даже открытие сжатых файлов .gz непосредственно в Vim работает нормально и действует как прозрачное сжатие.

5
27.01.2020, 19:55

Формат .xz предоставляет несколько дополнительных функций. В то же время он оставался достаточно простым, чтобы его можно было использовать во многих встроенных системах. Вот краткое описание функций:

  • Чтение с произвольным доступом: данные могут быть разделены на независимо сжатые блоки. Каждый файл .xz содержит индекс блоков, что делает возможным ограниченное чтение с произвольным доступом, когда размер блока достаточно мал.
  • Проверки целостности: Целостность всех заголовков всегда защищается с помощью CRC32. Целостность фактических данных можно проверить с помощью CRC32, CRC64, SHA-256 ...
  • Конкатенация: Как и в случае с файлами .gz и .bz2 , это возможно для объединения файлов .xz как есть. Распаковщик может распаковывать составной файл, как если бы он был обычным однопотоковым файлом .xz .
  • Заполнение: двоичные нули могут быть добавлены к файлам .xz , чтобы заполнить их, например блок на резервной ленте. Заполнение должно быть кратным четырем байтам, поскольку размер каждого допустимого файла .xz кратен четырем байтам.
3
27.01.2020, 19:55

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

В общем , xz обеспечивает более высокую степень сжатия, но требует гораздо больше памяти и времени.

Я лично использую xz для архивирования данных; большие файлы, которые мне нужно отложить на долгое время. В противном случае я использую gzip , так как обычно это быстрее.

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

16
27.01.2020, 19:55

Теги

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