архиваторы
- Olej
- Писатель
- Сообщения: 21338
- Зарегистрирован: 24 сен 2011, 14:22
- Откуда: Харьков
- Контактная информация:
архиваторы
Даже удивило ... что за 14 лет существования форума так ине возникла тема по возникающим новым архиваторам
Но эти первые (ранние) темы создавал и курировал не я...
Итак, вополняем
Но эти первые (ранние) темы создавал и курировал не я...
Итак, вополняем
- Olej
- Писатель
- Сообщения: 21338
- Зарегистрирован: 24 сен 2011, 14:22
- Откуда: Харьков
- Контактная информация:
архиваторы
А восполняем по тому поводу, что при обновлении LMDE5 до LMDE6 (LMDE) (а это на базе Debian 12 и ожидаемо и там) - он хотел zstd, но не нашёл его, и воспользовался чем-то из старых...
Zstandard:
Zstandard — алгоритм сжатия данных без потерь, разрабатываемый с 2015 года Яном Колле (фр. Yann Collet) при поддержке корпорации Facebook; zstd — эталонная реализация алгоритма Zstandard на языке программирования Си под свободной лицензией BSD. Версия 1.0 алгоритма и реализации были представлены в конце августа 2016 года.
Сочетает словарный алгоритм сжатия данных типа LZ77 и эффективное энтропийное кодирование типа ANS (FSE — Finite State Entropy), алгоритм, сходный с кодом Хаффмана, реализующий нецелое количество бит для хранения символов.
Целью разработки является достижение коэффициентов сжатия, сопоставимых или превосходящих классический алгоритм deflate (разработан в середине 1990-х, реализован в Zip, gzip и других) при более высокой скорости как сжатия, так и распаковки. Сходные цели решают алгоритмы Brotli (Google) и LZFSE[fr] (Apple, также использует ANS FSE).
По данным LTCB, zstd 0.6 при максимальной степени сжатия показывает уровень сжатия, близкий к архиваторам boz, yxz, tornado; более высокий, чем у lza, brotli, bzip2, обеспечивая при этом очень быструю распаковку (2,2 нс/байт на Core i7-3930K при 4,5 ГГц)
Алгоритм реализует 22 уровня сжатия, различающихся скоростью и эффективностью (уровень «1» — самый быстрый, уровень «22» — более эффективный).
- Olej
- Писатель
- Сообщения: 21338
- Зарегистрирован: 24 сен 2011, 14:22
- Откуда: Харьков
- Контактная информация:
архиваторы
zstd — алгоритм быстрого сжатия данных, используемый Facebook
В этой же статье - куча примеров команд использования zstd.Zstandard (также известная как zstd) – это бесплатная программа быстрого сжатия данных в реальном времени с лучшими коэффициентами сжатия с открытым исходным кодом, разработанная Facebook. Это алгоритм сжатия без потерь, написанный на C (имеется повторная реализация на Java) — таким образом, это родная программа для Linux.
При необходимости он может обменивать скорость сжатия на более высокие степени сжатия (компромисс между скоростью сжатия и степенью сжатия можно настроить с небольшим приращением), и наоборот. Он имеет специальный режим для сжатия небольших данных, известный как сжатие словаря, и может создавать словари из любого предоставленного набора образцов. Он поставляется с утилитой командной строки для создания и декодирования файлов .zst, .gz, .xz и .lz4. файлы.
Важно отметить, что Zstandard имеет богатую коллекцию API, поддерживает почти все популярные языки программирования, включая Python, Java, JavaScript, Nodejs, Perl, Ruby, C#, Go, Rust, PHP, Switft и многие другие.
- Olej
- Писатель
- Сообщения: 21338
- Зарегистрирован: 24 сен 2011, 14:22
- Откуда: Харьков
- Контактная информация:
архиваторы
Только не нужно спешить, как в этой статье, собирать zstd из исходников
В достаточно свежих дистрибутивах он в составе по умолчанию:
Код: Выделить всё
olej@nvme:~$ lsb_release -a
No LSB modules are available.
Distributor ID: Linuxmint
Description: LMDE 6 (faye)
Release: 6
Codename: faye
Код: Выделить всё
olej@nvme:~$ aptitude search zstd | grep " zstd"
p gambas3-gb-compress-zstd - Gambas zstd compression component
p gambas3-gb-compress-zstd:i386 - Gambas zstd compression component
p golang-github-valyala-gozstd-dev - go wrapper for zstd (library)
p guile-zstd - zstd bindings for guile
p guile-zstd:i386 - zstd bindings for guile
p librust-zstd-dev - Binding for the zstd compression library - Rust source code
p librust-zstd-dev:i386 - Binding for the zstd compression library - Rust source code
p librust-zstd-safe-dev - Safe low-level bindings for the zstd compression library - Rust source code
p librust-zstd-safe-dev:i386 - Safe low-level bindings for the zstd compression library - Rust source code
p librust-zstd-sys-dev - Low-level bindings for the zstd compression library - Rust source code
p librust-zstd-sys-dev:i386 - Low-level bindings for the zstd compression library - Rust source code
i A zstd - быстрый алгоритм сжатия без потерь — консольная программа
p zstd:i386 - быстрый алгоритм сжатия без потерь — консольная программа
Код: Выделить всё
olej@nvme:~$ which zstd
/usr/bin/zstd
Код: Выделить всё
olej@nvme:~$ zstd --version
*** Zstandard CLI (64-bit) v1.5.4, by Yann Collet ***
- Olej
- Писатель
- Сообщения: 21338
- Зарегистрирован: 24 сен 2011, 14:22
- Откуда: Харьков
- Контактная информация:
архиваторы
Код: Выделить всё
olej@R420:~$ lsb_release -a
No LSB modules are available.
Distributor ID: Linuxmint
Description: Linux Mint 21.2
Release: 21.2
Codename: victoria
Код: Выделить всё
olej@R420:~$ which zstd
/usr/bin/zstd
Код: Выделить всё
olej@R420:~$ zstd --version
*** zstd command line interface 64-bits v1.4.8, by Yann Collet ***
- Olej
- Писатель
- Сообщения: 21338
- Зарегистрирован: 24 сен 2011, 14:22
- Откуда: Харьков
- Контактная информация:
архиваторы
Код: Выделить всё
[olej@xenix ~]$ lsb_release -a
LSB Version: :core-4.1-amd64:core-4.1-noarch
Distributor ID: Fedora
Description: Fedora release 38 (Thirty Eight)
Release: 38
Codename: ThirtyEight
Код: Выделить всё
[olej@xenix ~]$ which zstd
/usr/bin/zstd
Код: Выделить всё
[olej@xenix ~]$ zstd --version
*** Zstandard CLI (64-bit) v1.5.5, by Yann Collet ***
- Olej
- Писатель
- Сообщения: 21338
- Зарегистрирован: 24 сен 2011, 14:22
- Откуда: Харьков
- Контактная информация:
архиваторы
Код: Выделить всё
olej@esprimop420:~$ lsb_release -a
No LSB modules are available.
Distributor ID: Debian
Description: Debian GNU/Linux 12 (bookworm)
Release: 12
Codename: bookworm
Код: Выделить всё
olej@esprimop420:~$ which zstd
/usr/bin/zstd
Код: Выделить всё
olej@esprimop420:~$ zstd --version
*** Zstandard CLI (64-bit) v1.5.4, by Yann Collet ***
- Olej
- Писатель
- Сообщения: 21338
- Зарегистрирован: 24 сен 2011, 14:22
- Откуда: Харьков
- Контактная информация:
архиваторы
Опции tar (tgz) сжатия
Поддерживаемые форматы/алгоритмы компрессии определяются версией tar:
Код: Выделить всё
olej@R420:~$ man tar
...
Compression options
-a, --auto-compress
Use archive suffix to determine the compression program.
-I, --use-compress-program=COMMAND
Filter data through COMMAND. It must accept the -d option, for decompression. The argument can contain command line options.
-j, --bzip2
Filter the archive through bzip2(1).
-J, --xz
Filter the archive through xz(1).
--lzip Filter the archive through lzip(1).
--lzma Filter the archive through lzma(1).
--lzop Filter the archive through lzop(1).
--no-auto-compress
Do not use archive suffix to determine the compression program.
-z, --gzip, --gunzip, --ungzip
Filter the archive through gzip(1).
-Z, --compress, --uncompress
Filter the archive through compress(1).
--zstd Filter the archive through zstd(1).
...
Код: Выделить всё
olej@R420:~$ tar --version
tar (GNU tar) 1.34
Copyright (C) 2021 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <https://gnu.org/licenses/gpl.html>.
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.
Авторы программы — John Gilmore и Jay Fenlason.
- Olej
- Писатель
- Сообщения: 21338
- Зарегистрирован: 24 сен 2011, 14:22
- Откуда: Харьков
- Контактная информация:
архиваторы
Среди опций/алгоритмов tgz нет, из числа часто встречаемых Архиватор 7-Zip
В ряде дистрибутивов устанавливается и по умолчанию (или может быть стандартно установлен):7-Zip — свободный файловый архиватор с высокой степенью сжатия данных благодаря формату 7z с компрессией LZMA.
Кроме формата 7z поддерживает также ZIP, GZIP, BZIP2 и TAR. Может распаковать множество других форматов, например CAB, CHM, DEB, ISO, LZMA, MSI, RAR и другие.
Формат 7z достаточно популярен среди архивов, поэтому имеет смысл иметь поддержку 7z в системе, а также создавать свои архивы в виде 7z формата, ибо сжатие с помощью 7z на 30-50% лучше, чем сжатие с помощью ZIP.
Не стоит использовать 7-Zip в целях Linux/Unix backup, потому как 7-zip не сохраняет информацию о владельцах и правах файлов (owner/group) - для этого следует использовать TAR.
В Ubuntu можно использовать консольный порт 7-Zip под POSIX системы: p7zip.
Код: Выделить всё
olej@R420:~$ aptitude search 7z
p 7zip - 7-Zip file archiver with a high compression ratio
p i7z - reporting tool for i7, i5, i3 CPUs
v libocsipersist-ocaml-dev-p7z83 -
v libocsipersist-ocaml-p7z83 -
i p7zip - архиватор 7zr с высокой степенью сжатия (облегчённая версия)
i p7zip-full - Архиватор форматов 7z и 7za с высокой степенью сжатия
p p7zip-rar - несвободный модуль rar для p7zip
p python-py7zr-doc - pure Python 7-zip library (documentation)
i A python3-py7zr - pure Python 7-zip library
Код: Выделить всё
olej@R420:~$ apt content p7zip-full | grep /7z
/usr/bin/7z
/usr/bin/7za
/usr/lib/p7zip/7z
/usr/lib/p7zip/7za
/usr/lib/p7zip/7zCon.sfx
/usr/lib/p7zip/7z.so
/usr/share/doc/p7zip/DOC/7zC.txt.gz
/usr/share/doc/p7zip/DOC/7zFormat.txt.gz
/usr/share/doc/p7zip/DOC/MANUAL/general/7z.htm
/usr/share/man/man1/7z.1.gz
/usr/share/man/man1/7za.1.gz
Код: Выделить всё
olej@R420:~$ dpkg -l p7zip-full
Желаемый=неизвестно[u]/установить[i]/удалить[r]/вычистить[p]/зафиксировать[h]
| Состояние=не[n]/установлен[i]/настроен[c]/распакован[U]/частично настроен[F]/
частично установлен[H]/trig-aWait/Trig-pend
|/ Ошибка?=(нет)/требуется переустановка[R] (верхний регистр
в полях состояния и ошибки указывает на ненормальную ситуацию)
||/ Имя Версия Архитектура Описание
+++-==============-============-============-=====================================================
ii p7zip-full 16.02+dfsg-8 amd64 7z and 7za file archivers with high compression ratio
- Olej
- Писатель
- Сообщения: 21338
- Зарегистрирован: 24 сен 2011, 14:22
- Откуда: Харьков
- Контактная информация:
архиваторы
Код: Выделить всё
olej@R420:~$ which 7z
/usr/bin/7z
Код: Выделить всё
olej@R420:~$ 7z --help
7-Zip [64] 16.02 : Copyright (c) 1999-2016 Igor Pavlov : 2016-05-21
p7zip Version 16.02 (locale=ru_UA.UTF-8,Utf16=on,HugeFiles=on,64 bits,40 CPUs Intel(R) Xeon(R) CPU E5-2470 v2 @ 2.40GHz (306E4),ASM,AES-NI)
Usage: 7z <command> [<switches>...] <archive_name> [<file_names>...]
[<@listfiles...>]
<Commands>
a : Add files to archive
b : Benchmark
d : Delete files from archive
e : Extract files from archive (without using directory names)
h : Calculate hash values for files
i : Show information about supported formats
l : List contents of archive
rn : Rename files in archive
t : Test integrity of archive
u : Update files to archive
x : eXtract files with full paths
<Switches>
...
Кто сейчас на конференции
Сейчас этот форум просматривают: нет зарегистрированных пользователей и 0 гостей