Как мне распаковать архив с файлом tar.zst?

Я не знаю, как мне распаковать файл с расширением tar.zst, и хотя я искал решения в Интернете, у меня не оказалось ничего полезного в этом вопросе.

1 ответ

Решение

Расширение.zst означает, что архив сжат zstd.

Команда tar имеет опцию -I (--use-compress-program), чтобы указать команду для сжатия / распаковки.

Вы можете использовать его следующим образом.

$ tar -I zstd -xvf archive.tar.zst

Распакуйте его в Терминале.

unzstd yourfilename.zst

Я знаю, что не так много доступных ресурсов, но я нашел это здесь: http://manpages.org/zstd

Если у вас стандартный стек сборки cmake + gcc:

git clone https://github.com/facebook/zstd.git
cd zstd/build/cmake
cmake .
make
./programs/zstd -d /path/to/file.zst

В macOS Mojave 10.14.3 мне не удалось указать алгоритм сжатия с помощью флага -I. Это сработало для меня;

Установите zstd с помощью brew, если он еще не установлен.

  1. Распаковать из.zst: unzstd filename.tar.zst или zstd -d filename.tar.zst. filename.tar будет создан.
  2. Список сжатых архивов: tar tf filename.tar.
  3. Распакуйте сжатый архив: tar xf filename.tar.

Надеюсь это поможет.

Скачать библиотеку

https://pypi.org/project/zstandard/

питон

 import zstandard as zstd
 ...
 ...
 ...
 ...
 elif filename_extension == ".zst":
     dctx = zstd.ZstdDecompressor()
     with open(submission_path_read, 'rb') as ifh, open(submission_path_save, 'wb') as ofh:
        dctx.copy_stream(ifh, ofh, write_size=65536)

Я нашел некоторые из этих файлов в загрузках Anaconda. После установки Anaconda я загружал дополнительные пакеты. Загруженные пакеты в моем каталоге загрузок Anaconda были zip-файлами (без расширения.zip), но у них были эти.tar.zstфайлы внутри них. Это привело меня кпереполнению стека, чтобы выяснить, что это такое, что привело меня к этому вопросу. Если вы находитесь в одной лодке, то Anaconda также дает ответ.

Получается, что zstd а также unzstd исполняемые файлы также устанавливаются установщиком Anaconda, поэтому они должны быть доступны в командной строке, если вы находитесь в среде Anaconda.

Другие вопросы по тегам