LINUX.ORG.RU

есть ли поддержка zstd в каком-либо варианте tar?

 , ,


0

1

Подскажите - а есть ли уже существующий патч для tar (GNU preferrably) поддерживающий zstd дабы можно было единой командой созать .tar.zst.

Понятно что можно написать что-то типа tar -cvf - <folder> | zstd -6 - -o folder.tar.zst

UPD: ключ --zstd решает «проблему»

★★★★★

Последнее исправление: aim1159 (всего исправлений: 3)

man tar
       -I, --use-compress-program=COMMAND
              Filter data through COMMAND.  It must accept the -d option, for decompression.  The argument can contain command line options.

       --zstd Filter the archive through zstd(1).
anonymous
()

--zstd в GNU tar двухлетней давности (1.30) есть.

anonymous
()

Ловите некрофила. Загуглить конечно что в гну тар это есть лет 5 уже очень сложно.

anonymous
()
Ответ на: комментарий от anonymous

Ну а вот переменной окружения в которой можно было бы задать экзотические параметры по типу xz_opts по-моему нет, так что что-то типа имеет право на жизнь.

anonymous
()
# Use: <src_dir> <dest_file>

source_dir="${1}"
dest_file="${2}"

tar -cvf - ${source_dir} | zstd -6 - -o ${dest_file}

Может лучше это закинуть в ~/bin, чем строгать сообщение на форум?

IPR ★★★★★
()
Последнее исправление: IPR (всего исправлений: 1)

Ох, всё ещё проще:

После более года разработки представлен новый стабильный релиз архиватора GNU Tar 1.31. В новом выпуске реализована поддержка алгоритма сжатия данных zstd (Zstandard), который демонстрирует в 3-5 раз более высокую скорость сжатия по сравнению с zlib/Deflate и в два раза более быструю распаковку, при улучшении уровня сжатия на 10-15%. Для использования нового алгоритма при сжатии предложена опция '--zstd'. При распаковке применение zstd распознаётся автоматически. Кроме того, Zstd используется при указании для файлов расширений '.zst' и '.tzst'.

https://www.opennet.ru/opennews/art.shtml?num=49893

IPR ★★★★★
()
Последнее исправление: IPR (всего исправлений: 1)
Ответ на: комментарий от anonymous

да, это я чего-то заработался и лоханулся. надо было man tar всего-лишь сделать. жаль что они не сделали какого-нибудь короткого ключа.

aim1159 ★★★★★
() автор топика

у tar есть ключ -a для автоматического распознания по суффиксу

teod0r ★★★★★
()
17 октября 2019 г.
Ответ на: комментарий от aim1159
- tar --zstd --cvf <folder> <archive_name>.tar.zst
+ tar --zstd --cvf <archive_name>.tar.zst <folder>
anonymous
()
Ответ на: комментарий от aim1159
$ tar --version
tar (GNU tar) 1.31
Copyright (C) 2019 Free Software Foundation, Inc.
Лицензия GPLv3+: GNU GPL версии 3 или новее <https://gnu.org/licenses/gpl.html>
Это свободное ПО: вы можете изменять и распространять его.
Нет НИКАКИХ ГАРАНТИЙ до степени, разрешённой законом.

Авторы: John Gilmore и Jay Fenlason.
* Support for zstd compression

New option '--zstd' instructs tar to use zstd as compression program.
When listing, extractng and comparing, zstd compressed archives are recognized automatically.
When '-a' option is in effect, zstd compression is selected if the destination archive name ends in '.zst' or '.tzst'.
$ tar acvf  ./test_files.tar.zst ./test_files
./test_files/
./test_files/kernel/
./test_files/kernel/dma/
./test_files/kernel/dma/debug.c
./test_files/kernel/dma/virt.c
./test_files/kernel/dma/swiotlb.c
./test_files/kernel/dma/Makefile
./test_files/kernel/dma/contiguous.c
./test_files/kernel/dma/remap.c
./test_files/kernel/dma/mapping.c
./test_files/kernel/dma/Kconfig
./test_files/kernel/dma/dummy.c
./test_files/kernel/dma/coherent.c
./test_files/kernel/dma/direct.c

--- skip ---

$ ls 
test_files  test_files.tar.zst
anonymous
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.