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

» FreeArc (часть 4)

Автор: Maikl65
Дата сообщения: 17.03.2013 14:10
Bulat_Ziganshin

Цитата:
я начинаю подготовку к выпуску 0.70

Очень приятная новость. В связи с этим хотелось бы получить ответ на вопрос, связанный с SFX-модулем архиватора.
В WinRar в случае, если я задаю абсолютный путь для распаковки, например C:\, то в этом случае SFX-модуль автоматически предлагает этот путь в строке выбора места для распаковки. SFX-модуль FreeArc в этом случае предлагает в строке выбора места для распаковки путь, состоящий из имени диска, с которого происходит запуск архива+подставляется имя архива, т.е. при запуске с флешки F: архива Arhiv.exe получается F:\Arhiv\. Если же я указываю в качестве базового каталога внутри архива другой диск, например, С: (или сохраняю полные, включая имя диска, пути к файлам), то при распаковке вылетает ошибка, т.к. получается недопустимый путь - F:\Arhiv\C:\... Если же строку пути в диалоговом окне очистить, то распаковка проходит без ошибок. Нельзя ли сделать так, чтобы в случае заполнения строки "Базовый каталог внутри архива" для распаковки SFX-архива по-умолчанию использовался именно этот путь, а не комбинация диск+имя_архива? Возможно, что мелочь, но неприятно...
Автор: UbiSergei
Дата сообщения: 04.05.2014 16:26
Shuld
Спасибо за поправку. Давно им не пользовался.
Автор: hammerxp1
Дата сообщения: 07.05.2014 07:01
Пока занимался своей разработкой, случайно получился эксперимент.
Имеем 3 папки, в каждой папке набор файлов с системного диска разных ос.
(dll,exe,mui,inf и тд. и тп.)

1. файлов 57671, размер 8,86 Гб.
2. файлов 79349, размер 13,57 Гб.
3. файлов 75584, размер 12,21 Гб.

После сжатия всех папок (rep:256mb+tor:15, сортировка -dsgercpn) получаем размер архива 2,43 Гб. (2 613 137 764)

Удаляем в каждой папке дублированные файлы. Получаем:
1. файлов 37124, размер 4,96 Гб.
2. файлов 49469, размер 7,62 Гб.
3. файлов 49895, размер 7,19 Гб.

После сжатия: (rep:256mb+tor:15, сортировка -dsgercpn) получаем размер архива 2,42 Гб. (2 605 761 577)

Вывод: rep прекрасно справляется с дупликацией файлов.
Автор: Benchmark
Дата сообщения: 17.03.2013 16:45
ndch

Цитата:
Не припомню чтобы за последние 10 лет что-то успешно восстановилось, чтобы от рекавери инфы была польза

У кого как. Пару недель назад при разборе DVD-R восстановил многотомный rar-архив, у которого побился 2-й том (из 50), именно благодаря тому, что на отдельном бэкапе к битому архиву был recovery-том. Если б не было, можно было бы выбрасывать почти весь архив.

Bulat_Ziganshin

Цитата:
От каких ситуаций нужно защищаться, какой объём данных добавлять, какая скорость защиты/проверки/восстановления будет приемлема

В первом приближении - по образу и подобию RAR. Т.е. чтобы можно было:

1. добавлять recovery record в объеме, определяемом юзером в % от размера архива
2. создавать отдельные recovery-тома (актуально для многотомных архивов)
Автор: Bulat_Ziganshin
Дата сообщения: 07.05.2014 13:42
hammerxp1
Вывод: в данном случае rep со словарём 256 мб прекрасно справляется с дупликацией файлов поскольку rep:256m по определению не может найти повторы на расстоянии больше 256 мб, очевидно что в данном случае -dsgercpn успешно переупорядочила файлы так, чтобы повторы находились на меньшем расстоянии. но не всегда это возможно, для таких случаев и нужен srep, который находит повторы на всём объёме данных

Добавлено:

