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

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

Автор: egor23
Дата сообщения: 21.11.2007 02:14
Bulat_Ziganshin

Цитата:
а как ты без качалки будешь работать с этим оглавлением?

Если будет реализовано в какой-нибудь качалке поддержка FreeArc, это замечательно, только перед тем как частично выкачивать, нужно для начала сравнить то, что лежит в архиве с тем, что лежит на винте, и потом уже выкачивать 100% отличные файлы, если такие будут. А для этого нужна информация, которую можно использовать для сравнения (имя файла, размер файла, дата, контрольная сумма).

Пример ZIP:
Качалки: Reget, Download Master
Сравнилка: Beyond Compare
Сравнение: Размер+CRC

1. Получаем огавление архива:
Для это подходит Download Master, т.к. возможно дальнейшая работа с оглавлением, хоть в TC, но больше подходит Beyond Compare.
2. Сраниваем в Beyond Compare что имеем на винте с оглавлением.
3. Отмечаем нужное и Выкачиваем.

Последнее что выкачивалось:
KMPlayer (обновляется очень часто, выкачивать по 17Мб тяжко)

Из примера видно, что одной качалки недостаточно, чтобы скачать нужные файлы (или я просто незнаю о ПО которое может делать "всё и сразу").
Поэтому добавление оглавления это только первый шаг, следущий шаг или программка для работы с оглавлением для сранения, или конвертор оглавления в ZIP-формат, чтобы с ним можно было работать в ПО, которое работает с zip-архивами. Но на сегодня хотя бы первый шаг сделать реализовался бы.


Цитата:
насчёт block-solid архивов - в оглавлении содержится достаточно информации для того, чтобы выкачать только необходимую для распаковки часть файла

Это частный случай, настройки по-умолчанию –s1gb.


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

Я понимаю что добавить информацию в конец архива проще, но потом её сложнее получить с конца файла, если вообще будет такая возможность.
А ждать милости от писателей качалок знаете ли не благодарное занятие, если нормальной работы с ZIP не обеспечели... (прошло времени: Reget 3.5 года, Download Master 4 года).


Цитата:
два временных файла

вообщем-то да, два временных.

Цитата:
инфа + архив (склеить два фала и всё)

здесь имелось ввиду что к созданному архиву прицепляется инфа

PS: идём от простого к сложному, потяхоньку, как обычно.
Автор: arsvrn
Дата сообщения: 21.11.2007 07:48
egor23

Цитата:
Дело в том, качалки качалками, а если нету качалки, как конец файла выкачивать будете?
Да и с ZIP работают единицы: Reget, Download Master и оба имеют свои недостатки.

Без качалки говорить о выкачке оглавления даже из начальной части файла несерьезно. Ты предлагаешь браузером начать закачку и тут же остановить? Да на ADSL млм спутнике за секунду пару мегабайт получить можно . Так что, только приспособленной прогой можно нормально выкачать оглавление. А ей уже без разницы, откуда брать - из начала или конца. Разница есть только, если сайт не поддерживает закачку с произвольного места, но таких уже немного осталось. В этом случае оглавление в начале поможет.
PS: список качалок с поддержкой zip'а далеко не так мал - есть еще много других, например, Mass Downloader (больше просто не помню, хотя попадалось много).

Bulat_Ziganshin

Цитата:
насчёт block-solid архивов - в оглавлении содержится достаточно информации для того, чтобы выкачать только необходимую для распаковки часть файла

Так что, все-таки и из solid-архива можно только частью обойтись? Я, вобщем-то, так и думал, но очень распространено мнение, что нужен весь архив, так как информация размазана по всему файлу.
Автор: euheny
Дата сообщения: 21.11.2007 07:55

Цитата:
добавь к этому необходимость как-то кешировать последний использованный пароль...
ну можно просто в ини указать путь к файлу с паролем на флэшке

Цитата:
значит, получается где-то так:

вот только замечу ещё раз: в случае одного большого файла автономномть бесполезна - важны дополнительные РВ

Цитата:
сначала надо сделать два временных файла, затем слить их в результирующий архив
зная особенности ФС это можно сделать мгновенно переназначением кластеров
да и вобще самый лучший (но не самый удобный) вариант - это создать рядом с архивом так сказать "файл для восстановления" с необходимыми данными


