zip/7z/rar 中的文件权限?

zip/7z/rar 中的文件权限?

我想为 Linux 打包我的应用程序,我使用 zip/tar.gz/7z/rar 在 Windows 中进行压缩。

因为我在Windows中进行压缩,所以当我在Linux中解压包时,文件权限被重置。

问题是只有 tar.gz 可以让我提取可运行的文件,其他格式(zip/7z/rar)则不行(文件权限重置为 644)。

所以我的问题是如何使用 zip/7z/rar 压缩我的文件,同时将权限重置为 755。

答案1

据我所知,zip 和 rar 不存储权限,我猜 7z 在 Windows 上也不会这样做。

因此,在压缩这些格式时,您实际上无法“设置”权限。我建议对 Linux 目标使用基于存档。如果您确实需要 zip 或 rar,请考虑使用解压后tar调用的脚本。chmod

答案2

Zip 支持 *nix 权限,但 Windows 下没有工具可以让你随意设置权限。编写 Python 脚本可以设置它们。

答案3

您可以使用docker来压缩文件,包括windows上的权限

docker run -it --rm  -v  c:/Users/john/some/where:/data alpine
# within container do
apk add zip && cd /data &&  zip -r archive.zip dir-to-be-zipped

相关内容