Kub*_*ica 5 tar archiving 7-zip
POSIX tar 存档包含 POSIX 标头作为名为@PaxHeader. 7zip 尽职尽责地提取它们,并且它们都发生冲突,因为它们的名称都相同。然后 7z 抱怨该文件正在使用中,并以错误结束。它确实会提取其他文件,而且扩展标头在 Windows 上毫无用处。
在 Windows 上构建 Qt 时提取 Qt 存档时会出现此问题.tar.xz。这些.tar.xz文件比.zip文件更紧凑,有助于减少 CI 环境中的负载,在 CI 环境中,Qt 可能会经常下载和重建。
有办法解决这个问题吗?
小智 3
与“Git for Windows”一起安装的 tar.exe 可以处理 POSIX tarball。
许多 tar.exe 和其他压缩程序(例如 7-zip)也可以处理 tarball,有时(并非总是)会因包含 Paxheaders 的存档而失败。在大多数程序中,都有一些参数可以在提取 POSIX tarball 时监控错误。可能的错误是缩短的文件名和没有扩展名的文件名(可能更多)。
“Git for Windows”中的 tar.exe 可以“独立”使用,即在 Windows 命令文件中的 git-bash 之外或在提示符下使用。最佳解决方案是使用安装的完整路径:
C:\Program Files\Git\usr\bin\tar.exe -xf archive.tar.gz
Run Code Online (Sandbox Code Playgroud)
git 安装的路径可能会有所不同,具体取决于您的安装。确保使用正确的 tar.exe。
which tar.exe
Run Code Online (Sandbox Code Playgroud)
或者
where tar.exe
Run Code Online (Sandbox Code Playgroud)
可能有助于弄清楚。