LINUX.ORG.RU

Ответ на: комментарий от infomeh

Захожу по энтеру в архив, выделяю файлы и копирую в папку вне архива.

С 7зип в мс все ок. DoubleCommander все отлично копирует.

Deleted
()
Последнее исправление: Deleted (всего исправлений: 1)
Ответ на: комментарий от Deleted

Если для тебя такая распаковка — слишком медленно, это баг. Но тормоза связаны с принципом поддержки архивов в mc, шел-скриптами. Уходить от него они не хотят. Наверное, можно какими-то костылями починить, но никто ещё их не сделал.

i-rinat ★★★★★
()
Ответ на: комментарий от greenman

https://midnight-commander.org/ticket/3

https://ru.stackoverflow.com/questions/697162/unzip-из-под-midnight-commander-работает-медленно-Как-ускорить

Параметр в ini файле mc поставь true, будет чуток быстрей. По умолчанию:

preallocate_space=false
greenman ★★★★★
()
Последнее исправление: greenman (всего исправлений: 1)

У меня ark так жи тормозит на рар и зип, а значит всё извлечение в кде тормозит. А ещё оно адово забогованное, это худшая программа в кде, на которую всем почему-то насрать, а ведь ей все пользуются постоянно. Но хотябы p7zip имеет интеграцию в кде, уже что-то. Только у этого проблемы с кодировками извлекаемых файлов, лол. И бэкдоры с arbitrary code execution.

anonymous
()
Ответ на: комментарий от Deleted

А почему 7зип быстро?

А почему ты решил, что 7zip — быстро?

Я вот для теста нагенерил текстовый файл, примерно 1,6 МиБ. Сделал двести копий, и из них создал zip (142 МиБ) и 7zip (3,1 МиБ) архивы, с дефолтными опциями. Свежая копия mc вытащила файлы из zip’а за 12 секунд, а из 7z — за 53 секунды. Где быстрее-то?

Кстати, p7zip тоже на каждый файл запускается. Так что если бы в 7zip я паковал не копии одного и того же файла, а разные данные, распаковка файла из конца архива занимала бы примерно столько же, сколько распаковка всего архива, так как он сплошной.

i-rinat ★★★★★
()

захожу по энтеру в архив

Так можно систему в неловкую позицию поставить большим архивом. Для таких задач есть же user menu, допиши туда команды для zip.

bread
()
Ответ на: комментарий от i-rinat

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

Deleted
()
Ответ на: комментарий от Deleted

Думаю, это надо у активных разработчиков спросить. Это ведь достаточно большая переделка внутреннего устройства работы с архивами.

Если я правильно понял, сейчас работа с архивами устроена через систему внешних ФС. А они реализуются внешней программой, обычно шел-скриптом или программой на Perl. Если MC хочет вытащить из архива файлы, он вызывает реализацию для каждого файла отдельно. Поэтому там просто нет возможности сохранять внутреннее состояние между копированием отдельных файлов.

Собираешься чинить?

i-rinat ★★★★★
()
Ответ на: комментарий от i-rinat

Собираешься чинить?

Нет конечно) Не кодер) Сложно) Просто интересно.

зы А в других консольных файлменеджерах типа Рейнджера это как реализовано? Или там такой же косяк?

Deleted
()
Последнее исправление: Deleted (всего исправлений: 1)
Ответ на: комментарий от Deleted

А в других консольных файлменеджерах типа Рейнджера это как реализовано?

Тебе придётся разбираться в этом самостоятельно.

i-rinat ★★★★★
()
Ответ на: комментарий от Deleted

Но медленно

Именно .zip? Потому что ЕМНИП контейнер zip как раз позволяет эффективно вытаскивать отдельные файлы, в отличие от, скажем, .tar.gz (или вообще .tar.*)

А вообще mc и без распаковки файлы медленнее копирует, чем cp, так как на каждый файл новый процесс запускается, и еще прогресс-бары бегают постоянно

annulen ★★★★★
()
Ответ на: комментарий от annulen

Госпади на сколько все не идельно. Эхх, а я то думал мс это инструмент отточенный и идеальный. А тут банальная, частая операция как копирование из архива, а так криво реализована.

Deleted
()
Последнее исправление: Deleted (всего исправлений: 1)
Ответ на: комментарий от Deleted

На самом деле неполная распаковка архивов нужна не всем и не часто. В подавляющем большинстве случаев нужна либо полная распаковка, либо распаковка одного файла в целях предпросмотра.

annulen ★★★★★
()
Ответ на: комментарий от annulen

Хорошо, что есть адекватный DoubleCommander в нем все хорошо работает

Deleted
()

Насколько я знаю, mc извлекает не весь архив, а каждый файл по отдельности. Возможно вызывает для каждого по отдельной копии unzip. Это какая то «особенность», граничащая с багом. Не искал решения, возможно его просто нет.

Хотя... Вдруг обработка архивов заскриптована в файле расширений? И заменить там unzip на какой нибудь 7z.

kirill_rrr ★★★★★
()
Последнее исправление: kirill_rrr (всего исправлений: 1)
Ответ на: комментарий от i-rinat

А почему 7зип быстро?

Кажется для 7zip при чтении всё распаковывается в /tmp, а потом оттуда копируется. Для .tar.* однозначно именно такое поведение.

kirill_rrr ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.