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

» FreeArc (часть 4)

Автор: Bulat_Ziganshin
Дата сообщения: 19.01.2013 20:52
1noObman1
1. с этим stdin/out сплошные проблемы так что смирись
2. в arc.ini можно только определять новые методы, например mylzma=lzma:lp2
3. я проверял компиляцию только в gcc+gnu make. borland make не катит
Автор: Bulat_Ziganshin
Дата сообщения: 31.01.2014 13:54
Edison007007
1. а старший режим srep пробовал (-m3/m5 в зависимости от версии)?
2. в принципе это полезная вещь, но у меня сейчас явная перегрузка -> скоро не жди
Автор: LonerDergunov
Дата сообщения: 20.01.2013 03:07
death7lord
Америку открывать всегда интересней, чем документацию читать )))
И да, из трёх среп-файлов нужен один. И куда-то потерялись packjpg_dll.dll и zlib1.dll; если уж выкладывать - то надо выкладывать полноценный комплект, а не половинку на серединку (напомню, что в прекомпе 0.42 эти файлы не линкованные)...


Цитата:
нельзя автоматически добавлять содержимое из freearc.addon

Можно. Только, разумеется, добавлять не в настройках Тотала, а в настройках плагина MultiArc.


Цитата:
а почему у тебя там ANSI вместо UTF-8? с русскими именами-то работает? версия TC/MultiArc какая?

Вмешаюсь в разговор.
Почему именно так - наверное, потому что это я так прописал четыре года наза в настройках своей сборки Тотала (я же добавил туда прекомп и среп-файлы).
Потом эти настройки расползлись по интернету.
Почему именно ANSI ? Да всё проще некуда - эти настройки работают. Они были взяты из доки к какой-то старой версии FreeArc, эти настройки распаковывают и упаковываю все архивы, с которыми я сталкивался или работал, в том числе поддерживают русские имена.
Версии ТС разные, MultiArc - 1.4.1.6 (последняя доступная).
Наверное, дело в том, что MultiArc не поддерживает UTF, потому нынешние настройки (приведённые в архиве к FreeArc) - не работают.
Вопрос о правильности настроек уже поднимался на форуме, но так и остался без рассмотрения.

Добавлено:
Bulat_Ziganshin
А как вообще precomp работает и именуется?
Интересует в первую очередь конкретно случай с интеграцией FreeArc в Тотал с возможностью упаковки-распаковки.
Вот сейчас в дистрибутиве FreeArc версия precomp 0.4.2, причём она именуется precomp042.exe
Почему именно эта версия, а не новая 0.4.3? Почему именно так названа, а не просто precomp.exe ? Каким образом работа (упаковка/распаковка) во FreeArc привязана к названию precomp-файла???