Цитата:
Верхний прогресс-бар и все, что выше - относится к исходным данным
Нижний прогресс-бар и ниже - к архиву.

а, я тогда это не заметил даже. и что в нём за проценты - степень сжатия? показ степени сжатия возможен в основном индикаторе - часть зелёной полоски, соответствующая текущему размеру архива, покрашена ещё каким-то цветом. я даже так делал лет 20 назад - имхо не очень это нужно. а если уж делать отдельный инидкатор, то он должен быть непохож на индикатор прогресса, иначе все так же путаться будут. может скажем сбоку как в rar'овском arcinfo степень сжатия показывается?..
Автор: Bulat_Ziganshin
Дата сообщения: 17.03.2013 21:53

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

постарайся вспомнить, а? а то менять настройки неизвестно почему как-то некузяво


Цитата:
надо что-то поправить с опцией --dirs

это скорее уже после релиза. надо будет разобраться как следует и сделать всё как в rar

Добавлено:

Цитата:
В WinRar в случае, если я задаю абсолютный путь для распаковки, например C:\, то в этом случае SFX-модуль автоматически предлагает этот путь в строке выбора места для распаковки.

скажем так - эта фича в winrar не имеет ничего общего с базовым каталогом архива. так что вопрос на самом деле стоит в создании installer-модуля с опциями как в rar/7-zip
Автор: Bulat_Ziganshin
Дата сообщения: 07.05.2014 23:08

Цитата:
Тогда не понимаю почему в виртуальной машине с количеством процессоров > 1, имея физически 1gb памяти, свободной >512, unarc.dll вылетает с ошибкой по чтению записи памяти, а unarc.exe говорит о нехватке памяти?

там много всего намешано. -mt по умолчанию выставляется в кол-во ядер/потоков cpu. в 4x4 можно явно укзаать числдо потоков упаковки с помощью :t, по умолчанию оно приравнивается к опции -mt. после того как параметр же таким образом задан, arc проверяет хватит ли памяти для упаковки и если нет - обрезает его. при этом даже если вы явно задали :t при сжатии - он вырезается из записываемого в архив определения (смотрится командой arcindo/lt) исходя из предположения что этот параметр вы задали для сжатия, а при распаковке могут быть какие угодно (и неизвестные заранее) условия

при распаковке происходит примерно то же самое, только :t у нас понятно никакого нету - ему неоткуда взяться. но это делает arc. как работает unarc и как он определяет размер ОЗУ в виртуалке - надо посомтреть, помнится мне что там что-то проще сделано поскольку это отдельный алгоритм на C++, а основной в arc на хаскеле. опцию -mt в unarc наверно надо добавить для таких горемык

если tor:15 близко к lzma сжимает - его и используйте. добавьте ещё :c3 - это ускорит распаковку


Цитата:
Кстати tor:16 при упаковке тоже не хватает памяти.

с гигом озу? ну да, ему 1.5 гига нужно (с дефолтным 128 мб словарём), как и lzma:max. вообще с 40 гб файлом надо в сторону srep смотреть, вроде есть cls-srep.dll для его распаковки на лету
Автор: Bulat_Ziganshin
Дата сообщения: 18.03.2013 10:27
Guenplean
есть спецтема по is+архиваторам. и спрячь там текст скрипта под тег more, а отсюда вообще пост сотри
Автор: egor23
Дата сообщения: 08.05.2014 11:53
hammerxp1
если интересуетесь сжатием, вот подопытный
NDP452-KB2901951-x86-x64-DevPack.exe 328МБ
http://www.microsoft.com/en-us/download/details.aspx?id=42637

содержимое можно сжать сильнее, как минимум до 150МБ
Автор: ndch
Дата сообщения: 18.03.2013 14:16
Benchmark

Цитата:
У кого как. Пару недель назад при разборе DVD-R восстановил многотомный rar-архив, у которого побился 2-й том (из 50), именно благодаря тому, что на отдельном бэкапе к битому архиву был recovery-том. Если б не было, можно было бы выбрасывать почти весь архив.

