Ru-Board.club
← Вернуться в раздел «Программы»

» FreeArc: бесплатный open-source архиватор

Автор: egor23
Дата сообщения: 17.06.2008 23:32
Bulat_Ziganshin

Цитата:
а сейчас виснет и arc и WinArc

http://forall.ru-board.com/egor23/ppmd2000.arc

ARC.EXE a ppmd2000.arc -mdelta arc.ini
ARC.EXE a ppmd2000.arc -mppmd arc.ini
ARC.EXE a ppmd2000.arc -m4 arc.ini
Автор: Joky13
Дата сообщения: 18.06.2008 10:26
Что-то никак не могу побороть проблему с русскими буквами, вылазит в том или ином месте. В GUI 0.50 в индикаторе русские названия папок показываются крокозябрами.


Установил версию 0.40, попытался подключить к менеджерам.
К Far'y поцепилась без проблем, а вот с Тоталом не могу подружить.

TotalCommander 7.02a
Во первых, в соответствии с описанием - "нажать Alt-F5, «Настройка», «Импорт addon-а»" - нету "Импорта..."

arc.exe, unarc.exe в пути
Как написано в freearc.addon - копирую его содержимое в multiarc.ini Total'a, прописывая правильный путь к arc.exe (положил в "Program files\FreeArc").
Архивирую D:\Документы\!\List, там лежат файлики с русскими буквами и пробелами в имени.
Архив создается нормально, Total заходит в него, но файлы с пробелами в русском имени не открывает. Причина - "Файл не найден".

В лог пишет так:

Код: C:\DOCUME~1\men\LOCALS~1\Temp\5>arc x -y --noarcext --logfile=d:\arc_log.txt -scANSI -- D:\>:C<5=BK\!\List.arc @C:\DOCUME~1\men\LOCALS~1\Temp\$mltwcx\lst86.tmp
ARC 0.40 Extracting archive: D:\„®Єг¬Ґ-вл\!\List.arc
Extracted 0 files, 0 => 0 bytes. Ratio 0.0%
Extraction time 0.00 secs. Total 0.00 secs
All OK
Автор: Registered User
Дата сообщения: 18.06.2008 10:34

Цитата:
-scANSI

Должно быть -sclANSI
Автор: Bulat_Ziganshin
Дата сообщения: 18.06.2008 10:39
прогнал свои тесты на fa и близких архиваторах. вот результаты:

Код: ARC 0.40
-m2 4.980 2.409 3.728
-m3 5.688 846 1.904
-m4 6.084 497 1.801
-m5 6.216 408 1.625
-m6 6.237 395 1.548
ARC 0.50 -ma-
-m2 4.980 2.419 3.730
-m3 5.671 1.105 2.801
-m4 6.048 560 1.809
-m5 6.217 402 1.623
-m6 6.238 391 1.545
ARC 0.50
-m2 4.973 2.274 3.353
-m3 5.690 1.098 2.599
-m4 6.072 562 1.602
-m5 6.238 399 1.423
-m6 6.266 387 1.332
ARC externals
-mccm 6.430 258
UHARC 0.6 -md32768
-mx 6.198 188
Автор: Joky13
Дата сообщения: 18.06.2008 11:35

Цитата:
Должно быть -sclANSI


Я знаю, что в freearc.addon так, и в начале у меня так и было. Но потом, ковыряясь и изучая опции я увидел только опцию " -scCHARSETS --charset=CHARSETS".
Насколько я знаю, нет такого чарсета "lANSI" , поэтому попробовал исправить на scANSI. По любому, это не сильно повлияло на результат.


Цитата:
версия multiarc - 1.3.0.4


У меня "29/07/2007 ver 1.4.1.7" однако сборка от SamLab, в которой многие клавиши переназначены, поэтому подозреваю, что по нажатию Alt-F5 получаю совсем не то, что у вас. Как то через меню это можно найти?

Кстати, замечу, что в Far'e тот же архив открывается без проблем, все файлы. В Totale'e русские без пробелов тоже нормально.

