89

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

4

6 回答 6

113

扩展名 .zst 表示存档由 zstd 压缩。

tar 命令有一个选项 -I (--use-compress-program) 来指定压缩/解压缩命令。

您可以按如下方式使用它。

$ tar --use-compress-program=unzstd -xvf archive.tar.zst
于 2017-08-16T02:23:17.137 回答
67

在终端中解压。

unzstd yourfilename.zst

我知道可用的资源不多,但我在这里找到了这个:http: //manpages.org/zstd

于 2019-03-19T02:36:39.247 回答
17

如果您有标准的 cmake + gcc 构建堆栈:

git clone https://github.com/facebook/zstd.git
cd zstd/build/cmake
cmake .
make
./programs/zstd -d /path/to/file.zst
于 2019-12-09T17:51:36.353 回答
9

在 macOS Mojave 10.14.3 上,我无法使用 -I 标志指定压缩算法。这样做对我有用;

如果您尚未安装 zstd,请使用 brew 安装它。

  1. 从 .zst:unzstd filename.tar.zstzstd -d filename.tar.zst. filename.tar将被创建。
  2. 列出压缩档案:tar tf filename.tar.
  3. 提取压缩档案:tar xf filename.tar.

希望这可以帮助。

于 2020-05-14T15:12:26.807 回答
0

我在Anaconda下载中找到了其中一些文件。安装 Anaconda 后,我正在下载其他软件包。我的 Anaconda 下载目录中下载的包是 zip 文件(没有 .zip 扩展名),但它们.tar.zst里面有这些文件。这导致我堆栈溢出以弄清楚它们是什么,这导致我提出了这个问题。如果你在同一条船上,那么 Anaconda 也会提供答案。

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

于 2020-05-15T01:26:26.720 回答
-4

下载Python 库,然后您可以使用 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)
于 2019-03-09T07:17:00.837 回答