我正在尝试解压缩以前用zstd压缩的folder.tar.gz,所以我做到了:
unzstd folder.tar.gz.zst现在,如果我试图通过以下方法来解压缩:
tar -xvf folder.tar.gz它将解压两个大文件中的一些文件夹连接在一起。
显然,被压缩的路径是:/opt/local/data/file1.log和file2.log。
解压缩后,我得到data文件夹的大小为"file1和file2.log“。
发布于 2022-11-21 14:06:36
该文件是(按顺序读取扩展名)是使用gzip压缩的D1文件,其本身由zstd压缩。例如:双压缩:gzip inside zstd。
这不是一般的做法,也许你改变了你自己的扩展,或者创建者犯了一个错误?
zstd压缩的tar文件的适当扩展名是.tzst.
我建议使用file命令检查该文件
当tar -xvf folder.tzst实际上是一个"zstd压缩的tar文件“而只是有错误的扩展名时,您也应该能够执行它,只需重命名该文件.
发布于 2022-11-21 14:35:24
tar.gz.zstd建议您使用gz压缩tar存档,使用zstd再次压缩结果。
要确认,可以使用file:
$ file file.tar.gz.zstd
file.tar.gz.zstd: Zstandard compressed data (v0.8+), Dictionary ID: None
$ unzstd < file.tar.gz.zstd | file -
/dev/stdin: gzip compressed data, from Unix
$ unzstd < file.tar.gz.zstd | gunzip | file -
/dev/stdin: POSIX tar archive (GNU)要列出tar存档的内容,可以使用libarchive的bsdtar,它应该能够动态检测双压缩和解压缩:
bsdtar tvf file.tar.gz.zstd或者在其他tar实现中,手工执行:
unzstd < file.tar.gz.zstd | gunzip | tar tvf -要提取,这是相同的,您只需将t替换为x。
如果要删除冗余压缩,可以执行以下操作:
unzstd file.tar.gz.zstd然后得到一个file.tar.gz,或者做:
unzstd < file.tar.gz.zstd | gunzip | zstd > file.tar.zstd得到一个file.tar.zstd。
https://unix.stackexchange.com/questions/722297
复制相似问题