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

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

Автор: Widok
Дата сообщения: 07.09.2009 18:15

FreeArc
бесплатный open-source архиватор для Windows и Linux,
сочетающий высокую степень сжатия и большой набор возможностей

Часть 1 | Часть 2

Официальный сайт | Скриншоты | Лента новостей
Документация на консольную версию | Документация на GUI версию
Сообщество пользователей FreeArc | Вики | Трекер (рассылка по ошибкам)
Проект на SourceForge.net | SVN-репозиторий | Поддержка InnoSetup
Обсуждение на encode.ru (англоязычное)

Скачать последний релиз - FreeArc 0.666 от 20 мая 2010 г. Что нового: ускорение работы в 1.5-2 раза благодаря новой технологии многопоточного сжатия, распаковка архивов многих форматов используя технологии 7-zip, запуск файлов из архива, исправлены все проблемы интеграции с Explorer (подробнее)

Текущая альфа версия: 0.67 - загрузка | список исправлений | блог

FAQ по FreeArc

Подробное описание используемых алгоритмов
Почему он сжимает лучше и быстрее, чем 7-zip/rar...
Результаты тестов, подтверждающие его крутизну... | И немного о будущем...
Почему для использования 2+ гб памяти желательно установить 64-битную версию Windows
Планы дальнейшего развития
Что подразумевается под "интеграцией с Explorer"
Старая FreeArc wiki (включая описание формата архива)
Логотип - объявляется конкурс на иконки для FreeArc

Сторонние оболочки для работы с FreeArc:
wArc - простая и понятная программа управления архивами (требует .NET Framework 2.0)
PeaZip - менеджер архивов с поддержкой большого количества форматов, для Windows и Linux


Родственные темы:
Inno Setup плюс внешние упаковщики - использование архивов FreeArc в инсталяторах
Пережатиe/Pекомпрессия/Oптимизация файлов для лучшего сжатия - "а как сжать ещё лучше?"
FreeArc и Unix - для альтернативно одарённых

Другие архиваторы:
WinRAR
7-zip
Версия для ОС Linux:

инсталлятор
[/more]

2
[more=FAQ по FreeArc]Q: (консольная версия) Как мне распаковать архив не в текущий каталог, а в заданный?
A: Воспользуйтесь параметром -dp=каталог.

Q: (консольная версия) Как использовать параметр -ag для автогенерации имени архива?
A: Пример:arc a -ag%Y%m%d MyArc_.arc *.txt --> MyArc_20091020.arc
Полный список опций можно посмотреть тут - Автоматическая генерация имени архива

Q: Есть ли поддержка многотомности (разбиение архива на части)?
A: Пока нет, но планируется. Дешёвая и сердитая реализация типа 7-zip'овской признана нецелесообразной.

Q: Я пользуюсь precomp прямо в FreeArc (кто не понял FreeArc сразу сжимает с подключением к сжатию precomp) Так вот чтобы потом архив распаковать надо какието параметры писать и файлики лополнительные.
A: Файлы - каталог max из freearc power pack. эти файлы должны быть во время упаковки в текущем каталоге или каталоге, доступном по PATH, за исключением arc.ini, который должен лежать в c:\
Если это сделать, то обычный скрипт распаковки freearc архивов всё как надо сделает. Но при этом у тебя будет кривой прогресс-бар и окошко precomp будет светиться на экране

Q: Хочу распаковать архивы в подкаталоги перед упаковкой в arc чтобы добиться максимального сжатия
A: Готовый батник для этого здесь

Q: Поддерживает ли зашифрованные архивы SFX/unarc.exe/unarc.dll?
A: Пока нет. Запись нуждающихся здесь[/more]

3
[more=Почему он сжимает лучше и быстрее, чем 7-zip/rar...] Почему он сжимает лучше, чем 7-zip/rar: поддерживаются алгоритмы lzma, ppmd и multimedia-сжатие с автоматическим выбором подходящего алгоритма по расширению файла
для улучшения сжатия используются фильтры dict (словарная замена), rep (находит повторы на расстоянии до 1Гб), delta (улучшает сжатие таблиц в бинарных файлах), bcj (EXE-фильтр), lzp (устраняет повторы в текстовых файлах)
в режиме максимального сжатия алгоритмы сжатия работают не параллельно, а последовательно, выгружая промежуточные данные на диск, что позволяет каждому из них использовать весь объём ОЗУ компьютера
если вам мало встроенных алгоритмов - вы можете использовать внешние: от препроцессора сжатых данных precomp до алгоритмов максимального сжатия ccmx/lpaq/durilca/uda/paq
плюс к этому производится интеллектуальная сортировка файлов, группирующая вместе одинаковые/похожие файлы и различные версии одного и того же файла
Почему быстрее упаковывает: для текстовых файлов используется ppmd, который работает куда быстрее чем lzma
использование фильтров уменьшает размер фактически сжимаемых данных
в быстрых режимах сжатия (-m1/-m2) используются специально разработанные быстрые алгоритмы - tornado и grzip
чтение сжимаемых данных идёт параллельно сжатию в специальный большой буфер, поэтому задержки дисковых операций не сказываются на процессе упаковки[/more]

4
[more=Результаты тестов, подтверждающие его крутизну...]

обсуждение на форуме www.compression.ru

Тестирование maximumcompression.com на 46 типах файлов (510 файлов, 301 Мб). FreeARC 0.51 занял первые 4 места по эффективности из 246 тестировавшихся архиваторов+режимов!
SqueezeChart 2009
Monster of compression 2009 (MOC 2009)
Squxe Archivers Chart (2007)[/more]

5
[more=Что подразумевается под "интеграцией с Explorer"]родные виндовые диалоги выбора файлов/каталогов (реализовано в 0.51)
контекстное меню на архивах .arc и других файлах, а также каталогах, с возможностью сделать его каскадным и выбором из большого набора команд (реализовано в 0.52)
отображение стандартного контекстного меню эксплорера в самом FreeArc
отображение иконки файла в списке файлов и диалоге перезаписи файла
колонка "тип файла", отображающая описание типа, полученное от Windows
drag&drop между freearc и explorer, а также между двумя экземплярами FreeArc
кнопка "фоном" должна минимизировать диалог прогресса в system tray[/more]
===== конец СПИСКА МОРЕЙ =====
[/#]
Автор: Bulat_Ziganshin
Дата сообщения: 08.09.2009 11:39
once again: i've fixed printing of error messages and tried to fix hangups after Cancelling operation in FileManager mode. please try as much as possible to Cancel operations and report whether it still aborts or works unpredictably in such situations

files are the same:

* http://freearc.org/download/testing/FreeArc-0.52-win32.exe
* http://freearc.org/download/testing/FreeArc-portable-0.52-win32.zip
* http://freearc.org/download/testing/FreeArc-console-0.52-win32.exe
* http://freearc.org/download/testing/FreeArc-0.52-sources.tar.bz2

Итак, перестала ли программа вылетать после Cancel или хотя бы делать это реже? у меня вылетов почти не было и раньше, сейчас совсем не получается её выкинуть
Автор: DemonAk
Дата сообщения: 08.09.2009 13:20

Цитата:
Итак, перестала ли прграмма вылетать после Cancel или хотя бы делать это реже? у меня вылетов почти не было и раньше, сейчас совсем не получается её выкинуть

Попробовал несколько раз отменить, вроде перестало вылетать
Автор: ADMIN_CRACK
Дата сообщения: 08.09.2009 13:47
При использовании контекстного меню проводника у меня на версии 0.52 вылетает проводник это можно как то побороть?
Windows XP sp2
Автор: Bulat_Ziganshin
Дата сообщения: 08.09.2009 13:59
тестируйте на вылет потщательней, плиз

ADMIN_CRACK
я в курсе, исправлю

Автор: Nikolai2004
Дата сообщения: 08.09.2009 20:48

Цитата:
NanoZip 0.07 alpha, 4 july, 2009
multithreading for nz_lzpf and lz_lzpf_large (for 2 processors) for both compression and decompression (nz_lzpf is 20-40% faster) with no changes to compression ratio
gui displays elapsed time, remaining time and speed
fixed a bug in nz_lzpf and lz_lzpf_large
fixed a bug which caused incompatibility between 64-bit and 32-bit versions
fixed a bug in the archiver core, which caused faulty archives with the store method (can also happen with compression enabled) thanks to mod_john for reporting the bug
miscellaneous performance related tunings

вроде бы здесь ещё не пробегало.
основной конкурент, как-никак
Автор: juvaforza
Дата сообщения: 08.09.2009 22:00
Nikolai2004
Пробегало, месяца три назад.
Автор: nabor56
Дата сообщения: 09.09.2009 07:22
Имеется пожелание. В случае выбора опции "Сжать каждый файл в отдельный архив", архивировать при выборе папки не папку отдельным файлом, а каждый файл в папке отдельным файлом.

Добавлено:
Версия 0.52 от 01.09.2009(GUI). В одной папке находится несколько архивов arc. Был распакован один архив в текущую папку. Затем выделены все архивы, включая распакованный, выбрана опция "Подтверждение замены файла" при распаковке архивов. Появилось окно "Подтверждение замены файла" (прозрачное) и программа зависла.
Автор: Bulat_Ziganshin
Дата сообщения: 09.09.2009 08:52
new test version:

* fixed bug in 64-bit Explorer extension. 32-bit extension doesn't work for me, it's the same for you?
* after cancelling standalone operation, it shuts up gracefully (thanks, pat, please check now)

files:

* http://freearc.org/download/testing/FreeArc-0.52-win32.exe
* http://freearc.org/download/testing/FreeArc-portable-0.52-win32.zip
* http://freearc.org/download/testing/FreeArc-console-0.52-win32.exe
* http://freearc.org/download/testing/FreeArc-0.52-sources.tar.bz2



Цитата:
Имеется пожелание. В случае выбора опции "Сжать каждый файл в отдельный архив", архивировать при выборе папки не папку отдельным файлом, а каждый файл в папке отдельным файлом.

а нельзя зайти внутрь папки? или тебе нужно рекурсивно?


Автор: nabor56
Дата сообщения: 09.09.2009 11:15
Зайти конечно можно. Просто не очень удобно. Папок несколько десятков.

Добавлено:
Конечно можно. Только не очень удобно. Папок несколько десятков.
Автор: Bulat_Ziganshin
Дата сообщения: 09.09.2009 11:24
nabor56
понятно. но в общем это достаточно специфичная операция, так что советую воспользоваться батником
Автор: egor23
Дата сообщения: 09.09.2009 12:04
Bulat_Ziganshin

Цитата:
32-bit extension doesn't work for me, it's the same for you?

всё также
Автор: Bulat_Ziganshin
Дата сообщения: 09.09.2009 12:50

Цитата:
всё также

а скакой версии началось - не можешь сказать? с 5 сентября?
Автор: egor23
Дата сообщения: 09.09.2009 13:02
Bulat_Ziganshin

Цитата:
с 5 сентября?

угу
Автор: Bulat_Ziganshin
Дата сообщения: 09.09.2009 15:46

Цитата:
Версия 0.52 от 01.09.2009(GUI). В одной папке находится несколько архивов arc. Был распакован один архив в текущую папку. Затем выделены все архивы, включая распакованный, выбрана опция "Подтверждение замены файла" при распаковке архивов. Появилось окно "Подтверждение замены файла" (прозрачное) и программа зависла.

у меня нормально работает. кто-нибудь ещё попробуйте - запорос о перезаписи файла нормально срабатывает?

в принципе это похоже на создание окна не в том треде, я посмотрю на код программы в плане возможности подобной ошибки..
Автор: Bulat_Ziganshin
Дата сообщения: 09.09.2009 21:29
в общем, тут творится что-то мне непонятное. первое - у меня с 32-битными программами (explorer, 7-zip, far) не работают и старые версии dll (желающие могут проверить, скачав инсталятор/portable от 28 августа с http://haskell.org/bz/...). второе - после многочисленных экспериментов я обнаружил, что единственный способ решить эту проблему - сменить GUID. что я и сделал. так что последовательность действий такова:
1) выключить Explorer Integration через Settings
2) переписать dlls файлами http://haskell.org/bz/ArcShellExt.dll и http://haskell.org/bz/ArcShellExt-64.dll
3) снова включить Explorer Integration

при этом мы разрегистриуем его со старым GUID и зарегим с новым. проверяйте - у меня теперь всё нормально работае. такое впечатление, что ОС занесла GUID вылетевшей однажды dll в некую базу и теперь не запускает такую dll вообще
Автор: ADMIN_CRACK
Дата сообщения: 09.09.2009 22:02
Bulat_Ziganshin
После замены ArcShellExt.dll нормальная интеграция.
Автор: egor23
Дата сообщения: 10.09.2009 03:53
Bulat_Ziganshin
Окно упаковки - что-то не показываются обрабатываемые файлы, точнее не все файлы показываются

Упаковка через контекстное меню
Жмём отмена имеем в разных случаях ошибки:

Упаковываем папку bin прерываем на 36%
1. CompressionLib_d90e: interrupted

Упаковываем папку bin прерываем на 70% \ 42%
2. gtk2hs_closure_marshal: interrupted

или (воспроизвести повторно не получилось)
3. Два окна с ошибками:
3.1. interrupted
3.2.CompressionLib_d90e: interrupted
Автор: Bulat_Ziganshin
Дата сообщения: 10.09.2009 08:03

Цитата:
что-то не показываются обрабатываемые файлы, точнее не все файлы показываются

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


Цитата:
Жмём отмена имеем в разных случаях ошибки:

ситуация стала хуже чем раньше или нет? что насчёт томены операций в редиме файл-менеджера - теперь нормально происходит? или хотя бы меньше сбоев чем раньше?
Автор: egor23
Дата сообщения: 10.09.2009 10:17
Bulat_Ziganshin

Цитата:
имя текущего файла обновляется раз в полсекунды, так что понятно что не все файлы успевают там показаться

посмотрите что показывает при упаковке папки bin (настройки сжатия по-умолчанию)

Цитата:
ситуация стала хуже чем раньше или нет? что насчёт томены операций в редиме файл-менеджера - теперь нормально происходит? или хотя бы меньше сбоев чем раньше?

в файл-менеджере вроде нет ошибок
через контекстное меню раньше не отменял упаковку
Автор: egor23
Дата сообщения: 10.09.2009 14:59
Bulat_Ziganshin
Заметил в контекстном меню Открыть с помощью..., на файле *.htm присутствует FreeArc
Автор: Bulat_Ziganshin
Дата сообщения: 10.09.2009 15:56

Цитата:
посмотрите что показывает при упаковке папки bin (настройки сжатия по-умолчанию)

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


Добавлено:

Цитата:
в файл-менеджере вроде нет ошибок
через контекстное меню раньше не отменял упаковку

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

Добавлено:

Цитата:
Заметил в контекстном меню Открыть с помощью..., на файле *.htm присутствует FreeArc

не должно быть такое, разве что он предлагает ВСЕ имеющиеся в системе действия Open. там другеи проги, не имеющие отношения к htm, тоже присутстсвуют?

вот код программы:
register "FreeArc.arc" "" "FreeArc archive"
register "FreeArc.arc\\DefaultIcon" "" (ico++",0")
register "FreeArc.arc\\shell" "" "open"
register "FreeArc.arc\\shell\\open\\command" "" ("\""++exe++"\" \"%1\"")
register ".arc" "" "FreeArc.arc"
register ".arc\\ShellNew" "FileName" empty

как видишь, расширение arc связывается с типом файлов "FreeArc.arc", для которого я описываю команду shell\open
Автор: egor23
Дата сообщения: 10.09.2009 16:19
Bulat_Ziganshin

Цитата:
ничего неожиданного для меня. время от времени обновляется текущий упаковываемый файл. например, из 70 языковых я увидел только один, а из dll-ек - довольно много

я вижу: freearc.history, две-три dll-ки и empty.arc
Настройки сжатия (по-умолчанию)
Нормальное: -m4 -s128m

ещё, если упаковку перезапускать, показывает разное количество найденых файлов.
Автор: Bulat_Ziganshin
Дата сообщения: 10.09.2009 16:27

Цитата:
ещё, если упаковку перезапускать, показывает разное количество найденых файлов.

там вся система такая - основной тред запоминает в переменной текущее состояние процесса. пока идёт сканирование диска, например, он туда записывает сколько всего найдено файлов после обработки каждого каталога. когда идёт сжатие, в переменной запоминается имя теукщего обрабатываемого файла. тред индикатора пргресса раз в полсекунды просыпается, выводит текущее содержимое переменной на экран, и снова засыпает. поэтому какие из сообщений ты увидишь, а какие нет - дело случая. progress bar, кстати обновляется 10 раз в секунду для большей плавности, всё остаоьное (включая и надпись "xx%" на нём) - только дважды

Добавлено:
ps: я пришёл к такой архитекутуре потому что на моём старом дюроне-1300 обновление индикаторов пргресса занимало ~5% всего времени работы. если всё обновлять скажем 10 раз в секунду - то старые машины будут терять слишком много времени на это
Автор: egor23
Дата сообщения: 10.09.2009 16:30

