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

» 7-Zip / 7z

Автор: Blablaaa
Дата сообщения: 19.06.2009 15:14
Добрый день.Подскажите как решить проблему: "targz архивы (tgz) при распаковке-7zip папки и имена файлов набранные кирилицей показывает в виде квадратиков, хотя теже самые архивы распаковывает корректно (в смысле названия кирилицей не коверкает) на linux где были они созданы."
Спасибо
Автор: Victor_VG
Дата сообщения: 19.06.2009 16:57
Blablaaa

Тарбалы. Любимый архив на UNIX. А какая кодовая страница консоли у того Linux? Дело в том, что UNIX системы при записи архивов не латиницей используют ту кодовую страницу, которая у них в консоли стоит, потому тут решений несколько: или ноль внимания на эти фокусы отображения, либо связка Far 2.0 + 7-Zip Plugin 4.65 Alternative + 7-Zip 9.04 Beta DLL, либо WinTar, но он платный, либо обычный GNU Tar для Win32 + консоль. Иного, извини, в голову не приходит. Сам просто с таким фокусом на FreeBSD столкнулся. В итоге перевёл систему на кодировку UTF-8. Правда пришлось основательно поправить кучу пакетов, уже не помню сколько из тех почти 900 что стоят в системе, но штук 300 точно. А с mc вообще пришлось долго возится со справкой - не знаю кто напихал такую смесь кодировок в неё - что ни абзац, то собственная.
Автор: Blablaaa
Дата сообщения: 19.06.2009 19:58
Victor_VG
В Linux я не силен (Mandriva 2007 Free), какая кодовая страница у консоли не знаю как посмотреть (буду признателен если подскажете как это можно сделать).Большое спасибо за помощь буду пробовать .
Автор: Victor_VG
Дата сообщения: 19.06.2009 20:08
В BSD UNIX, надо смотреть файлы /etc/ttys значения ttyv0 - ttyv7 и /etc/login.conf там находятся эти записи. А вообще-то надо смотреть документацию по ОС, в частности man.
Автор: ildar1
Дата сообщения: 20.06.2009 12:27
Прошу прощения за наверное простой вопрос, но я не нашел в документации как при упаковке папки со всеми подпапками исключить одну или более подпапок? Захотелось мне архивировать в один архив все почтовые папки The_Bat без папок Attach, которых там много, а как это сделать - непонятно... Заранее спасибо за ответ!
Автор: argon777
Дата сообщения: 24.06.2009 14:11
Ктонить может подсказать, как заархивировать через батник папку написанную на кириллице?
вот такая строка в батнике:
"c:\Program Files\7-Zip\7z.exe" a e:\arhive\corp1.7z o:\общая
вот так ругается- o:\юс∙р  : Системе не удается найти указанный путь.
в кавычках писать тоже пробовал. не помогло.
самое обидное, что в командной строке работает без проблем.
Автор: DVall
Дата сообщения: 24.06.2009 14:18
argon777
Батник в какой кодировке набирал?
Автор: argon777
Дата сообщения: 24.06.2009 14:34

Цитата:
Батник в какой кодировке набирал?

в блокноте

добавлено:

спасибо, набрал в акелпаде в 1251 все заработало!
Автор: sabio
Дата сообщения: 24.06.2009 15:05
ildar1
документацию пробовал читать?
в частности, про опцию "-x (Exclude filenames) switch"

пример:
7z a archive.7z C:\TheBat\mail -xr!Attach
Автор: Kavar
Дата сообщения: 25.06.2009 10:08
Может уже писал кто.
Обнаружил баг - 7zip криво распаковывает многотомные ARJ архивы.
Версия 4.65
Автор: Victor_VG
Дата сообщения: 25.06.2009 10:15
Kavar

Их обычно мало кто нормально распаковывает, иной раз и сам Arj на них сбоит. Но, в принципе об этом думаю стоит напомнить.
Автор: ildar1
Дата сообщения: 25.06.2009 14:48
sabio