Автор: Bulat_Ziganshin
Дата сообщения: 21.11.2007 11:55

Цитата:
Присоединяюсь к пожеланию egor23 о размещении информации об архиве в компактном виде в начале архива.


в доке же ясно написано - по умолчанию после каждых 20 тысяч файлов записывается каталог для этих файлов. в маленьком архиве (или при опции -s;) весь каталог будет вообще в конце архива, да и в варианте по умолчанию достаточно считать последние несколько кил (где находится каталог каталогов) чтобы выяснить точное местоположение всех каталогов архива

вообще, меня эта идея заинтересовала в плане реализации её в самой программе. ведь достаточно привлечь библиотеку чтения ftp/http и сделать понятие File двухвариантным - обычный файл или url, как получится, что программа может делать всё вышеописанное; правда в отсутствии GUI это будет не столь удобно. удивительно, что в других архиваторах нет такой фичи

Добавлено:

Цитата:
Так что, все-таки и из solid-архива можно только частью обойтись? Я, вобщем-то, так и думал, но очень распространено мнение, что нужен весь архив, так как информация размазана по всему файлу.


для чистого solid-архива необходима вся информация ДО этого файла, поскольку архивация идёт так сказать инкрементально и предыдущие данные при этом используются. block-solid архив - это такой, в котором файлы разбиваются на отдельные солид-блоки. эти блоки сжимабтся независимо друг от другаб поэтому для распаковки файлва нужны данные с начала его солид-блока до этого файла

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


Цитата:
Так что, только приспособленной прогой можно нормально выкачать оглавление. А ей уже без разницы, откуда брать - из начала или конца


вот об этом я и талдычу


Цитата:
Разница есть только, если сайт не поддерживает закачку с произвольного места


тогда вся идея с частичной выкачкой архива становится нереализуемой
Автор: egor23
Дата сообщения: 21.11.2007 12:40
arsvrn

Цитата:
Без качалки говорить о выкачке оглавления даже из начальной части файла несерьезно. Ты предлагаешь браузером начать закачку и тут же остановить?

А что здесь такого зазорного, если в "данный момент" нет выбора чем качать.

Цитата:
Да на ADSL млм спутнике за секунду пару мегабайт получить можно

а на Dial-up за секунду 5кб скачается... только объёмы разные прокачиваются на Dial-up, ADSL и т.п.
Bulat_Ziganshin

Цитата:
тогда вся идея с частичной выкачкой архива становится нереализуемой

Вернёмся к началу просьбы, в ней вариант с частичной выкачкой не рассматривался.
Это нужно для удобства того кто выкачивает.
По-сути "инфа" добавляемая - избыточная, но она может содержать информацию, которая размазана по архиву.
Автор: Bulat_Ziganshin
Дата сообщения: 21.11.2007 13:44
1. сейчас каталог записывается в конец архива. даже если в архиве больше 20 тысяч файлов, в конце архива содержится инфа обо всех каталогах, т.е. прочитать её напрямую, не скачивая весь архив - не проблема

2. запись каталога в начало архива потребует переделки архиватора. причём пользы от этого - 0, поскольку без спец. программ, поддерживающих частичную выкчаку архивов FA, этот каталог всё равно использовать не удастся. а эти программы, если они появятся, с таким же успехом могут работать и с нынешней схемой

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

arc x http://site/archive -u
Автор: egor23
Дата сообщения: 21.11.2007 17:20
Bulat_Ziganshin

Цитата:
1. сейчас каталог записывается в конец архива. даже если в архиве больше 20 тысяч файлов, в конце архива содержится инфа обо всех каталогах, т.е. прочитать её напрямую, не скачивая весь архив - не проблема

А если докачки нет?


Цитата:
2. запись каталога в начало архива потребует переделки архиватора. причём пользы от этого - 0, поскольку без спец. программ, поддерживающих частичную выкчаку архивов FA, этот каталог всё равно использовать не удастся. а эти программы, если они появятся, с таким же успехом могут работать и с нынешней схемой