Добавлено:
Небольшой investigate показал, что окно настройки MultiArc'a вызывается по кнопке Настройка только если в выше стоящем выпадающем списке выбрано расширение, которое обрабатывается MultiArc'om (например cab или uha). У меня же там стоял 7z, соответственно, вызывалось его окно настройки.
Так что не очевидный способ вызова его настроек

В доке на него написан еще один способ - в каталоге MultiArc запустить команду
"rundll32 multiarc.wcx,Settings"
Автор: Bulat_Ziganshin
Дата сообщения: 18.06.2008 13:29

Цитата:
Но потом, ковыряясь и изучая опции я увидел только опцию " -scCHARSETS --charset=CHARSETS".

доку читай. там спецраздел даже есть. CHARSETS - это не charset, у этого понятия свой сложный синтаксис

Добавлено:

Цитата:
Небольшой investigate показал, что окно настройки MultiArc'a вызывается по кнопке Настройка только если в выше стоящем выпадающем списке выбрано расширение, которое обрабатывается MultiArc'om (например cab или uha). У меня же там стоял 7z, соответственно, вызывалось его окно настройки.
Так что не очевидный способ вызова его настроек

спасибо, поправлю доку


Цитата:
В доке на него написан еще один способ - в каталоге MultiArc запустить команду
"rundll32 multiarc.wcx,Settings"

это не проще чем текстовый файл отредактировать задача была - упростить настройку, особенно для низкоквал. юзеров. в идеале надо просто добавить эту функцию в сам инсталятор - кстати, может кто напишет соответствующий кусочек nsis скрипта?

Добавлено:
обновил http://www.haskell.org/bz/arc1.arc - теперь вручную вставленные в цепочку tempfile используются только при упаковке
Автор: Gideon Vi
Дата сообщения: 18.06.2008 14:10

Цитата:
1. вывод на экран с -di -di+$%

_http://shup.com/Shup/46326/12345.rar

Цитата:
2. файлы залей куда-нить

К сожалению, у меня сейчас нет возможности заливать файлы такого объёма. Вы можете скачать пакет драйверов для видеокарт nvidia (я тестировал на 175.80_forceware_winxp_32bit_international.exe). Распаковываете экзешник, затем в папку с файлами кладёте _http://shup.com/Shup/46327/expand.rar и запускаете батник. После распаковки попробуйте сжать папку с пресетом m4. Сожалею, что не могу предоставить проблемный файл, так как его нет... Если сжимать файлы по отдельности, то проблем нет. Проблема возникает, если сжимать всё вместе и именно на этом пресете

Цитата:
ок, сделаю

спасибо
Автор: egor23
Дата сообщения: 18.06.2008 16:27
Gideon Vi

Цитата:
К сожалению, у меня сейчас нет возможности заливать файлы такого объёма. Вы можете скачать пакет драйверов для видеокарт nvidia (я тестировал на 175.80_forceware_winxp_32bit_international.exe).

А линк хотя бы?
Автор: Registered User
Дата сообщения: 18.06.2008 18:04

Цитата:
прогнал свои тесты на fa и близких архиваторах. вот результаты:

Скорость считается из времени процесса или из полного времени?
Автор: Bulat_Ziganshin
Дата сообщения: 18.06.2008 18:37

Цитата:
добавление в архив\обновление архива нехватает проверки до сжатия может ли он архив обновить.
а сейчас виснет и arc и WinArc

в принципе это вопроос можно решить добавлением tempfile в началао цепочки упаковки. соображаю как это делать автоматически


Цитата:
Верно. Только массовый юзер этого не знает Поэтому для него "чем выше в тесте, тем лучше". Даже если все эти методы в сумме дадут дополнительно 5 мегов выигрыша, FreeARC уже войдет в десятку. С точки зрения массового юзера это смотрится более чем внушительно.

да, это понятно. но на реализацию этого тоже нужно время. сейчас в плане рекордов fa вполне уже распиарен, нужно работать над надёжностью, gui, доп. фичами


Цитата:
Опять же вроде бы все верно. Но недаром я привел в пример 7zip - он пошел иным путем, зато на сегодня куча оболочек разной степени популярности и продвинутости его поддерживают. И платные, и бесплатные. И это при том, что его собственная оболочка довольно примитивна.

