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

» 7-Zip / 7z

Автор: Barabashka
Дата сообщения: 19.12.2007 17:47

Цитата:
в большинстве случаев .doc не относится - это раньше в старых офисах doc-файлы можно было чуть ли не в notepad читать
а вот .ini и .cpp - очень даже "текстовые"
На сколько я понимаю, суть в том, что используется какой-то алфавит, где используются слова разделённые пробелами, табуляциями и т.д. Пофиг какой язык, какая кодировка и т.д.


Цитата:
они все-таки непрерывные
суть в том, что 7-zip не может их обновлять
а если нужно обновление, то паковать надо в "не-solid" режиме
В том то и дело, что в приведённом примере мы создаём непрерывный архив, а потом его обновляем. И не каких проблем. Надо думать устаревший хелп?

Корректирую пример (убрал .doc):
c:
cd test
7z a archive.7z -slp -mmt -m0=ppmd:o=32:mem=31 -r file_id.diz descript.ion files.bbs read.* readme.* *.txt *.nfo *.htm *.html *.shtml *.lst *.log *.ini *.bat *.cmd *.h *.hpp *.c *.cpp *.asm *.bas *.pas *.tex
7z u archive.7z -slp c:\test\* -mmt -mx9 -md30 -mfb=273 -mmc=1000000000 -r -x!archive.7z
Автор: Bulat_Ziganshin
Дата сообщения: 20.12.2007 01:41

Цитата:
1. Это всё работает как написано? То есть размер слова 273 и число проходов 1 миллион? Проверить это видимо никак нельзя.

ключи сжатия, которые я тебе дал - наилучшие. то, что ты наизобретал - чушь собачья

Цитата:
Это что означает что создаваемые таким образом архивы не непрерывные? Но в свойствах архива пишется что он непрерывный...

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

Цитата:
3. В свойствах написано, что используется BCJ2. Как регулируется какие файлы попадают под этот фильтр, а какие нет. То же самое с другими фильтрами.

других фильтров в 7-zip по большому счёту нет. bcj2 автоматом включается в редиме -mx (aka -mx9) и используется для исполняемых файлов, список каковых зашит внутрь 7z.exe:

Код: static wchar_t *g_ExeExts[] =
{
L"dll",
L"exe",
L"ocx",
L"sfx",
L"sys"
};
Автор: Barabashka
Дата сообщения: 20.12.2007 10:43
Сразу насчёт
Цитата:
проще всего взять мою программу
Я уже спрашивал в ветке по FreeArc:

Цитата:
Народ, объясните научно-популярно почему у каждого архиватора свой формат архива?
7z, rar, arc и т.д. - не уж то нельзя сделать один открытый формат который бы удовлетворил всех? Что-то вроде zip, только лучше.
Пользователи в моём случае не поймут использование FreeArc.

Насчёт x64, протестировал - работает, не зря иногда пишут платформу x86_64 (для "чистого" x64)


Цитата:
там всё на автомате прекрасно работает, чесслово
Верю. Просто привык разбираться, что означают параметры.


Цитата:
ключи сжатия, которые я тебе дал - наилучшие. то, что ты наизобретал - чушь собачья
Аргументы пожалуйста. Если не указывать -mfb=273 или -mmc=1000000000 сжатие происходит хуже. Остальные почти не отличаются от твоих.

Цитата:
других фильтров в 7-zip по большому счёту нет.
Ой ли? А BC_ARM, BC_ARMThumb, BC_IA64, BC_PPC_B, BC_SPARC не фильтры?


Цитата:
порядок модели - параметр o - подбери экспериментальным путём под типовые данные
А что большее значение параметра не означает более сильного сжатия? Как с этим жить-то?
Автор: Bulat_Ziganshin
Дата сообщения: 20.12.2007 11:16

Цитата:
Пользователи в моём случае не поймут использование FreeArc.

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

Цитата:
Верю. Просто привык разбираться, что означают параметры.

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

Цитата:
Аргументы пожалуйста. Если не указывать -mfb=273 или -mmc=1000000000 сжатие происходит хуже. Остальные почти не отличаются от твоих.