Она не умеет распаковывать старые архивы, сделанные версией 0.4 (((

Порылся в своих старых версиях сборки Тотала и в своих старых перепаковках игр. Выяснил следующее. Есть архивы игрушек, упакованные мною осенью 2009 (хз какой версией прекомпа). Пытаюсь извлечь их содержимое через Тотал. Архив открывается даже без precomp-ехешника. Но не извлекается, выдаётся ошибка errorlevel2. Чтобы извлёкся - надо кинуть рядом с unarc.exe файлы precomp04.exe (версия 0.4, причём именно с таким именем) и packjpg_dll.dll. Если пытаться использовать для распаковки precomp 0.4.1 или 0.4.2 или 0.4.3 - дзуськи, выскакивает ошибка при распаковки, с именами тоже игрался - работает только если имя файла precomp04.exe.

Главный вопрос - какие версии precomp должны лежать рядом с arc.exe и unarc.exe и как они должны именоваться, чтобы FreeArc мог распаковывать все ранее упакованные архивы, а при создании нового архива использовал самую свежую версию precomp ?
Автор: Edison007007
Дата сообщения: 31.01.2014 18:52
Bulat_Ziganshin
1. В данном тесте я подбирал наилучшие опции для SREP (3.9) -m, -l, -c, -b. После чего сжимал с помощью LZMA. Т.е результаты показывают наилучшее сжатие для определённой цепочки сжатия.
2. Да, я просто предлагаю)
Автор: Bulat_Ziganshin
Дата сообщения: 31.01.2014 21:33
Edison007007
а можешь поделиться этими данными? лучше сразу в формате wim, он ведь 7-zip'ом распакуется? глядишь и сделаю
Автор: Edison007007
Дата сообщения: 01.02.2014 16:14
Bulat_Ziganshin
Да, конечно, вот: https://mega.co.nz/#!C0QxyYTS!Ae7jtCne-QWrzUX-Mp6_YlcRp6KZ9ELYWfCQd8VSerU
wim (7-zip 9.20) +lzma (FreeArc)
Вообще это далеко не единственный случай, где дедупликация даёт плюс в сжатии.
Автор: Bulat_Ziganshin
Дата сообщения: 20.01.2013 05:23
LonerDergunov
1. раньше в TC MultiArc была поддержка только ANSI кодировки. Здесь мне скзаали что теперь UTF-8 работает, значит он ошибся. Исправлю назад

2. Можешь улучшить инструкцию из заголовка freearc.addon чтобы даже нюбам в TC было понятно как это подключать? напиши по русски, я переведу

3. в комплекте с freearc сейчас поставляется precomp042.exe, являющийся precomp 0.4.2 с встроенными dll. Соответственно freearc может упаковывать методом precomp042, вызывающим этот exe. через arc.ini можно настроить поддержку и других версий precomp аналогичным образом, но никаких гарантий по совместимости с чужими архивами при этом не будет. кстати, freearc может включать использование precomp и srep через GUI (Compression options dialog)

0.4.3 просто вышла позже, чем я это всё делал, и так и не решила всех проблем с precomp
Автор: Bulat_Ziganshin
Дата сообщения: 01.02.2014 16:36
Edison007007
ну и морда там а вообще гляжу у меги отличный UI. собственно у меня такая идея - добавить ключ который будет сканировать файлы перед сортировкой, объединять их в группы по хеш-сумме, и отдавать сортировщику только один файл их каждой группы в качестве своего представителя. а затем все остальные будут просто класться с ним рядом. это ещё не дедупликация, но всяким srep/lzma должно помочь изрядно. или всё же сделать поддержку дедупликации файлов в формате самого архива...
Автор: LonerDergunov
Дата сообщения: 20.01.2013 19:34
Bulat_Ziganshin

Цитата:
Здесь мне скзаали что теперь UTF-8 работает, значит он ошибся.

Я не знаю кто ошибается или в каких случаях (в каких ОС с какими настройками) возможны ограничения или нюансы, но лично у меня не работает с UTF и русскими именами, а вот с ANSI - вроде как работает от ХР до Win8.


Цитата:
Можешь улучшить инструкцию

Составил.
Прямая ссылка:
http://dreamlair.net/download/FreeArcTC.rar
(по мере изменений буду обновлять архив).

Такие вопросы:
Задействованы ли файлы facompress.dll и facompress_mt.dll и файл arc.groups ?
Можно ли заходить в srep и pcf-файлы в Тотале как в архивы и просмотреть содержимое или они поддерживают только распаковку родными средствами? (ведь если при архивации arc применить прекомп или srep - то содержимое просматривается).
Автор: Edison007007
Дата сообщения: 02.02.2014 10:25
Bulat_Ziganshin
Хех, я даже и не заметил
Не очень понял, как должно работать по первому предложенному способу, но, думаю, нужно чтобы с дедупликацией работала сортировка файлов внутри архива по остальным критериям (размер, имя етк), ну и основное сжатие было, т.е в одном архиве дедупликация+цепочка сжатия. Хотя наверное это и так само собой разумеется
Автор: Bulat_Ziganshin
Дата сообщения: 20.01.2013 20:33

Цитата:
Задействованы ли файлы facompress.dll и facompress_mt.dll и файл arc.groups?

facompress*.dll в среднем на 10% ускоряет работу, arc.groups улучшает сжатие


Цитата:
Можно ли заходить в srep и pcf-файлы в Тотале как в архивы

нет. мой плагин поддерживает только arc
Автор: WiperX
Дата сообщения: 05.02.2014 21:28
Всем привет. Подскажите плз, как через батник распаковать sfx архив в текущую папку? Нужно чтобы файлы из архива data распаковались в папку с программой, а не в папку с названием архива. Заранее спасибо.
Автор: LonerDergunov
Дата сообщения: 20.01.2013 22:01

Цитата:
нет. мой плагин поддерживает только arc

А если сделать новый плагин ?
Или .srep и .pcf-файлы сами по себе не являются обычными архивами и не поддерживают просмотр/частичное извлечение содержимого?
Автор: Bulat_Ziganshin
Дата сообщения: 05.02.2014 21:39
WiperX

Код: E:\>sfx.exe -h
FreeArc 0.67 SFX http://freearc.org 2013-11-11
Usage: arc.exe [options] [filenames...]
Available options:
-l - display archive listing
-v - display verbose archive listing
-x - extract files
-e - extract files without pathnames
-t - test archive integrity
-ap{Path} - set base directory inside archive
-d{Path} - set destination path
-w{Path} - set temporary files directory
-p{Pwd} - set decryption password
-ld{Mem} - limit memory used for decompression (-ld- means no limit)
-y - answer Yes on all overwrite queries
-n - answer No on all overwrite queries
-s[1,2] - silent mode
-cfg{Path} - config file name (default: arc.ini, -cfg- means no config)
-- - no more options
Автор: Bulat_Ziganshin
Дата сообщения: 20.01.2013 22:21
LonerDergunov
pcf не изучал, а srep - это просто сжатые данные
Автор: Bhakuda
Дата сообщения: 05.02.2014 21:41
Bulat_Ziganshin
Булат, прежде всего, Благодарю за программу!

А следующим хочу рассказать о возникающей ошибке при переносе настроек.

Суть такова: стоял на системе win7x64 freearc.v0.67. Перед переустановкой, сохранил на другой диск настройки программы в виде папки взятой из ....\AppDate\Roaming\. После переустановки системы и установки Вашей программы, перенёс папку настроек методом замены в \Roaming\. Всё настройки подхватились за исключением одного: в эксполере отсутствуют пункт меню программы. При настройке программ, всегда запускаю онную от администратора пока не настрою, но ничего не помогало. Другие настройки программы есть, а вот пункта меню (у меня настроено на вложенные меню) в экспорер нет. Методом переустановки и замены настроек выяснилось следующее: к такому эффекту ведёт замена папки. Если же заменить не папку, а только файлы в папке, меню появляется.

Благодарю за внимание!
Автор: shinji2009
Дата сообщения: 29.01.2013 15:44
привет, товарищи. решите задачку, пожалуйста =) дано: два файла по 16 гигабайт, которые на 99,9% совпадают (два образа одной флешки, снятые разными программами для создания образов). при этом флешка была на 50% пустая, то есть файлы с половины и до конца состоят из нулей (это абсолютно точно - сделал посекторное форматирование флешки перед записью на неё данных, и ещё потом полученные образа в хекс-редакторе пролистал). я и думаю: раз флешки на 50% из нулей, то архиватор всяко запакует каждый файл до 8 гигабайт. а так как файлы почти одинаковые, то и архив получится примерно гиг 8-9. а вот нет. получается около 14. то есть архиватор не просекает, что файлы почти одинаковые, и на этом можно нехило уменьшить размер архива. вопрос: можно ли его научить это "просечь"?
Автор: WiperX
Дата сообщения: 05.02.2014 21:48
Bulat_Ziganshin
Пробовал с ключом -d -s2 -у, но архив распаковывается в папку с названием архива, а нужно чтобы распаковался в папку из которй запущен.
Автор: Vladimyr
Дата сообщения: 29.01.2013 17:37
shinji2009, а как винрар?
Автор: Bulat_Ziganshin
Дата сообщения: 05.02.2014 22:12
WiperX
-d.

учите dos

Добавлено:
Bhakuda
мне про подобные проблемы не раз говорили. видимо, программа считает что она уже в explorer настроена, и потому отказывается это делать заново. раньше проще было - была просто кнопка "зарегистрировать". в таком случае надо попробовать выключить интеграцию и включить её снова, вы пробовали?
Автор: shinji2009
Дата сообщения: 29.01.2013 17:42
Vladimyr
они оба делают то же самое. у rar-то вообще настроек почти нет, а с настройками 7zip и FreeArc я пробовал играться, но эффекта никакого... документацию попробовал читать - не по моим мозгам, если честно =) старался жать как непрерывный, и расширения у файлов делал одинаковые на тот случай чтобы архиваторы думали что файлы одной структуры...
Автор: WiperX
Дата сообщения: 05.02.2014 22:44
Булат спасибо, то что нужно
Автор: Vladimyr
Дата сообщения: 30.01.2013 16:47
мне кажется, чтобы архиватор "увидел", что файлы идентичные,
нужна возможность построения словаря размером не меньше
файла. тогда при сжатии второго файла архиватор будет сравнивать
его со словарём от первого и поймёт, что почти все паттерны
одинаковые. так что идите в магазин за новой памятью
Автор: Bhakuda
Дата сообщения: 06.02.2014 00:55

