tar lzma 自动压缩会产生错误“这看起来不像 tar 存档”

tar lzma 自动压缩会产生错误“这看起来不像 tar 存档”

以下脚本

mkdir test && cd test
mkdir files
touch files/{1,2,3}
tar --create --file "test.lzma" files/{1,2,3} --auto-compress
mkdir extracted_files
tar --extract --file "test.lzma" --directory extracted_files --auto-compress

产生以下错误:

tar:这看起来不像 tar 存档

但实际上 tar+compress 和 uncompress+untar 确实发生了(文件就位)。为什么会发生这种情况?这是某种错误吗tar

在我的系统上:

xz --version
 xz (XZ Utils) 5.2.7
 liblzma 5.2.7
tar --version
 tar (GNU tar) 1.34
file test/test.lzma
 test/test.lzma: LZMA compressed data, streamed
ls test/extracted_files/
 files

您也可以将其复制到https://replit.com/languages/bash(与xz (XZ Utils) 5.2.2tar (GNU tar) 1.34)。但不是在https://www.onlinegdb.com/online_bash_shell(与xz (XZ Utils) 5.2.4tar (GNU tar) 1.30)。

答案1

固定在上游。查看https://savannah.gnu.org/bugs/index.php?63250

@谢尔盖·波兹尼亚科夫<灰色>:

“这看起来不像 tar 存档”不是错误,而是警告。特别是当 tar 无法通过签名确定文件格式并且文件大小小于 tar 块大小时,会产生此错误。当签名识别失败时,tar会尝试通过后缀来确定文件格式。在这种情况下,它成功并提取了文件。

我已安装以下修复程序来识别 xz 生成的 LZMA 文件:

http://git.savannah.gnu.org/cgit/tar.git/commit/?id=02f9af1b8df67e55ceb19ea1465d210a2fa1f02c

PS:解压时不需要--auto-compress选项。

相关内容