у меня это работает хуже, вот и все аргументы. надеюсь, ты тестировал на своих типичных данных, а не чём-то левом. у меня лучше всего получалось с -mfb=128 без -mmc

Цитата:
А BC_ARM, BC_ARMThumb, BC_IA64, BC_PPC_B, BC_SPARC не фильтры?

и какой из них ты собрался использовать??

Цитата:
А что большее значение параметра не означает более сильного сжатия? Как с этим жить-то?

означает - при неограниченном объёме памяти порядок N означает, что собирается статистика о том какой может быть следующий символ в контексте N прелыдущих, т.е. при n=4 после букв "коро" сколько раз бывает буква в, сколько л и т.д. чем больше n тем быстрее заполняется выделенная память, и тем меньший объём входных данных индексируется, т.е. тем больший объём статистики составляет просто мусор, случайные значения
Автор: Barabashka
Дата сообщения: 20.12.2007 13:46

Цитата:
у меня это работает хуже, вот и все аргументы. надеюсь, ты тестировал на своих типичных данных, а не чём-то левом. у меня лучше всего получалось с -mfb=128 без -mmc
Я пробовал на директории куда установлен 7-zip... Будет время попробую ещё где-нибудь. Но в общем это печально.

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


Цитата:
означает - при неограниченном объёме памяти порядок N означает, что собирается статистика о том какой может быть следующий символ в контексте N предыдущих, т.е. при n=4 после букв "коро" сколько раз бывает буква в, сколько л и т.д. чем больше n тем быстрее заполняется выделенная память, и тем меньший объём входных данных индексируется, т.е. тем больший объём статистики составляет просто мусор, случайные значения
Грустно это как-то - нет идеала в этой жизни. Теперь и не знаю каким ставить этот параметр. На http://www.maximumcompression.com есть примеры где он равен и 4, и 20, и 28. Тоска.
Автор: uBAH
Дата сообщения: 21.12.2007 06:33


Цитата:
7z a archive.7z @listfile.txt -scsWIN

при запуске выскакивает сообщение Error: Invalid command line"
Если убрать ключ -scsWIN, тогда архивируются все файлы, кроме имеющих раусские названия. Пробовал win писать и большими, и маленькими буквами - результат один: ошибка.
В чём может быть дело?
Автор: GORA2
Дата сообщения: 21.12.2007 09:52
uBAH

Цитата:
uBAH
Проверьте кодировку своего файл-списка и читайте справку (ссылка в шапке):

В какой кодировке у Вас файл-список?
Автор: Bulat_Ziganshin
Дата сообщения: 21.12.2007 10:18

Цитата:
при запуске выскакивает сообщение Error: Invalid command line"

старая версия 7-zip? у меня 4.52 - в ней эта опция уже поддерживается

Цитата:
Я пробовал на директории куда установлен 7-zip...

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

Цитата:
есть примеры где он равен и 4, и 20, и 28

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

этого нет. впрочем, я уверен, что у тебя нет никакихз бинарников, кроме x86/x86_64. а если и есть, то имебт свои специфичные расширения
Автор: Gideon Vi
Дата сообщения: 21.12.2007 10:31
Имеем txt-файл (1300кб, в архиве - 344кб). Почему LZMA его сжимает сильнее, чем PPMd? Там именно текст.
Автор: uBAH
Дата сообщения: 21.12.2007 13:40
GORA2

Цитата:
В какой кодировке у Вас файл-список?

в ANSI (win)
Автор: egor23
Дата сообщения: 22.12.2007 02:47
Gideon Vi

Цитата:
Почему LZMA его сжимает сильнее, чем PPMd?

Потому-что, в данном случае, Вы не подобрали в PPMd размер слова (порядок модели). Поставьте значение 5 - и будет счастье.

Добавлено:
GORA2
Русская справка для 4.57 сделаете?
Автор: GORA2
Дата сообщения: 22.12.2007 09:57
uBAH