Цитата:
вы пробовали?


Выше же написал
Цитата:
Методом переустановки и замены настроек выяснилось следующее...

На мой взгляд, это первое, что приходит в голову при такой проблеме. Реакция нулевая.

Автор: shinji2009
Дата сообщения: 30.01.2013 16:55
Vladimyr
а если виртуальную увеличить (свап-файл) - поможет?
Автор: hammerxp1
Дата сообщения: 09.02.2014 02:18
Добрый день господа! Подскажите пожалуйста оптимальные параметры для сжатия Файлов windows. Дело в том что я занимаюсь сборками windows и написал свой установщик windows 7 и 8, установка из архива FreeArc с использованием unarc.dll, то есть все дополнительные навороты типа precomp и тд. использовать не могу, и вот не получается ужать все версии win7 x86, 7x64, 8x86 и 8x64 до размеров одного dvd. Получается примерно 4,06гб, но нужно ещё где то 400-500 мб для загрузчиков и тд.
В кратце расскажу как создаю архив: Берется образ windows, из него извлекается wim файл, распаковываем этот win с помощью 7zip, обычно получается несколько каталогов 1,2,3...,
оставляем один из них, остальные не нужны, удаляем их. Оставшийся каталог и есть то что нужно. Так же проделываем и для других версий windows. В итоге имеем 4 каталога, это windows 7x86,7x64,8x86,8x64 (примерно так их и обзываем) вот всё это мне и надо упаковать