Переделка глубокая не требуется. Архив сам по-себе, инфа сама по-себе.
Ещё раз информация добавляется к архиву в начало файла, т.е. инфа+архив,
например:
инфа имеет свой заголовок с указанным размером этой "инфы" (может это и по-другому будет), т.е. FreeArc должен при работе с архивом просто пропускать "инфу", а получать информацию из "инфы" команда листинга, например li.
Про чатичную выкачку вообще речи не идёт в этом аспекте, просто избыточная информация о содержимом архива, как и у ZIP.
А пользу будет если знаете что внутри.
И вообще это можно сделать опционально, хотите добавляйте её, хотите - не добавляйте.


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

Если информация считывается из одного места, а если из многих это займёт некоторое время.
Автор: arsvrn
Дата сообщения: 21.11.2007 17:47
Bulat_Ziganshin

Цитата:
вообще, меня эта идея заинтересовала в плане реализации её в самой программе. ведь достаточно привлечь библиотеку чтения ftp/http и сделать понятие File двухвариантным - обычный файл или url, как получится, что программа может делать всё вышеописанное; правда в отсутствии GUI это будет не столь удобно. удивительно, что в других архиваторах нет такой фичи

То есть получается, что с библиотекой чтения ftp/http можно иметь доступ к ftp/http в каком-то смысле аналогичным доступу к файловой системе? А как в таком случае помешает отсутствие GUI (если библиотека позволяет закачку файла с произвольного места, типа прямого доступа к файлу). Ведь, я думаю, ты на обычных файлах не читаешь последовательно весь файл до конца, чтобы получить оглавление, а сразу берешь последние адреса. Также можно и с сетью. По команде l запрашивается размер файла, и делается закачка с нужного места. Дальше листинг отдается плагину (ну как обычно) и т.д.
Кстати, действительно, такого нет ни в одном архиваторе. И если ты это сделаешь, то это можно назвать и "революционной" фичей . Которая, по-моему, значительно повысит привлекательность архиватора для "интернетчиков".
Автор: Bulat_Ziganshin
Дата сообщения: 21.11.2007 18:29

Цитата:
То есть получается, что с библиотекой чтения ftp/http можно иметь доступ к ftp/http в каком-то смысле аналогичным доступу к файловой системе?


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


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


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

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


Цитата:
FreeArc должен при работе с архивом просто пропускать "инфу", а получать информацию из "инфы" команда листинга, например li.
Про чатичную выкачку вообще речи не идёт в этом аспекте, просто избыточная информация о содержимом архива, как и у ZIP.


т.е. её можно будет использовать только для получения листинга. а распаковка потребует выкачки архива целиком?

я не говорю, что это потребует глубокой переделки, но получаемые достаточно виртуальные выгоды не стоят даже этих затрат. без докачки толку от этого всё равно большого не будет. с докачкой и соответсвующей поддержкой в программах нынешнее организаия оглавления тоже прекрасно совместима
Автор: egor23
Дата сообщения: 21.11.2007 18:50
Bulat_Ziganshin

Цитата:
т.е. её можно будет использовать только для получения листинга. а распаковка потребует выкачки архива целиком?

мысль изначальная была - "информация" сама по-себе, т.к. не требует глубоких изменений в архиве.
Если есть у Вас планы более продвинутые, это всегда привестствуется.
Только в общем случае не все ресурсы поддерживают докачку, т.е. в идеальном случае архив лежит на ftp в локальной сети, а в реальном - лежит на rapidshare.
Поэтому информация в начале архива или файла лучше.
Автор: Bulat_Ziganshin
Дата сообщения: 21.11.2007 19:34

Цитата:
Только в общем случае не все ресурсы поддерживают докачку,


1. неужели rapidshare или кто-то типа него не поддерживает?

2. опиши, какая будет польза от реализации этой фичи (каталог в начале архива)
Автор: slech
Дата сообщения: 21.11.2007 19:53
Bulat_Ziganshin
1. про докачку можно тут глянуть Обменники (место для заливки файлов)
Автор: Bulat_Ziganshin
Дата сообщения: 21.11.2007 20:05
спасибо. гиг без докачки - да, это действительно "офигеть, дайте две"
Автор: egor23
Дата сообщения: 21.11.2007 20:21
Bulat_Ziganshin

