我正在分发ZIP格式的打包文件。 我使用以下来创build:
zip -r distr.zip文件/
在其他UNIX系统文件上展开时,保留其打包时的权限。 我愿意避免存储权限信息。
我的问题是:是否有可能这样做? 我正在使用info-zip 3.0
问题是,在我的系统上我使用umask 0002和文件是可写的组。 但是,当在其他系统上进行扩展时,组写入权限是不希望的。 我可以删除组写入权限,但它不会在我的系统上工作。
解压缩时我无法find合适的选项来控制权限
然而,使用焦油,有选项– 没有相同的权限 ,这可能会有所帮助,手册页说:
--no-same-permissions apply the user's umask when extracting permissions from the archive
这对你有诀窍吗?
另外,如果你想使用一个zip文件,你可能想尝试使用不同的程序来创build它。 例如,Apache Ant可以完全控制它的zip文件和目录的权限 – http://ant.apache.org/manual/Types/zipfileset.html有详细信息。 例如,您可以执行如下操作:
<zip destfile="dist.zip"> <zipfileset dir="dist" filemode="664" dirmode="755" /> </zip>