Цитата:
в ANSI (win)
Тогда все должно работать. Можете показать ваш файл список?

egor23

Цитата:
Русская справка для 4.57 сделаете?

Она уже давно существует . Я их выкладываю здесь
Автор: abz
Дата сообщения: 22.12.2007 11:53
GORA2

Цитата:
Она уже давно существует . Я их выкладываю здесь

Что-то я там не нашёл. Дал бы прямой линк, если не трудно.
Автор: GORA2
Дата сообщения: 22.12.2007 12:03

Цитата:
Дал бы прямой линк, если не трудно.

Русская справка для 7-Zip 4.57 (92кб).

PS Уже какой то добрый человек обновил ссылку на справку в шапке . Если не затруднит и ссылку на "кнопку" обновите, пожалуйста. Кнопка для работы с 7z SFX архивами в TC
Автор: Gu3st
Дата сообщения: 22.12.2007 12:23
Я недавно начал пользоваться 7-зипом, и возникли пару вопросов: при нажатии на кнопку "фоном" как я понял должно происходить аналогичное winrar'ному сворачивание в трэй, но при этом ничего не сворачивается. При распаковке архива с паролем, окно для ввода пароля открывается на заднем плане а не поверх окна процесса распаковки. Может я что-то делаю не так, обьясните пожалуйста.
Автор: Midway
Дата сообщения: 22.12.2007 13:07
Gu3st
Скорее всего "фоном" означает "низкий приоритет"...
Автор: mukca
Дата сообщения: 22.12.2007 13:26
Gu3st
Gu3st
14:23 22-12-2007
Цитата:
при нажатии на кнопку "фоном" как я понял должно происходить аналогичное winrar'ному сворачивание в трэй, но при этом ничего не сворачивается.

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

очень вредно превыкать к одному продукту и считать его эталоном

по нажатии на эту кнопку архиватор переключаеться в работу с низким приоритетом. в диспечере задач можеш посмотреть..
Автор: Gu3st
Дата сообщения: 22.12.2007 13:56
mukca
Midway
Действительно, это меняет приоритет. Просто как мне кажется русский перевод значения слова background не очень корректно в данном случае. Тогда ещё остаётся вопрос с паролями.
Автор: sv9205
Дата сообщения: 22.12.2007 19:05
Случилось так, что потерян был архив 7-Zip
и при 3-х попытках повторить md5 (сжать на компе, на котором был сделан ранее)
и при 5-и попытках повторить md5 (сжать на других компьютерах)
не УДАЛОСЬ!
Эта задача не выполнима или как?
Автор: egor23
Дата сообщения: 22.12.2007 21:22
sv9205

Цитата:
Эта задача не выполнима или как?

Выполнима.
1. 7-Zip тот которым делали.
2. Настройки упаковки однинаковые.
3. Исходные данные одинаковые, не только по содержимому, но и по дате файлов\папок. (дата файлов влияет и на степень сжатия, т.к. файлы будут засортированы по-другому).

PS: Могу ошибаться, давно сталкивался с этим, так показалось.
Автор: egor23
Дата сообщения: 23.12.2007 03:03
Поправка к п.3
(дата файлов влияет и на степень сжатия, т.к. файлы будут засортированы по-другому)
про степень сжатия - не влияет.
(когда-то сделаннные результаты сжатия для двух одинаковых наборов по содержимому, но с разными датами файлов, повторить не получилось, что-то напортачил)
Автор: sv9205
Дата сообщения: 23.12.2007 03:18
egor23,
Спасибо!
Взято три раза одинаковую папку 5 мб и все 3 раза(через минуту) получился одинаковый md5,
но ранее была одинаковая папка, но очень большая ~ 3.5 Гб(~5000 файлов)
и с одинаковыми настройками, но никак не повторить(через 6 часов) - разница в 1-4 байта.
Думаю, что это может зависеть от загрузки проца может...
P.S. А вот в WinRAR-е почти всегда дает одинаковый дубль и через месяц также!
Автор: Barabashka
Дата сообщения: 23.12.2007 04:02
Для себя решил ставить такие параметры (из расчёта 130Мб памяти для распаковки):

