Если для тебя такая распаковка — слишком медленно, это баг. Но тормоза связаны с принципом поддержки архивов в mc, шел-скриптами. Уходить от него они не хотят. Наверное, можно какими-то костылями починить, но никто ещё их не сделал.
У меня ark так жи тормозит на рар и зип, а значит всё извлечение в кде тормозит. А ещё оно адово забогованное, это худшая программа в кде, на которую всем почему-то насрать, а ведь ей все пользуются постоянно. Но хотябы p7zip имеет интеграцию в кде, уже что-то. Только у этого проблемы с кодировками извлекаемых файлов, лол. И бэкдоры с arbitrary code execution.
Я вот для теста нагенерил текстовый файл, примерно 1,6 МиБ. Сделал двести копий, и из них создал zip (142 МиБ) и 7zip (3,1 МиБ) архивы, с дефолтными опциями. Свежая копия mc вытащила файлы из zip’а за 12 секунд, а из 7z — за 53 секунды. Где быстрее-то?
Кстати, p7zip тоже на каждый файл запускается. Так что если бы в 7zip я паковал не копии одного и того же файла, а разные данные, распаковка файла из конца архива занимала бы примерно столько же, сколько распаковка всего архива, так как он сплошной.
Ясно. Но не понимаю логики. Почему такой явный косяк не исправят? Или тут дело в невозможности, так как через консольный менеджер такое быстро не реализуешь?
Думаю, это надо у активных разработчиков спросить. Это ведь достаточно большая переделка внутреннего устройства работы с архивами.
Если я правильно понял, сейчас работа с архивами устроена через систему внешних ФС. А они реализуются внешней программой, обычно шел-скриптом или программой на Perl. Если MC хочет вытащить из архива файлы, он вызывает реализацию для каждого файла отдельно. Поэтому там просто нет возможности сохранять внутреннее состояние между копированием отдельных файлов.
Именно .zip? Потому что ЕМНИП контейнер zip как раз позволяет эффективно вытаскивать отдельные файлы, в отличие от, скажем, .tar.gz (или вообще .tar.*)
А вообще mc и без распаковки файлы медленнее копирует, чем cp, так как на каждый файл новый процесс запускается, и еще прогресс-бары бегают постоянно
Госпади на сколько все не идельно. Эхх, а я то думал мс это инструмент отточенный и идеальный. А тут банальная, частая операция как копирование из архива, а так криво реализована.
Deleted ()
Последнее исправление: Deleted
(всего
исправлений: 1)
На самом деле неполная распаковка архивов нужна не всем и не часто. В подавляющем большинстве случаев нужна либо полная распаковка, либо распаковка одного файла в целях предпросмотра.
Насколько я знаю, mc извлекает не весь архив, а каждый файл по отдельности. Возможно вызывает для каждого по отдельной копии unzip. Это какая то «особенность», граничащая с багом. Не искал решения, возможно его просто нет.
Хотя... Вдруг обработка архивов заскриптована в файле расширений? И заменить там unzip на какой нибудь 7z.