I want to package my application for linux, I use zip/tar.gz/7z/rar to do the compress in Windows.

Because I do the compress in Windows, so when I extract the package in Linux, the file permission is reset.

The problem is Only the tar.gz can let me extract runable files, other format (zip/7z/rar) not (the file permission is reset to 644).

So my question is how to compress my files using zip/7z/rar while reset the permission to 755.


Zip does support *nix permissions, but there is no tool under Windows that lets you set them arbitrarily. It is possible to write a Python script that can set them though.


You could use docker to zip files including permissions on 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