Спасибо за объяснение. В свое оправдание скажу, что документация по этому пункту слишком краткая и понять что значит

-x[<recurse_type>]<file_ref>
<recurse_type> ::= r[- | 0]
<file_ref> ::= @{listfile} | !{wildcard}

затруднительно, а гадать было неохота, вот я и спросил экспертов.
Автор: HelioSS
Дата сообщения: 27.06.2009 09:51
Как добиться максимального сжатия в SFX набора dll-файлов? Сколько не эксперементировал RAR получался меньше 7-zip'а
Автор: Victor_VG
Дата сообщения: 27.06.2009 10:50
HelioSS

А тут от содержимого всё зависит. Ведь по сути любой архив это двоичный поток с возможным наличием повторяющихся участков. И чем их больше, тем лучше сжатие. Ещё сильнее поток можно сжать при подборе алгоритма сжатия и режима работы алгоритма. Например поставить флажок "непрерывный". Ну и плюс к тому размер модуля распаковки при прочих равных сыграет свою роль. У 7-zip последней, 9.04 версии SFX модули почти в на 70 - 80 Килобайт больше по размеру чему у RAR 3.90 B3, а эти модули в архиве не сжимаются, они просто объединяются с ним в один контейнер. Так, что если даже мы получим равные по размеру архивы без SFX, то с учётом разницы длин SFX модулей, архив 7-Zip SFX будет больше по размеру на 50 - 80 Кбайт.
Автор: HelioSS
Дата сообщения: 27.06.2009 12:32
Victor_VG

Цитата:
Ещё сильнее поток можно сжать при подборе алгоритма сжатия и режима работы алгоритма

Можно это пояснить?
Автор: Victor_VG
Дата сообщения: 27.06.2009 13:36
HelioSS

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

[more=Пояснение]Допустим у нас есть некоторый набор данных и алгоритм сжатия способный использовать несколько режимов работы.

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

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

Разные алгоритмы используют разные способы поиска повторов и разные величины выборки, и разную структуру блока данных и словаря, а это прямо влияет на размер выходного архива. Например если использовать непрерывное сжатие, то алгоритм лучше сжимает набор файлов именно потому, что считает их непрерывным потоком состоящим из отдельных фрагментов. Да, информация об их длинах сохраняется, но на этапе подготовки сжатия. Тогда алгоритм формирует псевдо-непрерывный поток, содержащий специальную таблицу длин отдельных элементов, но сжимает его как единое целое, и создаёт служебные структуры для него как для целого. А если непрерывное сжатие не использовать, то каждый файл сжимается отдельно и объём служебной информации увеличивается на некоторую величину, зато упрощается процесс распаковки и изменения архива.

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

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

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

Кроме того, в зависимости от алгоритма и заданных для него начальных условий предельная степень сжатия на одних и тех же данных будет разной, причины мы видим выше.[/more]
Автор: rs
Дата сообщения: 29.06.2009 15:20
Иногда в ходе архивирования в стандартный вывод попадает текст:
--
7-Zip 4.65 Copyright (c) 1999-2009 Igor Pavlov 2009-02-03

Scanning

Updating archive <Имя архива>



System error:
Не поддерживается
--

Командная строка имеет вид: "c:\Program Files\7-Zip\7z.exe" a -r -ssw <Имя архива> "db*\*" -x@<Исключить.Файлы>

При этом ничего не упаковывается.

Можно предположить, что файлы для упаковки оказываются занятыми. Но во-первых используется ключ -ssw, а во-вторых сообщение, в общем-то, не о том.

Если запустить упаковку повторно - сообщение не появляется и файлы упаковываются успешно.

Кто-нибудь сталкивался с подобным?


Автор: sabio
Дата сообщения: 29.06.2009 15:37
rs
это не связано с тем, что архив уже существует и является solid?
тогда вам не повезло - 7-zip не умеет пока ещё обновлять solid-архивы