Бекапы solid-ными делать более чем странно.
DVD-R всё больше и больше на атавизм смахивает, особенно в свете того что скорость чтения слегка поцарапанного dvd зачастую ниже скорости "100 мегабитных интернетов", не говоря уже о гигабитных локалках.

Добавлено:
j52

Цитата:
Недавно слил инфу с компа на внешний USB-HDD, этак 140Гб, освободил место Потом кинулся читать - все архивы битые. (Как потом выяснилось - взглючил USB-шный контроллер, и кроме ошибок еще подсаживал этот HDD по питанию, так что в конце-концов пришлось материнку менять). А вытащил всю инфу именно через рекавери. Т.к. уже давно - RAR с -rr10p (именно из-за рекавери и RAR).

Если бы глючило чуть посильнее - не спасло бы.
Припоминаю как у меня одна плашка памяти спустя 2 года эксплуатации на ровном месте взглюкнула: ребутнула винду и chkdsk превратил всё что было на винте (raid-1) в кашу.
Вывод: от железных проблем recovery record не всегда спасает.
Автор: Bulat_Ziganshin
Дата сообщения: 08.05.2014 21:11
опцию -mt в unarc/dll/sfx приделал
Автор: j52
Дата сообщения: 18.03.2013 15:32
ndch

Цитата:
Вывод: от железных проблем recovery record не всегда спасает.

"Не всегда спасает" - это да! Но "лишним бантиком" recovery record для FreeArc не будет, это точно...

Цитата:
ребутнула винду и chkdsk превратил всё что было на винте (raid-1) в кашу

Тоже натыкался после ребута... 1.5 месяца разгребал!, благо что хоть ченжлог был...
Автор: Bulat_Ziganshin
Дата сообщения: 09.05.2014 15:37

Цитата:
2) Большая часть исходных данных, по моему мнению не нужна. Количество файлов смело можно выкидывать, с этой информацией ничего не поделаешь (не остановится же пользователь посередине архива, достигнув магического числа). Текущий размер во время обработки выкидываем по той же причине. Также не вижу, зачем нужен размер информации (исходный и обработанный), роль заменяется процентом.  

3) Размер лучше показывать во МБ с двумя знаками после запятой. Кстати, можно спросить, почему у мегабайта маленькая 'm'? Вики использует большую. А еще лучше использовать вместо десятичных бинарные приставки, даешь просвещение в массы!

4) Время: меняем формат на 1h 23m; не отображаем секунды, пока не остается меньше минуты; не отображем час, пока не прошёл час.

дело в том что нынешний "широкий" индикатор прогресса разработан для гиков, для тех кому важна каждая деталь выполняемой операции. поэтому там размеры до байтов, время в секундах и прочее. я думаю, что надо делать альтернативный индикатор прогресса с минимумом деталей, твой дизайн под него мне кажется подходящим, вместе с упрощением самой информации (размер в МБ, время в часах-минутах и т.д.). т.е. исходить из того что большинству людей интересно. имхо, это ratio, speed, исходный размер данных, (предсказываемое) общее время работы
Автор: laden2009
Дата сообщения: 18.03.2013 18:58
В windows 8 x86 не работает контекстное меню проводника в версии freearc от 12 декабря 2012.
Автор: Benchmark
Дата сообщения: 18.03.2013 21:01
ndch

Цитата:
Бекапы solid-ными делать более чем странно

Для редко используемых / редко обновляемых данных - абсолютно нормально. А при наличии recovery-томов еще и вполне надежно.
Автор: Shuld
Дата сообщения: 10.05.2014 14:07
Bulat_Ziganshin
Может быть более прогрессивный вариант?
Каждый индикатор может быть размещен где хочется пользователю (мышкой), правой кнопкой мыши - количество знаков после запятой (или показывать или нет секунды и т.п.)
Все это запоминается в настройках (скинах?).
Я лично тогда сделаю, как мне будет удобно.

