Как запретить zip удалять начальный слеш при создании zip-файла?

Как запретить zip удалять начальный слеш при создании zip-файла?

Я использую zip в Ubuntu 20.04 для создания резервных копий файлов, которые затем отправляю на устройство резервного копирования.

Я использую следующую команду zip: zip -r /tmp/stuff.zip /home/someone/stuff

для создания резервной копии каталога "stuff". Когда я смотрю на содержимое сгенерированного zip-файла, то вижу, что начальный слеш был удален из всех членов zip-файла. После прочтения страницы руководства для zip я попытался использовать опцию "--absolute-path", но получил сообщение об ошибке, сообщающее, что эта опция не поддерживается.

Как запретить ZIP удалять начальный слеш?

решение1

Как запретить ZIP удалять начальный слеш?

Вы не можете, и для этого есть веские причины. Одна из них — необходимость всегда проверять содержимое перед извлечением, поскольку вы никогда не узнаете заранее, есть ли у него ведущий /.

Это жестко закодировано во всех подобных инструментах. Если вы хотите этого, вам нужно будет удалить эту функцию из исходного кода "zip" и перекомпилировать его.

И есть простой способ сделать то, что вы хотите:

Извлеките zip-архив на любой системе, выполнив следующие действия:

cd /

и затем выполните команду извлечения.

Помните, что tarу вас все еще есть опция для этого -Pили --absolute-names. Если вы восстановите без этой опции, по умолчанию будет выполнено восстановление без абсолютного пути.

Связанный контент