кроме того, -ssw тоже не панацея - она позволяет упаковывать файлы, которые открыты с "шарингом на чтение"
если какая-то программа этот "шаринг" при открытии файла запретила, то и прочитать его никакой -ssw не поможет
Автор: rs
Дата сообщения: 29.06.2009 16:19
нет, каждый раз создаётся новый файл (в имени файла присутствует текущее время до секунды)


Цитата:
кроме того, -ssw тоже не панацея - она позволяет упаковывать файлы, которые открыты с "шарингом на чтение"
если какая-то программа этот "шаринг" при открытии файла запретила, то и прочитать его никакой -ssw не поможет

Упаковываются файлы БД (dbf, в основном) - открыты все, как правило, на запись. Ситуация между успешной и неуспешной упаковкой в этом плане никак не изменяется. Да и rar ключами игнорирования ошибок и упаковки открытых на запись файлов справляется без проблем.


Добавлено:
запуск с интервалом в полминуты то даёт ошибку, то нет

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

фигня какая-то
Автор: AndrewAbakan
Дата сообщения: 30.06.2009 10:35
Добрый день!
Подскажите пожалуйста, необходимо в Windows Server 2003 R2, добавить задания - чтобы с помощью 7-Zip можно было архивировать папку с файлами каждый день! Не могу догнать что необходимо написать в строке RUN: "C:\PROGRA~1\7-Zip\7z.exe" a -tzip "C:\CB\*"" @ "C:\Backup\*".
Покажите на примере?!
Автор: lorents
Дата сообщения: 30.06.2009 21:54
Объясните пожалуйста, как работает Ultra7z Optimizer с архивами .7z, что он делает с архивами?
Автор: iya_grisho
Дата сообщения: 30.06.2009 23:13
lorents
Он их пережимает с более ОПТИМАЛЬНЫМИ настройками , максимальное сжатие ...
Автор: lorents
Дата сообщения: 30.06.2009 23:27
iya_grisho

Цитата:
Он их пережимает с более ОПТИМАЛЬНЫМИ настройками , максимальное сжатие ...

я понимаю, я просто не могу понять какие это настройки, все ли он меняет настройки и нет?
Автор: Spate
Дата сообщения: 01.07.2009 00:21
lorents

Цитата:
все ли он меняет настройки и нет?

Зависит от исходного набора файлов и степени сжатия архива.

Автор: lorents
Дата сообщения: 01.07.2009 10:08
Spate

Цитата:
Зависит от исходного набора файлов и степени сжатия архива.

насколько я знаю он изменяет размер словаря в архиве. выходит он только меняет метод сжатия?
Автор: squxe
Дата сообщения: 01.07.2009 16:26
lorents, Ultra7z Optimizer перебирает около 8 вариантов настроек сжатия и выбирает лучшие... Можно и 200 вариантов сделать, но это даст лишь незначительный прирост сжатия, а времени займёт неприлично много... В следующей версии добавлю ещё выбор дельты и lzma2 (когда выйдет финальная версия 7-zip).
Автор: lorents
Дата сообщения: 01.07.2009 16:36
squxe
я нельзя ли чтобы он перебирал только метод сжатия?
Автор: squxe
Дата сообщения: 01.07.2009 17:12
lorents, он и так перебирает все методы + ещё несколько вариантов.

Цитата:
насколько я знаю он изменяет размер словаря в архиве.

меняется и размер словаря и метод сжатия
Автор: lorents
Дата сообщения: 01.07.2009 17:41
squxe

Цитата:
он и так перебирает все методы + ещё несколько вариантов.

а нельзя ли сделать просто перебор только методов не изменяя размер словаря?
Автор: squxe
Дата сообщения: 01.07.2009 18:15

Цитата:
а нельзя ли сделать просто перебор только методов не изменяя размер словаря?

можно, может добавлю ключ типа -fast в следующей версии...

Страницы: 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172

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


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