
Я использую 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
. Если вы восстановите без этой опции, по умолчанию будет выполнено восстановление без абсолютного пути.