во-первых, сколько этого ждать? во-вторых, хотелось юбы чтобы эта плпулярность была заметна на сайте самого freearc, а не оболочек для него

основных вариантов для этого 3 - улучшать нынешний winarc, делать новый на базе виндовых технологий на c++ или c#, или договариваться со скинером и включать его в проект freearc. пока я не знаю какой вариант более реален
Автор: Registered User
Дата сообщения: 18.06.2008 18:41

Цитата:
прогнал свои тесты на fa и близких архиваторах. вот результаты:

Скорость считается из времени процесса или из полного времени?
Автор: Bulat_Ziganshin
Дата сообщения: 18.06.2008 18:42

Цитата:
Скорость считается из времени процесса или из полного времени?

полного. правда, файлы перед сжатием кэшируются
Автор: egor23
Дата сообщения: 18.06.2008 18:53
Bulat_Ziganshin

Цитата:
175.80_forceware_winxp_32bit_international.exe

Всё что смог найти (немного не тот, но с ним тоже вылетает)
http://www.2manydownloads.com/index.php?option=com_redirect&URL=http://www.tcmirror4.com/tcdownloads/nvidia/GeForce_175.80_beta_WinXP_32bit.zip
вылетает FreeArc (минимальный комплект не получилось сделать)

WinArc - фоном - не изменяется приоритет процесса, как был нормальный так и остаётся нормальный.

Добавлено:

Цитата:
вылетает FreeArc (минимальный комплект не получилось сделать)

ARC.EXE a a -di -di+$% -m4
вылетает на данных размер которых больше определённого значения
взял http://imgcdn.pandora.tv/pan_img/KMP/Download/beta/kmp_1431.exe 14МБ
распаковал сделал ещё две копии папки (три папки размером 132МБ)

Инструкция по адресу "0x00565151" обратилась к памяти по адресу "0x7eeeffff". Память не может быть "read".

Добавлено:
последний
FreeArc 0.50 alpha (June 18 2008) http://freearc.org June 18 2008
тоже вылетает (только дольше работает)

Инструкция по адресу "0x005651b1" обратилась к памяти по адресу "0x7eeefff9". Память не может быть "read".

Автор: Benchmark
Дата сообщения: 18.06.2008 19:51
Bulat_Ziganshin
Из замеченных косяков в GUI.

Если распаковка идет в каталог с юникодом в имени, то при выборе этого каталога портит целевой путь. Выглядит это так:





Понятно, что при распаковке будет создан новый каталог с кривым именем, куда архив и распакуется. Если же вручную вернуть на место "испорченный" символ, то все распакуется как надо и куда надо.

Кстати, хотелось бы, чтобы файлы и папки внутри архива можно было еще выделять или insert'ом, или пробелом, т.е. без участия мыши.

Автор: Ghost2004
Дата сообщения: 19.06.2008 03:21
Запустил новую версию со своим стандартным набором rep:1400mb:h27+tempfile+rep:1400mb:h27+lzma:216mb:max .

Во-первых, старый архив сжатый таким образом работал точно так же, как и в прошлых версиях. Так что пришлось создавать новый - там всё стало лучше. С ключём -ld2gb распаковка таки пошла по идеальному сценарию: lzma+rep->tempfile->rep->{compressed files}, т.е. создавался лишь один tempfile . В результате total time получилось 789 секунд (extraction time - всегда выходило примерно 400 секунд). Но без такого ключа всё же одна странность вылезла - а именно создалось аж два лишних tempfile'а, так что время распаковки выросоло до 1377 секунд, почти вдвое. Потому как прошло всё таким образом: lzma->tempfile->rep->tempfile->rep->tempfile->{compressed data}. Так что подозреваю, что основные тормоза возникли на последнем tempfile - не ясно, зачем он вообще создавался... Его как-нибудь убрать можно? А в принципе, чем ограничивается lc и ld, если объём памяти 3 Гб? Потому как это явно не 3/4 от всего... В принципе, тут возможным вариантом было бы ставить ограничение по умолчанию в виде максимального непрерывного блока, если 3/4 от всей памяти больше него... Хотя конечно не всегда - просто для вариантов сжатия rep+lzma скорее всего именно в это и упрётся - если не выделять память с оглядкой на последующие алгоритмы совсем хитрым методом (скажем, в данном случае - задом наперёд - сначала для rep, потом для lzma (хотя в распаковке-то пойдёт сначала lzma, а уж потом - rep)).

