7

Я хочу упаковать свое приложение для Linux, я использую zip/tar.gz/7z/rar для сжатия в Windows.

Поскольку я делаю сжатие в Windows, поэтому при извлечении пакета в Linux разрешение на файл сбрасывается.

Проблема в том, что только tar.gz может разрешить мне извлекать исполняемые файлы, другой формат (zip/7z/rar) нет (разрешение файла сброшено до 644).

Поэтому мой вопрос заключается в том, как сжать мои файлы с помощью zip/7z/rar, в то время как сбросьте разрешение на 755.

3 ответа3

3

Zip поддерживает права доступа * nix, но в Windows нет инструмента, который позволял бы устанавливать их произвольно. Можно написать сценарий Python, который может их установить.

0

Вы можете использовать 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
0

Насколько я знаю, zip и rar не хранят разрешения, я думаю, 7z также не делает этого в Windows.

Таким образом, вы не можете "установить" разрешения при сжатии в этих форматах. Я бы предложил использовать архив на основе tar для целей linux. Если вам абсолютно необходим zip или rar, попробуйте использовать скрипт, который вызывает chmod после распаковки.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .