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

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

Автор: crotoff
Дата сообщения: 03.12.2009 08:40
A19EXXX
exe написан для исполняемых бинарных файлов (exe dll sys итп), они специально выделены в отдельную секцию arc.groups, для остальных типов он может ухудшить сжатие. Вместо связки exe+delta для этой группы лучше использовать метод BCJ2 из 7ZIP (в FA пока не реализован) в виде внешнего компрессора

В arc.ini пропиши в секции [Compression methods] в своём профиле для $exe=7z+lzma:254m:max
а для остальных групп - srep; delta; precomp кому что больше подходит
а ниже добавь
[External compressor:7z]
cmem = 540
dmem = 540
packcmd = {compressor} a $$arcpackedfile$$.tmp $$arcdatafile$$.tmp -m0=BCJ2
unpackcmd = {compressor} e $$arcpackedfile$$.tmp

И тогда можешь в командной строке просто указывать свой профиль -m=[Свой_Профиль] -lc -ld- -ma- -se итп
Автор: Redisych
Дата сообщения: 03.12.2009 08:43
Подскажите, где скачать плагин для TC?
В архиве FreeArc-portable-0.60RC-win32.zip я наблюдаю папку Addons\TotalCommander MultiArc plugin, в которой лежит freearc.addon и всё.
Автор: crotoff
Дата сообщения: 03.12.2009 08:53
Redisych
ссылка1 ссылка2
Автор: Bulat_Ziganshin
Дата сообщения: 03.12.2009 10:33
A19EXXX

Цитата:
-m=srep+exe+delta+lzma:254m:max -lc- -ld-, но мне не всё понятно... привык использовать -max -ld768m

-m=srep+precomp+exe+delta+lzma:254m:max -ld768m

Добавлено:

Цитата:
-m=srep+exe+delta+lzma:254m:max -lc- -ld-

exe+delta может должны раньше srep идти?
или минимум exe раньше?

в среднем rep+exe даёт лучшие результаты чем exe+rep, поэтому начиная с 0.51 их порядок поменялся. а вообще - экспериментируйте
Автор: ruduk
Дата сообщения: 03.12.2009 10:45
Bulat_Ziganshin
Маленький вопрос про -mex5 - почему он не работает для текстовых файлов?
Взял версию от 2 Декабря 2009. Пробовал упаковать сохраненную mht-страницу - работает:
D:\TEST>arc a -mex5 111.arc 111.mht
FreeArc 0.60 RC (December 2 2009) creating archive: 111.arc
Compressed 1 file, 376,152 => 170,454 bytes. Ratio 45.3%
Compression time: cpu 0.28 secs, real 0.36 secs. Speed 1,045 kB/s
All OK

Попробовал с -mex5t (проскочило здесь на форуме)- выдало ошибку о неправильном методе сжатия:
D:\TEST>arc a -mex5t 111t.arc 111.mht
FreeArc 0.60 RC (December 2 2009) creating archive: 111t.arc
Compressing 1 file, 376,152 bytes. Processed 7%
ERROR: invalid compression method or parameters in 4x4:b7mb:ppmd:8:96mb:c7mb
Значит такого метода еще нет. Откуда он появился?

Потом попробовал сжать текстовые файлы. Для примера попробовал папку arc.languages из комплекта FA. Но получил ошибку сжатия:
D:\TEST>arc a -mex5 languages.arc arc.languages\
FreeArc 0.60 RC (December 2 2009) creating archive: languages.arc
Compressing 76 files, 1,808,926 bytes. Processed 31%
ERROR: invalid compression method or parameters in 4x4:b7mb:ppmd:8:96mb:c7mb

Тогда взял самый первый файл в папке (arc._new.txt) и тоже получил ошибку:
D:\TEST>arc a -mex5 new.arc arc._new.txt
FreeArc 0.60 RC (December 2 2009) creating archive: new.arc
Compressing 1 file, 19,662 bytes. Processed 0%
ERROR: invalid compression method or parameters in 4x4:b7mb:ppmd:8:96mb:c7mb

Потом открыл файл в Блокноте и начал удалять из файла текст (строками и абзацами).
Когда снизу вверх дошел до строки
*** You may improve it by providing new translations. *** (третья сверху) обнаружил интересный факт:
1). если в строке оставить последнее слово "it": *** You may improve it (файл получается 186 байт) - все еще не работает,
2). а если стереть "t": *** You may improve i (файл получается 185 байт) - файл упаковывается нормально!
D:\TEST>arc a -mex5 1.arc arc._new1.txt
FreeArc 0.60 RC (December 2 2009) creating archive: 1.arc
Compressing 1 file, 186 bytes. Processed 0%
ERROR: invalid compression method or parameters in 4x4:b7mb:ppmd:8:96mb:c7mb

D:\TEST>arc a -mex5 2.arc arc._new2.txt
FreeArc 0.60 RC (December 2 2009) updating archive: 2.arc
Compressed 1 file, 185 => 111 bytes. Ratio 60.0%
Compression time: cpu 0.02 secs, real 0.06 secs. Speed 3 kB/s
All OK

Может быть все впирается в размер файла? Или в количество звездочек и символов в самом тексте?
Автор: Bulat_Ziganshin
Дата сообщения: 03.12.2009 10:47

Цитата:
Не могли бы Вы предоставить cmd/bat со всевозможными вариантами сжатия

для .cmd:
@for %%a in (1 2 3 4 5 6 7 8 9) do Arc.exe a -m%%a %%a MD9202.120
@for %%a in (1 2 3 4 5 6 7 8 9) do Arc.exe a -mx%%a x%%a MD9202.120

что касается *всех* возможных вариантов сжатия, то их больше, чем атомов во Вселенной ))


Цитата:
Почему-то в логе не очень приятная картина в виде:

-i


Цитата:
Вместо связки exe+delta для этой группы лучше использовать метод BCJ2 из 7ZIP (в FA пока не реализован) в виде внешнего компрессора

спасибо, не знал что bcj2 такой умный. но delta он не заменяет, так что "вместо exe"


Цитата:
В arc.ini пропиши в секции [Compression methods] в своём профиле для $exe=7z+lzma:254m:max

это и всё последующее советую проигнорировать. в частности, потому что в современном arc.ini есть и методы 7z и bcj2, и их определения отличаются от предлагаемого

Добавлено:

Цитата:
Маленький вопрос про -mex5 - почему он не работает для текстовых файлов?

увы, оказалось что использованный мной трюк работает только на post-xp systems. я сейчас реализую прокладку совместимости - файлы будут паковаться/распаковываться в том же формате на всех ОС, но на xp это будет происходить в один поток, так что никакого выигрыша по сравнению с -m4 не будет

полноценная поддержка многпоточности для -mex5t появится только в 0.70


Цитата:
Может быть все впирается в размер файла? Или в количество звездочек и символов в самом тексте?

просто с -mex5 срабатывает автоопределение типа данных. после твоих удалений файл перестал определяться как текстовой и соответственно вместо -mex5t был использован прекрасно работающий -mex5b. -di+$ и ты бы сам всё увидел
Автор: A19EXXX
Дата сообщения: 03.12.2009 11:49
Bulat_Ziganshin, спасибо ...А если среди сжимаемых мной файлов мало, или вообще нет exe, dll, то в параметре не нужен exe, или с ним хуже не будет??
И ещё: для параметра -m=srep+precomp+exe+delta+lzma:254m:max -ld768m что нужно, чтобы распаковать всё это через inno, а точнее, достаточно ли для этого вашего скрипта FreeArc_Example 3.4 и unarc.dll, или нужно ещё куда-то step и precomp подкладывать и прописывать это в скрипте?
Автор: crotoff
Дата сообщения: 03.12.2009 12:06
скачал обновление, оказываеца действительно bcj2 прописан уже в [External compressor]ах, так что не надо велосипед изобретать
Автор: DemonAk
Дата сообщения: 03.12.2009 12:11
Ребят у кого нибудь остался freearc от 30 ноября 2009, а то от 2 декабря крешится на wav, блин почему я не сохранил старую версию =\
Автор: milwaukeeman
Дата сообщения: 03.12.2009 12:11

Цитата:
milwaukeeman

Цитата:Что означает -ld768m? и как этим управлять?


В командах, создающих архив, ограничивает объём памяти, который будет необходим для распаковки создаваемого архива. В командах распаковки может уменьшить требования к памяти, если алгоритм позволяет сохранять промежуточные данные на диск. По умолчанию –ld75%. См. Использование памяти

FreeArc/Documentation/FreeArc040-rus.htm




Код: -max –lc75% –ld75%
Автор: Bulat_Ziganshin
Дата сообщения: 03.12.2009 12:46

Цитата:
-m=srep+precomp+exe+delta+lzma:254m:max -ld768m

сорри, скорее лучше будет -m=precomp+srep+exe+delta+lzma:254m:max -ld768m


Цитата:
что нужно, чтобы распаковать всё это через inno, а точнее, достаточно ли для этого вашего скрипта FreeArc_Example 3.4 и unarc.dll, или нужно ещё куда-то step и precomp подкладывать и прописывать это в скрипте?

нужно. это описано в скрипте плюс туда же добавить srep.exe


Добавлено:

Цитата:
Ребят у кого нибудь остался freearc от 30 ноября 2009, а то от 2 декабря крешится на wav, блин почему я не сохранил старую версию =\

сорри, сёдня обновлю. а пока: http://freearc.org/download/testing/old/FreeArc-portable-update-0.60RC-win32.zip
Автор: A19EXXX
Дата сообщения: 03.12.2009 12:55

Цитата:
нужно. это описано в скрипте плюс туда же добавить srep.exe

Нужно просто записать файлы precomp'a и step в [Files] и извлечь их в {tmp} рядом с unarc.dll и всё? З.Ы. А добавлять только step, step64 не нужен?
Автор: LonerDergunov
Дата сообщения: 03.12.2009 14:05
srep.exe и srep64.exe
В параметрах сжатия на 64-битных системах нужно прописывать -srep64 ?
Или можно прописать -srep, а оно само определит разрядность оси?
Автор: Bulat_Ziganshin
Дата сообщения: 03.12.2009 14:24

Цитата:
В параметрах сжатия на 64-битных системах нужно прописывать -srep64 ?

нет, нужно поменять секцию в arc.ini:

[External compressor:srep]
;options = l%d (minimal match length, default=512)
packcmd = srep64 {options} $$arcdatafile$$.tmp $$arcpackedfile$$.tmp
unpackcmd = srep64 -d $$arcpackedfile$$.tmp $$arcdatafile$$.tmp
Автор: DemonAk
Дата сообщения: 03.12.2009 17:04
Щас короче жму Star Wars The Force Unleashed всю папку без видео 20,2 ГБ так вот rep:1gb:a99 -> 6,95 Гб O_o ничего се повторов), со srep наверно еще лучше будет результат. Видео в hd 6,45 гигов занимает, придется и его пожать, будет 2 архива останеться только где то найти скриптег запроса 2го диска для FreeArc_Example-Ext =\, Виктор Добров нам его так и не подарил, видать очень занет человек.
Автор: A19EXXX
Дата сообщения: 03.12.2009 17:08
DemonAk, отпишись, как закончишь ))
Bulat_Ziganshin, скажите, так я понял или нет? И я отстану...
Автор: Bulat_Ziganshin
Дата сообщения: 03.12.2009 17:12
A19EXXX
нет
Автор: A19EXXX
Дата сообщения: 03.12.2009 17:18
Bulat_Ziganshin, тогда объясните - как? В скрипте описаний по поводу прекомпа не нашёл...
Автор: DemonAk
Дата сообщения: 03.12.2009 17:29
A19EXXX
Думаю так будет для скрипта FreeArc_Example-Ext
[more]#define precomp GetEnv("ProgramFiles") + "\FreeArc\PowerPack\precomp\*" // положи в папку прекомп по указанному выше пути precomp04.exe, packjpg_dll.dll и srep.exe (который использовал при сжатии 32 или 64)
Ну и остальное как обычно
[Files]
Source: unarc.dll; DestDir: {tmp}; Flags: dontcopy
Source: compiler:InnoCallback.dll; DestDir: {tmp}; Flags: dontcopy
#ifdef precomp
;если указано, что архивы созданы с PRECOMP, в инсталлятор включаются необходимые при распаковке файлы
Source: {#precomp}; DestDir: {sys}; Flags: deleteafterinstall
Source: {#GetEnv("ProgramFiles")}\FreeArc\bin\arc.ini; DestDir: c:\; Flags: deleteafterinstall
#endif
;строки распаковки архивов
Source: {src}\*.bin; DestDir: {app}; Flags: external dontcopy
{#SourceToProgress}
Думаю проканает))[/more]
Автор: A19EXXX
Дата сообщения: 03.12.2009 17:40
DemonAk, спасибо, конечно, но меня интересует скрипт FreeArc_Example, а не FreeArc_Example-Ext
Автор: Bulat_Ziganshin
Дата сообщения: 03.12.2009 18:15

Цитата:
DemonAk, спасибо, конечно, но меня интересует скрипт FreeArc_Example, а не FreeArc_Example-Ext

а, я и не заметил. насчёт него - не знаю. делай сам по аналогии с Ext

Добавлено:
new version:

* fixed bug with TTA (wav files)
* -mex5t now works everywhere, but multithreaded only on post-XP systems with facompress_mt.dll
* new/changed compression modes -mex5..9
Автор: LonerDergunov
Дата сообщения: 03.12.2009 19:47
Bulat_Ziganshin
спасибо. И еще вопрос - если запаковано с помощью srep64.exe, то потом можно разжать с помощью srep.exe (на не-64-битной системе)?
Автор: Bulat_Ziganshin
Дата сообщения: 03.12.2009 19:50
LonerDergunov
я уже писал - srep и srep64 работают совершенно одинаково
Автор: Redisych
Дата сообщения: 03.12.2009 19:55
Заархивировал дистрибутив Corel 13 с опциями из GUI:
Сжатие высокое (-m5)
Защита (авторазмер 1-4%)
Протестировать архив после завершения операции

Получился файл около 250 Мб, чуть меньше rar'a. Самим FreeArc и wArc открывается. Припопытке открыть плагином для TC выдаёт ошибку:

Цитата:
Executing command ' C:\totalcmd\plugins\wcx\Multiarc\FreeArc\Arc.exe v --noarcext -- D:\Distr\CorelDRAW\CORELDRAW_13.arc ' returned errorlevel 2. Possibly an error occurred. Archive listing wasn't retrieved.

Создаю другие архивы поменьше (единицы мегабайт) с теми же опциями, они открываются нормально.
Автор: A19EXXX
Дата сообщения: 03.12.2009 20:03
Bulat_Ziganshin, а вот если такой вариант: я сжимаю файлы с использованием прекомпа и step'a, а для распаковки использую ваш скрипт (обычный, не Ext); рекомпрессию я задам через [Run], вот только как разstep'ить я не знаю... Помогите, плиз!
Автор: Bkz5802
Дата сообщения: 03.12.2009 20:20
Вот отсюда Текущая альфа версия: 0.60RC - загрузка надо сначала ставить варианты дистрибутива инсталлятор, а затем PowerPack инсталлятор?
Автор: Bulat_Ziganshin
Дата сообщения: 03.12.2009 20:25

Цитата:
надо сначала ставить варианты дистрибутива инсталлятор, а затем PowerPack инсталлятор?

да

A19EXXX
не моя тема


Цитата:
Припопытке открыть плагином для TC выдаёт ошибку:

ну выложи архив хотя бы. попробуй его сами fa открыть
Автор: A19EXXX
Дата сообщения: 03.12.2009 20:33
Bulat_Ziganshin, ну может вы знаете параметры для степа, типа как для прекомпа: Parameters: "-o""s.ff"" -r ""s.pcf""";...
Автор: Bulat_Ziganshin
Дата сообщения: 03.12.2009 20:40
A19EXXX
распаковка: srep -d сжатый распакованный
Автор: DemonAk
Дата сообщения: 03.12.2009 21:02
Bulat_Ziganshin
Я вот пробую через powercmd srep обработать, но все время застревает на 10% =\ и неичего не происходит, а вот через тотал коммандер норм обрабатывалось srep но вылетело почему то использовал параметры arc a swtfu_srep -ep1 -r -lc- -ld1016mb -mm=max -m=srep64+exe+delta+lzma:190mb:max:bt4:128:mc10000 "C:\Games\Activision\Star Wars The Force Unleashed\*", еще раз повторюсь папка 20.2 гб, щас поставил от 3 декабря freearc, посмотрим, может что то не то делаю.

Страницы: 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970

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


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