Добавлено:

Цитата:
и что в нём за проценты - степень сжатия?

Верхний прогресс-бар - обработанные исходные данные/ все исходные данные

Нижний прогресс-бар - текущий размер архива/ все исходные данные.
Когда сжатие закончится - это будет процент сжатия.
Автор: conbar
Дата сообщения: 19.03.2013 11:41
Bulat_Ziganshin
Булат,добрый день! В Peazip стоит ваш жутко кривой модуль! Криво создает само-распаковывающийся архив,кракозябры в названиях. Какую версию он туда ставит,ведь кочует этот баг давно! А сам разработчик этого Peazip-а с Вами связывался? Можно там это как-то исправить? В Вашем,оригинале такого же нету...
Автор: aslav
Дата сообщения: 11.05.2014 13:53
Как десктопный архиватор сабж более не развивается автором?
Я не для флейма интересуюсь, и говорить - "возьми и скачай, пользуйся - работает же".

4 года новой паблик версии нет. роадмэп завис на 2012 году.

Отсюда вопрос - для паблика вскоре планируется что-то или сабж можно рассматривать как поле для экспериментов энтузиастов борьбы за минимизацию интересующимися и личное хобби автора?
Автор: Vladimyr
Дата сообщения: 19.03.2013 23:03

Цитата:
я начинаю подготовку к выпуску 0.70.

новость супер! вот ещё бы 64-битную версию под Лин
(необязательно использующую все преимущества 64 бит,
хотя бы просто кросс-сборку, которая запускается )
Автор: Shuld
Дата сообщения: 14.05.2014 19:18
aslav
Постоянно выходят новые версии.
И в этом году уже были.
Вы в топике ссылку
http://forum.ru-board.com/topic.cgi?forum=5&topic=35164&start=0&limit=1&m=1#1
смотрели?
Или здесь:
http://freearc.org/Download-Alpha.aspx
Я бы версией 0,666 пользоваться не советовал - в ней есть ошибки.
Почему автор не обновляет релиз?
Не знаю. Ищет идеала...
Автор: muzf
Дата сообщения: 20.03.2013 01:17
Булат, как насчёт включения в 0.70 тех быстрых пресетов из соседней темы, а также packarc для jpg/mp3 без precomp ?
Автор: hammerxp1
Дата сообщения: 20.05.2014 13:39

Цитата:
опцию -mt в unarc/dll/sfx приделал

Просто отлично! но, как работает можно поподробнее,и где скачать, потестить.

Цитата:
с гигом озу? ну да, ему 1.5 гига нужно

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

Идея про дубликаты файлов:
Под свои потребности пока что реализовал так: написал махонькую программку,перед упаковкой она ищет дубликаты файлов, создает txt файлик в корне упаковываемой папки, в нём чётные (отсчёт с нуля) строки это относительные пути к файлу оригиналу, не чётные это пути к файлу дубликату. Потом пробегается по нечётных строкам и удаляет все файлы.
Далее упаковываем, а когда распаковываем архив запускается программа опять, она берет файл с чётной строки и копирует его в путь нечётной.
Примерно так выглядит txt:
\test\file1.dll -чётн
\test\1\file1.dll -нечётн
\test\file1.dll -чётн
\test\2\otherfile1.dll -нечёт (имя может быть другим, а содержание тоже)
\test\file2.exe
\test\2\file2.exe.bak

Кстати я реализовал ещё круче вместо файлов дубликатов (при условии что система на диске ntfs) создаются хардлинки (жёсткие ссылки) что после распаковки ещё и место на диске экономит. Но тут много подводных камней и не всегда применимо.
Надеюсь более менее понятно написал, я в "весёлом настроении"
Автор: vasulpr
Дата сообщения: 20.03.2013 02:44

Цитата:
Булат, как насчёт включения в 0.70 тех быстрых пресетов из соседней темы, а также packarc для jpg/mp3 без precomp ?