В общем, если не делать хитрых оптимизаций, то лучше в ld ставить по умолчанию минимум из 3/4 total ram и max solid block (либо, как более сложный вариант, пытаться выделить память для цепочки алгоритмов, пока выделение работает и памяти хватает, а как только не хватит, вставлять tempfile). Только надо учитывать, что total ram бывает больше 2 Гб - до 4 Гб (по-моему у меня из-за этого лишние tempfile'ы образуются).
Автор: Dementei
Дата сообщения: 19.06.2008 12:21
Bulat_Ziganshin

Цитата:
основных вариантов для этого 3 - улучшать нынешний winarc, делать новый на базе виндовых технологий на c++ или c#, или договариваться со скинером и включать его в проект freearc. пока я не знаю какой вариант более реален


Вы думаете от того что будет "нормальный" гуй fa станет популярней? Не будет этого пока не будет поддержки распаковки других форматов архивов как минимум. И если он будет на c# он тоже никому нафиг не нужен будет (имхо).
Автор: Bulat_Ziganshin
Дата сообщения: 19.06.2008 13:37
обновил http://www.haskell.org/bz/arc1.arc
* Исправлена ошибка в алгоритме Delta
* Теперь при распаковке по умолчанию используется -ld75%

Ghost2004 - так лучше?

Егор, огромное спасибо за тесты. посмотри на новой версии - не исправилось?

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

Добавлено:

Цитата:
Вы думаете от того что будет "нормальный" гуй fa станет популярней? Не будет этого пока не будет поддержки распаковки других форматов архивов как минимум.

я думаю что при наличии gui fa смогут попробовать многие люди, которые не любят cmdline. если же к этому добавить ещё и поддржку zip/... то fa можно будет использовать и как штатную оболочку для работы с архивами

Добавлено:

Цитата:
Кстати, хотелось бы, чтобы файлы и папки внутри архива можно было еще выделять или insert'ом, или пробелом, т.е. без участия мыши.

как я понимаю, это вообще должен быть другой режим работы - нортоно-подобный. сейчас при любом сдвиге курсора имеющееся выделение сбрасывается - это стандартное виндовое поведение afaik

посмотрел winrar - он сбрасывает выделение только тех файлов, кторые были отмечены мышью. и никаких режимов! тоже вариант


Цитата:
Если распаковка идет в каталог с юникодом в имени, то при выборе этого каталога портит целевой путь.

да, через этот диалог нельзя выбрать юникодные каталоги - различие в кодировках. я его в любом случае собираюсь заменить на родной виндовый
Автор: Dementei
Дата сообщения: 19.06.2008 14:39
Bulat_Ziganshin

Цитата:
я думаю что при наличии gui fa смогут попробовать многие люди, которые не любят cmdline. если же к этому добавить ещё и поддржку zip/... то fa можно будет использовать и как штатную оболочку для работы с архивами


С точки зрения меня. Я не использую cmdline архиваторы. Хотя командную строку люблю, но не виндовое убожество, а никсовую.

Вот если добавить не только поддержку зип, а всего, что подерживает 7-zip, то тогда можно будет использовать fa по прямому назначению (а не только на посмотреть). Притом нужно поддерживать не только распаковку 7-zip архивов, но и сжатие в этот формат по одной простой причине, формат fa еще не стабилен, постоянно возникают проблемы при распаковке (читаю эту ветку форума постоянно), а зип слабо жмет.

Вот тогда при интеграции в проводник, при поддержке архивов других форматов можно будет использвать fa в работе. Притом формат fa просто тестировать, а 7z использовать для работы пока формат fa не станет стабильным...


Автор: Gideon Vi
Дата сообщения: 19.06.2008 14:51

Цитата:
Егор, огромное спасибо за тесты. посмотри на новой версии - не исправилось?

Ошибка в m4 исправилась.
Автор: Bulat_Ziganshin
Дата сообщения: 19.06.2008 15:00

Цитата:
Вот если добавить не только поддержку зип...

да, я всё именно так и собираюсь сделать

Добавлено:

Цитата:
Ошибка в m4 исправилась.

я сейчас посмотрел по истории. алгоритм работы с памятью в delta был изменён 11 июня. после этого ошибка стала достаточно легко проявляться. в последние 2-3 дня на неё наткнулись 3 человека, в том числе я сам

надеюсь, теперь ни у кого не осталось примеров, на которых fa глючит?
Автор: Benchmark
Дата сообщения: 19.06.2008 17:22
Bulat_Ziganshin

Цитата:
посмотрел winrar - он сбрасывает выделение только тех файлов, кторые были отмечены мышью. и никаких режимов! тоже вариант


Вполне себе вариант.

Кстати, отсюда мысль: когда непонятно, как именно сделать что-то в GUI, можно для начала брать в качестве образца WinRAR и делать как там. Не скажу, что в нем все оптимально, но зато для большого числа юзеров уже привычно.
Автор: UriF
Дата сообщения: 19.06.2008 17:53
Bulat_Ziganshin
До сих пор пользуюсь WinRAR, т.к. он открывает практически все(izArc и PowerArchiver также открывают почти все), да еще и ищет в архивах. Будет ли реализована поддержка сторонних форматов?

Кроме того, сейчас на рунете появились файлы, запакованные FilePacker/FileSplitter, который является AdWare (или даже trojan). Я уже обжегся и зарекся скачивать файлы с расширением .spt. Знаете ли Вы что-нибудь об этом формате или же он закрытый и используется только для разводки лохов?
Автор: Bulat_Ziganshin
Дата сообщения: 19.06.2008 18:12

Цитата:
когда непонятно, как именно сделать что-то в GUI, можно для начала брать в качестве образца WinRAR и делать как там.

я так и делаю, причём не только в области gui. разве незаметно? вот сейчас sfx cmdline собираюсь под него переписать


Цитата:
Будет ли реализована поддержка сторонних форматов?

да, с помощью библиотек 7zip, но это ещё не скоро. в лучшем случае - к зиме

кстати, кто-нибудль может назвать мощную, удобную и бесплатную прогу для работы с форматом 7-zip? у jzip мало фич. izarc я правда не смотрел. кстати, надо с его автором поговорить насчёт поддержки .arc


Цитата:
FilePacker/FileSplitter

никогда не слышал. вообще я слежу за новыми решениями в области алгоритмов сжатия, всякие архиваторы и сплиттеры ничего технически сложного из себя не представляют

вот кстати FLZP - альтернатива lzp-препроцессору, правда вероятно будут проблемы если применять её совместно с dict
Автор: egor23
Дата сообщения: 19.06.2008 18:26
Bulat_Ziganshin

Цитата:
а сейчас виснет и arc и WinArc     

http://forall.ru-board.com/egor23/ppmd2000.arc

ARC.EXE a ppmd2000.arc -mdelta arc.ini
ARC.EXE a ppmd2000.arc -mppmd arc.ini
ARC.EXE a ppmd2000.arc -m4 arc.ini

Вообщем пример выше не ограничивается методами.

Проблемка думаю не только в ppmd2000:

оказывает влияние наличие файлика arc.groups и тоже не всегда.

имеем:

ARC.EXE (FreeArc 0.50 alpha (June 19 2008))
arc.ini
arc.groups

в скобках будет указано поведение без файла arc.groups
Виснет тоже по-разному, или сразу, или после сжатия данных.

ARC.EXE a ppmd2000.arc -mdelta arc.ini - виснет (виснет)
ARC.EXE a ppmd2000.arc -mlzma arc.ini - виснет (виснет)
ARC.EXE a ppmd2000.arc -mrep arc.ini - виснет (виснет)
ARC.EXE a ppmd2000.arc -mlzp arc.ini - виснет (не виснет)
ARC.EXE a ppmd2000.arc -mppmd arc.ini - виснет (виснет)
ARC.EXE a ppmd2000.arc -m4 arc.ini - виснет (не виснет)

ARC.EXE a ppmd2000.arc -mdelta libgtk-win32-2.0-0.dll - виснет (виснет)
ARC.EXE a ppmd2000.arc -mlzma libgtk-win32-2.0-0.dll - виснет (виснет)
ARC.EXE a ppmd2000.arc -mrep alibgtk-win32-2.0-0.dll - виснет (виснет)
ARC.EXE a ppmd2000.arc -mlzp libgtk-win32-2.0-0.dll - не виснет (не виснет)
ARC.EXE a ppmd2000.arc -mppmd libgtk-win32-2.0-0.dll - виснет (виснет)
ARC.EXE a ppmd2000.arc -m4 libgtk-win32-2.0-0.dll - не виснет (не виснет)
Автор: Bulat_Ziganshin
Дата сообщения: 19.06.2008 18:40

Цитата:
Проблемка думаю не только в ppmd2000:

там банально не хватает памяти
Автор: egor23
Дата сообщения: 19.06.2008 18:57

Цитата:
там банально не хватает памяти


Цитата:
ARC.EXE a ppmd2000.arc -mlzp arc.ini - виснет (не виснет)
ARC.EXE a ppmd2000.arc -m4 arc.ini - виснет (не виснет)
ARC.EXE a ppmd2000.arc -mlzp libgtk-win32-2.0-0.dll - не виснет (не виснет)
ARC.EXE a ppmd2000.arc -m4 libgtk-win32-2.0-0.dll - не виснет (не виснет)


Добавлено:

Цитата:
там банально не хватает памяти

кстати не понятно почему её не хватает при упаковке методами отличными от ppmd, и ppmd c другими настройками для новых файлов?


Добавлено:
из документации:

Цитата:
При обновлении солид-архивов FreeArc вставляет новые файлы между старых в соответствии с используемым порядком сортировки. Например, если в архиве уже есть файлы arc.hs и decompress.hs, то файл compress.hs будет вставлен между ними (при стандартной сортировке). При этом FreeArc переупаковывает только те солид-блоки, в которых есть изменившиеся, добавленные или удалённые файлы.
Автор: UriF
Дата сообщения: 19.06.2008 19:57
Bulat_Ziganshin
ссылку на FilePacker отправил в личку, чтобы не засорять топик и ни у кого не было намерения ставить себе...
Автор: egor23
Дата сообщения: 19.06.2008 20:25
UriF

Цитата:
Кроме того, сейчас на рунете появились файлы, запакованные FilePacker/FileSplitter, который является AdWare (или даже trojan). Я уже обжегся и зарекся скачивать файлы с расширением .spt. Знаете ли Вы что-нибудь об этом формате или же он закрытый и используется только для разводки лохов?

офф.сайт
http://www.tmagency.net/about.html
http://www.tmagency.net/tmfilepacker.html
Автор: UriF
Дата сообщения: 19.06.2008 21:33
egor23
да, это самое, намеренно отправил в личку автору FreeArc, чтобы сдуру никто не начал экспериментировать и портить СВОЙ компьютер
Автор: Bulat_Ziganshin
Дата сообщения: 19.06.2008 21:55

Цитата:
ссылку на FilePacker отправил в личку

я же сказал, что не интересуюсь такими прогроаммами, а уж тем более троянами

Добавлено:

Цитата:
Проблемка думаю не только в ppmd2000:

оказывает влияние наличие файлика arc.groups и тоже не всегда.

от arc.groups зависит порядок файлов. если уже сжатый файл идёт первым, то есть шансы что он будет полностью распакован ДО того как начнётся упаковка и соответственно алгоритм распаковки освободит свои 2 гб. в лбом случае проблем две:
* нехватка памяти. как я уже говорил, это можно лечить добавлением tempfile в начало алгоритма упаковки
* то, что прогорамма при этом виснет вместо человечсеких сообщений об ошибке и корректного выхода

проблема не настолько животрепещущая чтобы я её прям счас исправил, но потом посмотрю

да, Егор, я правильно понял, что все те файлы, на которых проявлялась ошибка (не ppmd2000), теперь нормально пакуются?

Страницы: 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667

Предыдущая тема: Установка и настройка SAMS


Форум Ru-Board.club — поднят 15-09-2016 числа. Цель - сохранить наследие старого Ru-Board, истории становления российского интернета. Сделано для людей.