Цитата:
2. опиши, какая будет польза от реализации этой фичи (каталог в начале архива)

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

Повторюсь, эта информация необязательна должна быть основной, она может быть дополнительной (избыточной) и содержать в себе дополнительную информацию, которая размазана по архиву.
Автор: Bulat_Ziganshin
Дата сообщения: 21.11.2007 20:28
egor23
а как ты работать-то с этой информацией будешь? извлекать те файлы, которые случайно оказались в же скачанной части архива? всякие readme имеют шансы туда попасть

т.е. польза - возможность увидеть список файлов в недокачиваемом архиве и readme?
Автор: Benchmark
Дата сообщения: 21.11.2007 20:39
Каталог имхо должен быть именно в конце архива/тома.

Допустим имеем большой архив, гигабайт на 10. И хотим добавить к нему пару сотен файлов. Если каталог в конце, то спокойно добавляем в архив эти файлы и приписываем в конец же обновленный каталог. А если архив в начале - что тогда делать ? Записывать обновленный заголовок, после приписывать к нему получившийся 10-гиговый кусок, и затем удалять старый архив ? А если у нас нет столько свободного места, что тогда ?


Цитата:
т.е. польза - возможность увидеть список файлов в недокачиваемом архиве и readme

readme - это еще если повезет По правде я тоже не понял, какая от этого польза.
Автор: egor23
Дата сообщения: 21.11.2007 21:07
Bulat_Ziganshin

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

т.е. польза - возможность увидеть список файлов в недокачиваемом архиве и readme?

точно также как в примере можно было бы
http://forum.ru-board.com/topic.cgi?forum=5&topic=24319&start=180#2

но лично я рассматриваю архивы FreeArc, как непрерывные, и выкачивать из них частично проблемно. И полезная информация для меня - список файлов + контрольные суммы.
Автор: Benchmark
Дата сообщения: 21.11.2007 21:19
egor23

Цитата:
Не уловил разницы между добавлениями - 10Гиг+маленький файл или маленький файл+10Гиг?

Объясняю.

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

Что будет, если обновляешь архив, у которого заголовок вначале ? Тебе надо:
1. Сформировать полный заголовок будущего архива
2. Дописать к этому заголовку уже существующий архив (при этом пока ты его не допишешь, старый архив удалять нельзя, т.е. тебе не меньше свободного места, чем размер существующего архива).
3. Добавить в архив новые файлы.

Так вот на пункте 2 (в случае с каталогом вначале) и будет проблема.

А если я хочу всего лишь добавить один маленький файлик к 10-гиговому архиву ? Даже при наличии достаточного количества свободного места при каждом обновлении придется перезаписывать _весь_ архив. И зачем такое счастье ?
Автор: Bulat_Ziganshin
Дата сообщения: 21.11.2007 23:13

Цитата:
но лично я рассматриваю архивы FreeArc, как непрерывные, и выкачивать из них частично проблемно. И полезная информация для меня - список файлов + контрольные суммы.


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

Benchmark
хотя теоретчисекая возможность добавления в архив без его копирвоания есть, сейчас такого не реализовано, и в списке первыхз приоритетов оно не стоит (хотя на перспективу штука хорошая )

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


Цитата:
readme - это еще если повезет

при дефолтной сортировке (gerpn) файлы в архив помещаются строго в порядке, указанном в arc.groups (ну, перед этим я их кажется группирую по типам, не помню уж). а readme.* и т.п. вещи там в самом начале. это вообще-то ещё Жени Рошаль идея



Цитата:
Если грубо, то открываешь файл, ставишь указатель на его конец и туда дописываешь свежесжатые данные. Далее точно так же дописываешь обновленный заголовок


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


Цитата:
1. Сформировать полный заголовок будущего архива


сформировать каталог до завершения архивации - довольно сомнительное удовольствие. во-первых, где я возьму CRC? во-вторых, что буду делать, если часть файлов не откроется или их размеры изменятся когда дело дойдёт до архивации? в третьих, я не знаю их сжатых размеров - прощай прямой доступ. так что у нас есть выбор между схемами rar, cabarc и 7-zip (ну или их комбинацией, как в zip)
Автор: egor23
Дата сообщения: 21.11.2007 23:20
Benchmark

Цитата:
А если я хочу всего лишь добавить один маленький файлик к 10-гиговому архиву ? Даже при наличии достаточного количества свободного места при каждом обновлении придется перезаписывать _весь_ архив. И зачем такое счастье ?

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

А что касается FreeArc, в общем случае:
то у нас архив непрерывный и при добавлении в него будет перепаковка.

Добавлено:
Bulat_Ziganshin

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

От информации толк есть, даже если нету ПО для её обработки, я не гордый могу и вручную обрабатывать, вспомню молодость и скудные запасы ПО.
Автор: Bulat_Ziganshin
Дата сообщения: 22.11.2007 11:12

Цитата:
А что касается FreeArc, в общем случае:
то у нас архив непрерывный и при добавлении в него будет перепаковка.


в общем случае у нас архив блочно-непрерывный, и в fa есть даже опция --append, которая добавляет к архиву новый солид-блок, не перепаковывая старые данные. в доке подробно расписаны плюсы и минусы её использования.

за исключением того, что она копирует архив, а не перепаковывает его на месте - она как раз соответствует предложению Benchmark
Автор: egor23
Дата сообщения: 22.11.2007 14:55
Bulat_Ziganshin

Цитата:
в общем случае у нас архив блочно-непрерывный, и в fa есть даже опция --append, которая добавляет к архиву новый солид-блок, не перепаковывая старые данные. в доке подробно расписаны плюсы и минусы её использования.

Под общим случаем подразумеваю - настройки по-умолчанию.
Но Benchmark говорил про другое

Цитата:
А если я хочу всего лишь добавить один маленький файлик к 10-гиговому архиву ? Даже при наличии достаточного количества свободного места при каждом обновлении придется перезаписывать _весь_ архив. И зачем такое счастье ?

Но так ведь и происходит.

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

А как насчёт "стабильности", что будет во время сбоя?
Автор: Bulat_Ziganshin
Дата сообщения: 22.11.2007 17:54

Цитата:
Но Benchmark говорил про другое


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


Цитата:
А как насчёт "стабильности", что будет во время сбоя?


ты читал моё описание того как это надо реализовывать? в зависимости от деталей реализации, либо останется полноценный архив внутри которого есть неиспользуемая мусорная часть, либо архив, который можно порсканировать, найдя в нём все старые каталоги. т.е. делаешь "arc ch archive" и всё ок
Автор: egor23
Дата сообщения: 22.11.2007 20:34
Bulat_Ziganshin

Цитата:
1. сейчас каталог записывается в конец архива. даже если в архиве больше 20 тысяч файлов, в конце архива содержится инфа обо всех каталогах, т.е. прочитать её напрямую, не скачивая весь архив - не проблема

2. запись каталога в начало архива потребует переделки архиватора. причём пользы от этого - 0, поскольку без спец. программ, поддерживающих частичную выкчаку архивов FA, этот каталог всё равно использовать не удастся. а эти программы, если они появятся, с таким же успехом могут работать и с нынешней схемой

Опять не осознал важное..., выкаченный архив, пусть на 90%, не распаковать и не выковырнуть из него уже скаченное, т.к. вся инфа в конце.
Автор: Bulat_Ziganshin
Дата сообщения: 24.11.2007 00:45
C:\!\FreeArchiver\Tests>Arc.exe l http://www.haskell.org/bz/arc.arc *.exe
ARC 0.40 (24.11) listing archive: http://www.haskell.org/bz/arc.arc
Date/time Size Filename
----------------------------------------
2007-11-24 01:39:42 2.105.344 Arc.exe
----------------------------------------
1 files, 2.105.344 bytes
All OK

C:\!\FreeArchiver\Tests>Arc.exe x http://www.haskell.org/bz/arc.arc *.cpp
Extracted 1 file, 4.912 => 15.894 bytes. Ratio 30.9%
Extraction time 0.01 secs, speed 1.587 kb/s. Total 4.96 secs
All OK