Добавлено:
И ещё одна проблема, наверно не решаемая. Несколько файлов в каталоге windows 8 имеют очень длинные пути, FreeArc не может их упаковать и пропускает. Я конечно могу их запихать в укороченный каталог а потом в программе переместить в нужное место, но может можно как то по другому?
Автор: vasulpr
Дата сообщения: 30.01.2013 17:37
shinji2009
для реализации того что вы хотите нужно словарь размером 16 Гб. здесь только srep сможет помочь
Автор: Highpass
Дата сообщения: 20.02.2014 01:22
hammerxp1

Цитата:
Подскажите пожалуйста оптимальные параметры для сжатия Файлов windows.

Никто не подскажет и тебе самому надо заморочиться тестами. Я бы обратил внимание на такие элементы цепочки, как dispack, delta, lzma, и конечно rep\srep.
lzma естественно последним звеном, а вот порядок остальных - спорный вопрос. Для delta я бы так же поигрался с размером блока и конечно бы побрутил параметры lzma.
На одном из моих тестов на бинарниках получилась такая цепочка:
-mdelta:b128m+dispack+lzma:a1:mfbt4:d128m:lc0:fb273:lp1:pb2:mc10000
Но там был не нужен rep\srep, а тебе он определенно нужен. И куда его вставить в звено, и как он повлияет на пред\пост фильтры - неясно. В принципе не так много комбинаций, так что всё в твоих руках.

Цитата:
то есть все дополнительные навороты типа precomp и тд. использовать не могу

Можешь.

Цитата:
и вот не получается ужать все версии win7 x86, 7x64, 8x86 и 8x64 до размеров одного dvd

Ты забываешь, что например внутри основного WIM файла есть winRE.wim, который можно пережать и сохранить порядка 80 МБ. Есть и еще трюки.
И вообще скажи как называются твои сборки, чтобы знать от чего держаться подальше.

Добавлено:
Bulat_Ziganshin

Цитата:
или всё же сделать поддержку дедупликации файлов в формате самого архива...

Вопрос пофайловой дедупликации назревал уже давно и очень хорошо, что Эди высказал предложение вслух. Любому человеку вполне очевидно, что для того же tta в случае многих дупликатов, гораздо лучше сделать пофайловый дедуп, чем объединять файлы в один блок, пропускать через (s)rep и сжимать как raw. Для некоторых внешних компрессоров непофайловая дедупликация вообще недопустима.
Я лично за реализацию на уровне формата. Да, это вызовет несовместимость, но я не припомню когда это автор FreeArc боялся экспериментов.
Сам дедуп можно делать на том же blake2 с многопоточностью, а для сверх-параноиков ввести режим, когда помеченые как идентичные файлы будут сверяться побайтно.
Автор: CDK
Дата сообщения: 30.01.2013 21:48

Цитата:
здесь только srep сможет помочь

можно еще xdelta, но это уже "ручками" кмк
Автор: ruduk
Дата сообщения: 31.01.2013 12:25
shinji2009

Цитата:
... и расширения у файлов делал одинаковые на тот случай чтобы архиваторы думали что файлы одной структуры...

Разные способы снятия образа - разный способ записи образа в файл. Вот и вся причина плохого сжатия.
Если размер файлов почти такой же, это не говорит что файлы совпадают на 99,9%. Сравните файлы не "НЕХ-редактором на глаз", а Ткомандером, например. Знающий скажет, что файлы по 16 ГБ невозможно сравнить Ткоммандером. Так вы разбейте файлы кусками по 100 МБ и сравните первый кусок 1-го файла с первым куском 2-го файла - будет слишком много различий, чтобы это можно было считать 0,01% отличий.
Даже между flac файлами снятыми разными программами (с одинаковымы настройками кодирования) получаются отличия.
Если действительно очень нужно хоть как то уменьшить размер, то необходимо объединить оба файла как TAR, пройтись по нему srep, и только после этого паковать 7-zip или FA.

p.s. Отпишитесь когда все сделаете

Страницы: 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275

Предыдущая тема: Punto Switcher (часть 3)


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