c:
cd test
7z a archive.7z -slp -mmt -m0=ppmd:o=13:mem=27 -r file_id.diz descript.ion *.txt *.nfo
7z u archive.7z -slp c:\test\* -mmt -mx -md27 -mfb=192 -r -x!archive.7z

Параметр o=13 весьма удачен.
PPMD не справляется ни с какими файлами кроме файлов с обычным текстом состоящим из слов разделённых пробелами.
mc чаще даёт минус чем плюс.
fb потестировал и остановился на значении 192, чуточку, но лучше.


Цитата:
этого нет. впрочем, я уверен, что у тебя нет никакихз бинарников, кроме x86/x86_64. а если и есть, то имебт свои специфичные расширения
Не имеют, чаще всего это файлы вообще без расширения.

Как итог, могу сказать:
1. В архиваторах не хватает универсального открытого формата для всех
2. Значительно можно улучшить степень сжатия, если в архиватор заложить механизм распознавания типов файлов. Бинарник - значит жмём так-то, веб-страница - значит так, лог - меняем параметры и т.д.
Автор: egor23
Дата сообщения: 23.12.2007 05:20
sv9205

Цитата:
но ранее была одинаковая папка, но очень большая ~ 3.5 Гб(~5000 файлов)
и с одинаковыми настройками, но никак не повторить - разница в 1-4 байта.

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

Цитата:
(через 6 часов)

думаю из-за времени (случаем перехода на летнее\зимнее время не было?)
можете проверить, если данные лежат на FAT32 заархивировать "летом" и "зимой"
на NTFS такого эффекта не получите.
Автор: Markmaster
Дата сообщения: 25.12.2007 03:05
7-Zip 4.58 Alpha 1
Скачать.
Автор: Barabashka
Дата сообщения: 25.12.2007 08:56
Какая то странная ошибка у меня происходит при использовании PPMD (7z.exe a archive.7z -slp C:\DISTR\wrk\* -mmt -m0=ppmd:o=13:mem=26 -r file_id.diz descript.ion *.txt *.nfo):

Error:
Duplicate filename:
INSTALL\5lakes.txt
INSTALL\5lakes.txt

При этом в директории всего один файл. NTFS-стримов нет. Что за фигня?
Автор: Bulat_Ziganshin
Дата сообщения: 25.12.2007 11:19

Цитата:
C:\DISTR\wrk\*

Цитата:
*.txt

всё правильно, ты их сам продублировал
Автор: Barabashka
Дата сообщения: 25.12.2007 12:32
Тьфу

Bulat_Ziganshin
Спасибо.
Автор: uBAH
Дата сообщения: 25.12.2007 12:42
GORA2

командная строка:

Цитата:
7z a archive.7z @listfile.txt -scsWIN


файл-список для архивации (тестовый):
h:\temp\Dutch.txt
h:\temp\Spanish.txt
h:\temp\German.txt
h:\temp\Italian.txt
e:\ivan\xaoc\auto.mm
e:\ivan\xaoc\книги.mm

выскакивает сообщение об ошибке

Убрав ключ -scs и сохранив список в UTF-8 добился архивации всех файлов, кроме имеющего русское название. Кроме того, не сохраняются пути файлов.
Автор: GORA2
Дата сообщения: 25.12.2007 13:51
uBAH

Цитата:
выскакивает сообщение об ошибке
Не понятно каков тест ошибки!?
Сделал указанные Вами папки и файлы в них (только вместо диска h -> c, а вместо e -> d, т.к. у меня нет таких дисков). Сделал тестовый бат файл и запустил - все прекрасно упаковалось без ошибок. Бат файл и файл-список положил сюда. Создайте на диске С и D соответственно указанные папки с файлами и, распаковав скаченный архив в любое место, запустите бат файл.
Цитата:
Кроме того, не сохраняются пути файлов.
А это вроде ни где и не обещалось.

Страницы: 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172

Предыдущая тема: Longhorn и Blackcomb


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