желающие поиграться могут качать этот самый arc.arc и на нём же тестировать - он non-solid

на SF выкладывать не стал. поддержки ftp пока нет, настройки proxy берутся из IE
Автор: egor23
Дата сообщения: 24.11.2007 01:38
Bulat_Ziganshin

Цитата:
он non-solid

Это временно?
Автор: Benchmark
Дата сообщения: 24.11.2007 02:03
egor23

Цитата:
Это временно?


А как ты себе представляешь выкачивание произвольного файла из solid-архива ? Тебе придется скачивать _все_, что лежит в архиве до начала этого файла + сам файл. Это для "классического" solid-архива, когда для извлечения файла требуется распаковать все, что лежит в архиве до него.

Если же архив block-solid, то справедливо все то же самое, только качать будешь не с начала архива, а с начала "блока", в который попал файл. Нужный файл будет сразу скачиватся только в редком счастливом случае, если он находится в самом начале архива или блока.

Это я к тому, что solid-режим далеко не всегда удобен и нужен.
Автор: egor23
Дата сообщения: 24.11.2007 02:42
Benchmark

Цитата:
А как ты себе представляешь выкачивание произвольного файла из solid-архива ? Тебе придется скачивать _все_, что лежит в архиве до начала этого файла + сам файл. Это для "классического" solid-архива, когда для извлечения файла требуется распаковать все, что лежит в архиве до него.

Если же архив block-solid, то справедливо все то же самое, только качать будешь не с начала архива, а с начала "блока", в который попал файл. Нужный файл будет сразу скачиватся только в редком счастливом случае, если он находится в самом начале архива или блока.

Это я к тому, что solid-режим далеко не всегда удобен и нужен.

Ды, про это речь выше велась, о полезности частичной выкачки для solid и block-solid архивов.
А то что non-solid можно хорошо частично выкачивать про это спору нет.

Bulat_Ziganshin
Подведу итог просьбы размещения "инфы" в начале архива:
1. Нужна, для выковырования файлов из архива, в случае неполноты архива.
2. Нужна, для просмотра\анализа внутренностей архива.
Предложение - "инфа" сама по-себе несостоятельно из-за п.1.
Автор: Benchmark
Дата сообщения: 24.11.2007 03:25
egor23

Цитата:
2. Нужна, для просмотра\анализа внутренностей архива

В общем случае - не нужна. Как самому архиватору, так и плагинам для FAR, TC и т.д. Просмотр архива будет успешно выполняться и с каталогом в конце.

Единственный случай, когда не сможет (поврежденные/недокачанные архивы сейчас в расчет не беру) - для многотомных архивов (которые еще не реализованы), если отсутствует том с заголовком. Но... если будут реализованы независимые тома, как в RAR, даже это проблемой не будет.


Цитата:
1. Нужна, для выковырования файлов из архива, в случае неполноты архива

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

Я думаю об опциональном компромиссном варианте: специальном ключе, который "выцеплял бы" каталог заданного архива и клал его в отдельный файл. И тогда в случае неполного архива можно было бы попробовать распаковать его с прямым указанием файла с каталогом. Что-то вроде:

arc x -ключ_использования_заголовка=файл_с_заголовком архив путь_распаковки

Хотя лично мне такой вариант вряд ли когда-либо пригодится
Автор: egor23
Дата сообщения: 24.11.2007 04:11

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

Есть два варианта:
1. Аварийный - разрыв соединения, докачка не поддерживается, а перекачивать нет возможности.
2. Весь архив не нужен - нет возможности скачать 200-300 и более Мб\или не нужен весь архив. Внутри лежит один большой файл, хорошо упакованный, от него нужна часть.

Bulat_Ziganshin

Цитата:
1. Нужна, для выковырования файлов из архива, в случае неполноты архива.

Сейчас глянул, а FreeArc при поврежденном архиве, байтик в середине занулён, на сегодня не распакует ведь архив до повреждения?
для LZMA пробывал, так начинает распаковывать пока место на винте не кончится, наверно, не дожидался этого.
9.rar - тестовый архив и повреждённый архив.

Страницы: 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667

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


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