![Linux shell:将 bz2 档案重新打包到 xz 中](https://linux22.com/image/1286215/Linux%20shell%EF%BC%9A%E5%B0%86%20bz2%20%E6%A1%A3%E6%A1%88%E9%87%8D%E6%96%B0%E6%89%93%E5%8C%85%E5%88%B0%20xz%20%E4%B8%AD.png)
如果我想保存文件的日期戳及其 chmod-chown 设置,如何将 .bz2 档案重新打包为 .xz 格式?
我可以使用任何标准工具和 xz、lzma、p7zip
答案1
你需要把它分成两部分
1)从bz2转换为xz,billc.cn回答过
2) 修复 xz 文件的所有权、权限和时间戳以匹配 bz2。
chown "`stat --printf '%u:%g' file.bz2`" file.xz
chmod "`stat -c '%a' file.bz2`" file.xz
touch -a -d "`stat -c '%x' file.bz2`" file.xz
touch -m -d "`stat -c '%y' file.bz2`" file.xz
答案2
您可以简单地使用bzcat
来删除 bzip2 压缩但保留 tar 格式,然后将结果导入xz
:
bzcat file.tar.bz | xz > file.tar.xz
您可以像平常一样添加压缩选项xz
,但只需省略文件名,以便使用标准输入。