p7zip завис при архивировании (ВНИМАНИЕ: такого файла или каталога нет)

p7zip завис при архивировании (ВНИМАНИЕ: такого файла или каталога нет)

В общем, я обнаружил, чтоp7zipСначала сканирует каталог, который необходимо сжать, а затем сжимает эти файлы в единый формат zip.

Рассмотрим следующий сценарий: у меня есть сотни ГБ файлов и папок, которые сначала сканируются для архивирования. Предположим, я удалил файл после того, как он закончил сканирование. Я не знаю, как файл может отсутствовать к моменту завершения сканирования, но такое поведение было замечено в рабочей среде, поэтому на моей локальной машине я сам удалил его. В этом случае он выдает следующую ошибку и зависает на неопределенное время.

7-Zip (a) [64] 16.02 : Copyright (c) 1999-2016 Igor Pavlov : 2016-05-21                                                                                       
p7zip Version 16.02 (locale=en_US.UTF-8,Utf16=on,HugeFiles=on,64 bits,6 CPUs Intel(R) Core(TM) i5-9500T CPU @ 2.20GHz (906EA),ASM,AES-NI)                     
                                                                                                                                                              
Scanning the drive:                                                                                                                                           
29741 folders, 48865 files, 5035919485 bytes (4803 MiB)                                                                                                       
                                                                                                                                                              
Creating archive: /home/mymachine/Downloads.zip                                                                                                               
                                                                                                                                                              
Items to compress: 78606                                                                                                                                      
                                                                                                                                                              
                                                                                                                                                              
WARNING: No such file or directory                                                                                                                            
/var/webarch/data/fs-root/538/2022/05/20/19964 

Итак, есть ли какой-либо флаг в p7zip или хак, который можно использовать, чтобы игнорировать эти предупреждения и продолжать архивирование? Например, мы можем игнорировать несколько из тех файлов, которые отсутствуют после сканирования, вместо того, чтобы выдавать ошибку тайм-аута в производстве.

решение1

Это было упомянуто в отчете об ошибке #2099 7z зависает, если файл удаляется при создании zip-архива с 2017 года.

Разработчик обещал исправить, но не сделал этого.

Он предложил обходной путь, который заключается в добавлении переключателя -mmt1, который устанавливает количество потоков равным одному (1). По-видимому, зависание вызвано многопотоковым конфликтом, когда файл не найден одним из потоков, и его можно избежать, имея только один поток.

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