Цитата:
не должно быть такое, разве что он предлагает ВСЕ имеющиеся в системе действия Open. там другеи ghub? не имеющие отношения к htm, тоже присутстсвуют?

? не совсем понял

присутствует для: htm md5 ico dll ini doc png, может ещё какие

Добавлено:

Цитата:
ps: я пришёл к такой архитекутуре потому что на моём старом дюроне-1300 обновление индикаторов пргресса занимало ~5% всего времени работы. если всё обновлять скажем 10 раз в секунду - то старые машины будут терять слишком много времени на это

может сделать опцию для медленных машин, или настройку время обновления экрана или типа того?
Автор: Bulat_Ziganshin
Дата сообщения: 10.09.2009 17:06

Цитата:
может сделать опцию для медленных машин, или настройку время обновления экрана или типа того?

зачем делать настройку таких вкторостепенных вещей? 2 раза в секунду вполне достаточно


Цитата:
присутствует для: htm md5 ico dll ini doc png, может ещё какие

я спрашиваю - а какие ещё программы присутствуют в этом списке?
Автор: egor23
Дата сообщения: 10.09.2009 17:24

Цитата:
я спрашиваю - а какие ещё программы присутствуют в этом списке?

соответствующие этому типу файлов, т.е. архиваторов там нет

Добавлено:
думаю это осталось \ накопилось
т.к. при отключении интеграции, соравно FreeArc присутсвует в Открыть с помощью...
Автор: juvaforza
Дата сообщения: 10.09.2009 18:03
Bulat_Ziganshin
Прошу прощения за то, что долго не отвечал. Надеюсь ссылки на предыдущую часть темы не нужны

К вопросу о производительности нынешнего диалога ArcInfo. (вы тогда ещё архив с Boost'ом для примера предложили )
Вы наверное правы, никаких сильных изменений во времени открытия диалога не произошло. Меня обманула разница во времени: если открывать архив из диска (т.е. возмжоно FreeArc считывает информацию при запуске) и если открывать его из программы. В первом случае время «появления» GUI большое, а диалог открывается мгновенно, если же запускать FreeArc.exe, а затем открыть архив - все наоборот.

К вопросу о разнице при добавлении папок из программы и контестного меню Проводника.
Вы не заметили разницу в заголовке диалога (на скриншотах (1) (2) это было)

А для чего в последних версиях появились файлы 7-zip'а?
Автор: ruduk
Дата сообщения: 10.09.2009 19:26
Добрый день
Цитата:
Bulat_Ziganshin
.
Я давно наблюдаю за развитием FreeArc (где-то с версии 0.36), пакую документы при пересылке по почте, но только сейчас решил отписаться. Очень понравилась возможность интеграции в контексное меню, но после перехода с версии 0.51а на версию 0.52а постоянно вылетал explorer.exe (если запускать через "Мой компютер") или выдавалась ошибка о неправильной интеграции контексного меню (если вызывать из total commander).
После переписи файлов ArcShellExt.dll и ArcShellExt-64.dll (по вашей ссылке за 09-09-2009) всё прекрасно работает.
Спасибо за исправления.

Вопрос: где можно подробнеее почитать про метод сжатия -m9b?

PS. У меня Windows Vista Ultimate SP2 x86, 2 GB Ram.
Автор: Bulat_Ziganshin
Дата сообщения: 10.09.2009 20:04

Цитата:
метод сжатия -m9b?

в доке

Добавлено:

Цитата:
т.к. при отключении интеграции, соравно FreeArc присутсвует в Открыть с помощью...

это отключается первой галочкой, "ассоциировать FreeArc с файлами .arc"


Цитата:
Вы наверное правы, никаких сильных изменений во времени открытия диалога не произошло. Меня обманула разница во времени: если открывать архив из диска (т.е. возмжоно FreeArc считывает информацию при запуске) и если открывать его из программы

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

кстати, может есть смысл добавить ArcInfo в меню Explorer для архива?


Цитата:
А для чего в последних версиях появились файлы 7-zip'а?

для конвертации архивов из других форматов


Цитата:
К вопросу о разнице при добавлении папок из программы и контестного меню Проводника.
Вы не заметили разницу в заголовке диалога (на скриншотах (1) (2) это было)

будет время - может, испарвлю

Страницы: 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970

Предыдущая тема: Opera (часть 14)


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