我正在以 ZIP 格式分发打包文件。我使用以下内容来创建:
zip -r 分发版.zip 文件/
在其他 UNIX 系统上扩展时,文件保留我打包时它们的权限。我愿意避免存储权限信息。
我的问题是:可以这样做吗?我正在使用 info-zip 3.0
问题是,在我的系统上,我使用 umask 0002,文件对组来说是可写的。但是,在其他系统上扩展时,不需要组写入权限。我可以删除组写入权限,但这在我的系统上不起作用。
答案1
我找不到合适的选项来控制解压时的权限
但是使用 tar 时,有一个选项--无相同权限这可能会有所帮助,手册页说:
--no-same-permissions
apply the user's umask when extracting permissions from the archive
这对你有用吗?
或者,如果您想使用 zip 文件,您可能需要尝试使用其他程序创建它。例如,Apache Ant 让您完全控制它压缩的文件和目录的权限 -http://ant.apache.org/manual/Types/zipfileset.html有详细信息。例如,您可以执行以下操作:
<zip destfile="dist.zip">
<zipfileset dir="dist" filemode="664" dirmode="755" />
</zip>