Не все сразу! дайте автору привести в порядок то что есть!
Автор: ndch
Дата сообщения: 20.03.2013 07:47
Bulat_Ziganshin
Хотелось бы сделать примечание по sfx модулю.
Немного подглючивает прогрессбар.

Изображаю в лицах:[more]
Извлекаю sfx архив на "юсб-флешку".



















Прогресс-бар всегда на 99%.
"Remaining time" всегда 1 секунда.
На последнем скриншоте видно что процесс извлечения длится минуту.

На свежескачанной альфе происходит то же самое.
[/more]

Опишу словами:
Дефект: При извлечении неверно работает "прогноз оставшегося времени".
Запрос: Пожалуйста подкорректируйте алгоритм вычисления "предполагаемого оставшегося времени", чтобы "Remaining time" походило на реальное.
Причина: ожидание неизвестности очень дискомфортный процесс (психологический дискомфорт).


При этом скорость извлечения - верная.
Также в архиве присутствует "размер файлов в распакованом виде".
Со стороны, абстрактно, кажется что исправить не так уж и сложно.

Еще одно применение FreeArc - в качестве бенчмарка (на запись) юсб-флешек
Автор: vvvyg
Дата сообщения: 01.06.2014 22:21
12345
Автор: useretail
Дата сообщения: 02.06.2014 00:03
извиняюсь, но не знаю где спросить
<offtopic>
Как можно распаковать InnoSetup с данными пожатыми FreeArc-ом? Не очень хочется запускать инсталлятор который зачем-то требует админ-привилегий и как минимум гадит в пуск, реестр и тп. 95% случаев всё прекрасно работаeт без каких либо записей в реестре, для оставшихся 5% можно почитать скрипт и вручную добавить то что нужно
innounp данные не распаковывает, только скрипт установки и то что в setup.exe/.bin

В некоторых случаях архивы еще и зашифрованы, пароль видимо тоже зашит в инсталляторе, как его извлечь?
</offtopic>
Автор: addhaloka
Дата сообщения: 02.06.2014 01:06
useretail 02:03 02-06-2014
Цитата:
Как можно распаковать InnoSetup с данными пожатыми FreeArc-ом? Не очень хочется запускать инсталлятор который зачем-то требует админ-привилегий и как минимум гадит в пуск, реестр и тп.

Как вариант: Sandboxie или виртуалка.
Автор: Bulat_Ziganshin
Дата сообщения: 20.03.2013 08:16
ndch
медленно идёт создание 1024 файлов на флешке. само извлечение происходит за доли секунды. соответственно, алгоритм, который будет работать в данном конкретном случае - придумать несложно. сложно сделать алгоритм который будет работать корректно во всех случаях, в том числе и этом
Автор: useretail
Дата сообщения: 02.06.2014 19:13

Цитата:
Sandboxie или виртуалка

Спасибо, с этими способами знаком. Думал что есть попроще - напрямую.
Автор: ndch
Дата сообщения: 20.03.2013 08:31
Bulat_Ziganshin
Понимаю что возможно на это нет времени, просто напоминаю, на случай если Вы забыли:
http://forum.ru-board.com/topic.cgi?forum=5&topic=35164&start=560#5

Суть предложения в том, чтобы была возможность
драг-н-дропнуть на sfx любой *.arc и этот *.arc извлёкся.
Т.е. при запуске sfx.exe анализировал аргумент и "извлекал из него содержимое архива", если это *.arc (или *.exe, но )
(по сути при драг-н дропе запускается sfx.exe тот_файл_который_кинули_на_пиктограмму)

Для чего ? "В среднем по палате" sfx-ы встречаются гораздо чаще чем "полнофункциональный архиватор".

Добавлено:
Bulat_Ziganshin

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

Делать поправку раз в 15 секунд (общий размер "распакованных" файлов/скорость) не вариант ?
Нет, Вам виднее, но мне просто интересно.

Страницы: 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275

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


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