如何解压缩具有 .zst 或 tar.zst 的存档文件?

How can I decompress an archive file having .zst or tar.zst?

我不知道如何解压缩具有 .zst 或 tar.zst 扩展名的文件。 完整文件名:- file.pkg.tar.zst 或 file.xz.tar.zst

扩展名.zst 表示压缩文件是zstd 压缩的。

tar 命令有一个选项 -I (--use-compress-program) 来指定 compression/decompression 的命令。

您可以按如下方式使用。

$ tar --use-compress-program=unzstd -xvf archive.tar.zst

下载 Python library 然后你可以像下面这样使用 Python:

import zstandard as zstd
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)

在终端解压。

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.zstzstd -d filename.tar.zstfilename.tar 将被创建。
  2. 列出压缩档案:tar tf filename.tar.
  3. 解压压缩包:tar xf filename.tar.

希望对您有所帮助。

我在 Anaconda 下载中找到了其中一些文件。安装 Anaconda 后,我正在下载其他软件包。我的 Anaconda 下载目录中下载的包是 zip 文件(没有 .zip 扩展名),但它们里面有这些 .tar.zst 个文件。这让我用 stackoverflow 来弄清楚它们是什么,这让我想到了这个问题。如果您有同感,那么 Anaconda 也能提供答案。

事实证明,zstdunzstd 可执行文件也由 Anaconda 安装程序安装,因此如果您在 Anaconda 环境中,它们应该可以在命令行中使用。