- Как мне распаковать архив с файлом tar.zst?
- 1 ответ
- есть ли поддержка zstd в каком-либо варианте tar?
- Arch Linux
- #1 2020-01-10 20:32:16
- [SOLVED] tar.zst unecognized archive format
- #2 2020-01-10 23:59:16
- Re: [SOLVED] tar.zst unecognized archive format
- #3 2020-01-11 07:53:22
- Re: [SOLVED] tar.zst unecognized archive format
- #4 2020-01-11 15:14:06
- Re: [SOLVED] tar.zst unecognized archive format
- #5 2020-01-11 15:57:57
- Re: [SOLVED] tar.zst unecognized archive format
- #6 2020-01-11 17:02:51
- Re: [SOLVED] tar.zst unecognized archive format
- #7 2020-01-11 20:40:21
- Re: [SOLVED] tar.zst unecognized archive format
- #8 2020-01-12 09:27:48
- Re: [SOLVED] tar.zst unecognized archive format
- #9 2020-01-12 13:19:48
- Re: [SOLVED] tar.zst unecognized archive format
- #10 2020-01-12 17:55:26
- Re: [SOLVED] tar.zst unecognized archive format
- #11 2020-01-12 19:16:06
- Re: [SOLVED] tar.zst unecognized archive format
- Команда tar в Linux
- Синтаксис команды tar
- Как пользоваться tar
- 1. Создание архива tar
- 2. Просмотр содержимого архива
- 3. Распаковка архива tar Linux
- 3. Работа со сжатыми архивами
- Выводы
- Записки IT специалиста
- Zstandard — новый, быстрый и эффективный алгоритм сжатия данных
- Тестирование эффективности Zstandard
- Как начать пользоваться Zstandard
Как мне распаковать архив с файлом tar.zst?
Я не знаю, как мне распаковать файл с расширением tar.zst, и хотя я искал решения в Интернете, у меня не оказалось ничего полезного в этом вопросе.
1 ответ
Расширение.zst означает, что архив сжат zstd.
Команда tar имеет опцию -I (—use-compress-program), чтобы указать команду для сжатия / распаковки.
Вы можете использовать его следующим образом.
$ tar -I zstd -xvf archive.tar.zst
Распакуйте его в Терминале.
Я знаю, что не так много доступных ресурсов, но я нашел это здесь: http://manpages.org/zstd
Если у вас стандартный стек сборки cmake + gcc:
В macOS Mojave 10.14.3 мне не удалось указать алгоритм сжатия с помощью флага -I. Это сработало для меня;
Установите zstd с помощью brew, если он еще не установлен.
- Распаковать из.zst: unzstd filename.tar.zst или zstd -d filename.tar.zst . filename.tar будет создан.
- Список сжатых архивов: tar tf filename.tar .
- Распакуйте сжатый архив: tar xf filename.tar .
Надеюсь это поможет.
Я нашел некоторые из этих файлов в загрузках Anaconda. После установки Anaconda я загружал дополнительные пакеты. Загруженные пакеты в моем каталоге загрузок Anaconda были zip-файлами (без расширения.zip), но у них были эти .tar.zst файлы внутри них. Это привело меня кпереполнению стека, чтобы выяснить, что это такое, что привело меня к этому вопросу. Если вы находитесь в одной лодке, то Anaconda также дает ответ.
Получается, что zstd а также unzstd исполняемые файлы также устанавливаются установщиком Anaconda, поэтому они должны быть доступны в командной строке, если вы находитесь в среде Anaconda.
Источник
есть ли поддержка zstd в каком-либо варианте tar?
Подскажите — а есть ли уже существующий патч для tar (GNU preferrably) поддерживающий zstd дабы можно было единой командой созать .tar.zst.
Понятно что можно написать что-то типа tar -cvf — | zstd -6 — -o folder.tar.zst
UPD: ключ —zstd решает «проблему»
—zstd в GNU tar двухлетней давности (1.30) есть.
Ловите некрофила. Загуглить конечно что в гну тар это есть лет 5 уже очень сложно.
Ну а вот переменной окружения в которой можно было бы задать экзотические параметры по типу xz_opts по-моему нет, так что что-то типа имеет право на жизнь.
Может лучше это закинуть в
/bin, чем строгать сообщение на форум?
Ох, всё ещё проще:
После более года разработки представлен новый стабильный релиз архиватора GNU Tar 1.31. В новом выпуске реализована поддержка алгоритма сжатия данных zstd (Zstandard), который демонстрирует в 3-5 раз более высокую скорость сжатия по сравнению с zlib/Deflate и в два раза более быструю распаковку, при улучшении уровня сжатия на 10-15%. Для использования нового алгоритма при сжатии предложена опция ‘—zstd’. При распаковке применение zstd распознаётся автоматически. Кроме того, Zstd используется при указании для файлов расширений ‘.zst’ и ‘.tzst’.
да, это я чего-то заработался и лоханулся. надо было man tar всего-лишь сделать. жаль что они не сделали какого-нибудь короткого ключа.
у tar есть ключ -a для автоматического распознания по суффиксу
Источник
Arch Linux
You are not logged in.
#1 2020-01-10 20:32:16
[SOLVED] tar.zst unecognized archive format
I encountered the problem of unecognized archives during installation archlinux-2018.05.01-i686.
I have a trouble with some unrecognized tar.zst archives.
I try to install zstd, but it has dependencies packed in tar.zst. And libarchive too.
Some kind of vicious circle turns out.
How can this be solved?
Last edited by vorojan (2020-01-12 13:24:16)
#2 2020-01-10 23:59:16
Re: [SOLVED] tar.zst unecognized archive format
Yes, I think the upstream project has switched to zstd archives over the older xz ones. It seems this also has happened for the latest packages on our repos, and I’m not sure this is intentional.
But still in any cases, I’m surprised you didn’t try with a newer archiso rather than use one that’s getting for two years old at this juncture. I’m not sure it will actually help here yet, but it’s still best practice.
Architecture: pentium4, Testing repos: Yes, Hardware: EeePC 901+2GB RAM+OS half on the SD card.
#3 2020-01-11 07:53:22
Re: [SOLVED] tar.zst unecognized archive format
You have to use a ISO having a recent enough version of libarchive 3.3.3-1. I wouldn’t try
to update an ISO live environment.
#4 2020-01-11 15:14:06
Re: [SOLVED] tar.zst unecognized archive format
Ok, I try to use the newest ISO for this moment: archlinux-2020.01.08-i686
and I have troubles with signatures after
like this:
#5 2020-01-11 15:57:57
Re: [SOLVED] tar.zst unecognized archive format
Maybe some keys are stale on the ISO, try ‘pacman-key —refresh’ on the ‘archiso’ prompt.
#6 2020-01-11 17:02:51
Re: [SOLVED] tar.zst unecognized archive format
The result of refreshing:
But it don’t solve my phoblem
#7 2020-01-11 20:40:21
Re: [SOLVED] tar.zst unecognized archive format
That looks like it’s done what is intended. Does pacstap not work now? Does it fail with a unrecognised archive format, or a bad PGP key?
Architecture: pentium4, Testing repos: Yes, Hardware: EeePC 901+2GB RAM+OS half on the SD card.
#8 2020-01-12 09:27:48
Re: [SOLVED] tar.zst unecognized archive format
So, then the keyring on the new ISO is maybe the problem?
#9 2020-01-12 13:19:48
Re: [SOLVED] tar.zst unecognized archive format
Does it fail with a unrecognised archive format, or a bad PGP key?
pacstrap haven’t work because of bad PGP key
So, then the keyring on the new ISO is maybe the problem?
I don’t know exactly now, i used archlinux-2019.12.02-i686 and the problem went away. Later, I found that the device was set to the wrong time. Perhaps the problem was this.
Last edited by vorojan (2020-01-12 13:23:27)
#10 2020-01-12 17:55:26
Re: [SOLVED] tar.zst unecognized archive format
mmh. time. yes. plays badly when checking for certificates. good catch. 🙂
so a ntpdate would be the thing to do (or set the CMOS time and date correctly).
#11 2020-01-12 19:16:06
Re: [SOLVED] tar.zst unecognized archive format
Thanks a lot for this advice becuse I set time manually.
Источник
Команда tar в Linux
В качестве инструмента для архивации данных в Linux используются разные программы. Например архиватор Zip Linux, приобретший большую популярность из-за совместимости с ОС Windows. Но это не стандартная для системы программа. Поэтому хотелось бы осветить команду tar Linux — встроенный архиватор.
Изначально tar использовалась для архивации данных на ленточных устройствах. Но также она позволяет записывать вывод в файл, и этот способ стал широко применяться в Linux по своему назначению. Здесь будут рассмотрены самые распространенные варианты работы с этой утилитой.
Синтаксис команды tar
Синтаксис команд для создания и распаковки архива практически не отличается (в том числе с утилитами сжатия bzip2 или gzip). Так, чтобы создать новый архив, в терминале используется следующая конструкция:
tar опции архив.tar файлы_для_архивации
Для его распаковки:
tar опции архив.tar
Функции, которые может выполнять команда:
Функция | Длинный формат | Описание |
---|---|---|
-A | —concatenate | Присоединить существующий архив к другому |
-c | —create | Создать новый архив |
-d | —diff —delete | Проверить различие между архивами Удалить из существующего архива файл |
-r | —append | Присоединить файлы к концу архива |
-t | —list | Сформировать список содержимого архива |
-u | —update | Обновить архив более новыми файлами с тем же именем |
-x | —extract | Извлечь файлы из архива |
При определении каждой функции используются параметры, которые регламентируют выполнение конкретных операций с tar-архивом:
Параметр | Длиннный формат | Описание |
---|---|---|
-C dir | —directory=DIR | Сменить директорию перед выполнением операции на dir |
-f file | —file | Вывести результат в файл (или на устройство) file |
-j | —bzip2 | Перенаправить вывод в команду bzip2 |
-p | —same-permissions | Сохранить все права доступа к файлу |
-v | —verbose | Выводить подробную информацию процесса |
—totals | Выводить итоговую информацию завершенного процесса | |
-z | —gzip | Перенаправить вывод в команду gzip |
А дальше рассмотрим примеры того, как может применяться команда tar Linux.
Как пользоваться tar
1. Создание архива tar
С помощью следующей команды создается архив archive.tar с подробным выводом информации, включающий файлы file1, file2 и file3:
tar —totals —create —verbose —file archive.tar file1 file2 file3
Но длинные опции и параметры можно заменить (при возможности) однобуквенными значениями:
tar —totals -cvf archive.tar file1 file2 file3
2. Просмотр содержимого архива
Следующая команда выводит содержимое архива, не распаковывая его:
tar -tf archive.tar
3. Распаковка архива tar Linux
Распаковывает архив test.tar с выводом файлов на экран:
tar -xvf archive.tar
Чтобы сделать это в другой каталог, можно воспользоваться параметром -C:
tar -C «Test» -xvf archive.tar
3. Работа со сжатыми архивами
Следует помнить, что tar только создаёт архив, но не сжимает. Для этого используются упомянутые компрессорные утилиты bzip2 и gzip. Файлы, сжатые с их помощью, имеют соответствующие расширения .tar.bz2 и .tar.gz. Чтобы создать сжатый архив с помощью bzip2, введите:
tar -cjvf archive.tar.bz2 file1 file2 file3
Синтаксис для gzip отличается одной буквой в параметрах, и меняется окончание расширения архива:
tar -czvf archive.tar.gz file1 file2 file3
При распаковке tar-архивов с таким расширением следует указывать соответствующую опцию:
tar -C «Test» -xjvf arhive.tar.bz2
tar -xzvf archive.tar.gz
На заметку: архиватор tar — одна из немногих утилит в GNU/Linux, в которой перед использованием однобуквенных параметров, стоящих вместе, можно не ставить знак дефиса.
Выводы
В этой статье была рассмотрена команда tar Linux, которая используется для архивации файлов и поставляется по умолчанию во всех дистрибутивах. В её возможности входит создание и распаковка архива файлов без их сжатия. Для сжатия утилита применяется в связке с популярными компрессорами bzip2 и gzip.
Источник
Записки IT специалиста
Технический блог специалистов ООО»Интерфейс»
- Главная
- Zstandard — новый, быстрый и эффективный алгоритм сжатия данных
Zstandard — новый, быстрый и эффективный алгоритм сжатия данных
Обрабатываемые объемы данных с каждым годом только растут, выдвигая новые и, зачастую, противоречивые требования к информационным системам. В частности? это касается архивации данных, с одной стороны для эффективного использования устройств хранения требуется высокий коэффициент сжатия, с другой стороны важное значение имеет скорость работы. Ранее существовавшие алгоритмы предлагали что-то одно: либо быструю скорость работы, либо отличное сжатие. Zstandard — новый алгоритм, разработанный с учетом современных требований и сегодня мы посмотрим насколько он эффективен.
Некоторое время назад мы проводили тестирование консольных архиваторов, которое показало что наиболее оптимальным является использование архиваторов на основе алгоритма Deflate, к которым относятся ZIP и gzip. Они обеспечивают высокую скорость архивации при неплохой степени сжатия. Их противоположностью являются использующие алгоритм LZMA продукты, самый известный из которых 7Zip, для них характерна отличная степень сжатия, но за это приходится платить низкой скоростью работы.
Постоянно растущие объемы данных не позволяют рассматривать LZMA, как эффективный алгоритм, делая его нишевым решением, когда на первый план выходит именно степень сжатия, а время создания и распаковки архивов не имеют значения. Поэтому при разработке Zstandard была поставлена цель добиться степени сжатия сравнимой с Deflate при более высокой скорости работы. Разработкой занимается Ян Колле (фр. Yann Collet) при поддержке Facebook и ему удалось достигнуть действительно отличных результатов. При использовании стандартной степени сжатия Zstandard сжимает лучше и быстрее Deflate, а на высоких степенях может тягаться с LZMA, но распаковка таких архивов происходит практически также быстро, как и архивов с низкой степенью компрессии.
Эта особенность обусловила переход на Zstandard для сжатия пакетов ведущими дистрибутивами, такими как Ubuntu, Fedora, Arc. Он применяется для сжатия в файловых системах btrfs и OpenZFS, в СУБД MySQL, PostgreSQL, MongoDB, Tarantool. С полным списком применяющих Zstandard проектов можно ознакомиться здесь: facebook.github.io/zstd. Все это заставляет присмотреться к новому алгоритму достаточно внимательно, поэтому мы провели собственное исследование эффективности Zstandard с которым и хотим вас ознакомить.
Тестирование эффективности Zstandard
На этот раз мы не стали устраивать полноценного тестирования, а использовали одну из реальных задач — архивирование дампа базы PostgreSQL объемом около 11 ГБ, а в качестве конкурентов использовали gzip (Deflate) и 7Zip (LZMA). Тестирование производилось в среде Debian 10 с установками сжатия по умолчанию. Для измерения времени использовалась команда time, результат представляет среднее от пяти запусков.
Результат нас очень сильно удивил: zstd сжал 10,8 ГБ за рекордные 35 секунд, за ним следует gzip с результатом в 2 мин 15 секунд, а замыкает список 7zip, которому потребовалось более получаса.
А как обстоят дела со степенью сжатия? Тоже неплохо: 9% — это немного лучше чем у gzip c его 10,4% и немного хуже 7,9% 7Zip. Но в целом разрыв по степени сжатия не столь велик и отходит на второй план по сравнению с разницей во времени.
Как можем видеть, LZMA вообще нельзя рассматривать как эффективный алгоритм, полчаса работы — это очень много, учитывая то, что сжатие данных требовательная к процессорным ресурсам операция, тем более что аналогичного результата можно достичь всего за 30 секунд! Да и Deflate тоже пора уступать место новому алгоритму, разрыв на фоне LZMA не так заметен, но все-таки в 4 раза, да и сжимает Zstandard лучше. Но у ZIP и gzip есть большое преимущество — распространенность, данные архиваторы поддерживаются в своих ОС «из коробки», что в некоторых случаях может быть важно.
Еще один важный параметр — время распаковки, здесь разница между архиваторами уже не столь велика: 7Zip тратит на извлечение данных чуть больше минуты, gzip и zstd справляются за 30 секунд, разница между ними в погрешности измерений, но мы помним, что zstd сжимает лучше.
А теперь сделаем несложные вычисления и подумаем. Zstandard распаковал и записал на диск 10,8 ГБ за 32 секунды, скорость копирования при этом составила около 360 МБ/с, что составляет практически верхнюю планку для нашего массива RAID 10 на котором расположена данная виртуальная машина. Может ли производительность дисковой подсистемы оказаться узким местом для архиватора? Вполне, причем не только при распаковке, но и при сжатии, так как данные с диска нужно прочитать, а с учетом результатов zstd мы получаем примерно такую же скорость обмена данными, близкую к физическим ограничениям подсистемы. Поэтому мы подключили к виртуальной машине еще один диск, расположенный на производительном NVMe SSD ADATA XPG SX8200 Pro и повторили тесты на нем.
Если классические алгоритмы не получили никакой выгоды от смены носителя, то для Zstandard эффект был получен незамедлительно, время сжатия дампа уменьшилось с 35 до 22 секунд, а это около 37%, что очень и очень неплохо.
С распаковкой картина аналогичная: Deflate и LZMA снова никак не отреагировали на смену носителя, а zstd обновил результаты, распаковав архив за 19 секунд и уверенно обозначил лидерство.
Даже столь небольшое тестирование дает понять, что перед нами очень эффективный алгоритм сжатия нового поколения, а стоящая за его разработкой компания Facebook, как раз работающая с большими объемами данных, обещает хорошие перспективы для дальнейшего развития.
Как начать пользоваться Zstandard
Следующий вопрос, который возникнет у наших читателей, как получить и начать использовать Zstandard? Для пользователей Linux все очень просто, zstd входит в репозитории и установить его можно простой командой (для DEB-based дистрибутивов):
Для получения краткой справки наберите:
а для ознакомления со всеми возможностями программы воспользуйтесь полной справкой:
Сжать файл можно командой:
После чего будет создан архив с именем filename.zst, если требуется указать иное имя файла архива воспользуйтесь дополнительным ключом:
Для распаковки воспользуйтесь:
Для сжатия директорий используйте zstd совместно с tar:
Для распаковки такого архива выполните:
Пользователи Windows тоже могут использовать Zstandard, для этого нужно скачать архив с официальной страницы разработчиков на Github. Из всего содержимого архива вам понадобится один единственный файл — zstd.exe, синтаксис команд и возможности полностью совпадают с Linux-версией.
Помогла статья? Поддержи автора и новые статьи будут выходить чаще:
Или подпишись на наш Телеграм-канал:
Источник