7z "ультра" настройки для формату zip


14

Налаштування 7z "ультра" для формату .7z :

7z a -t7z -m0=lzma -mx=9 -mfb=64 -md=32m -ms=on

Які налаштування "ультра" для формату .zip (використовуючи 7z)?

Відповіді:


17

За замовчуванням для файлового ролика додатків GUI також можна змінити:


Майте на увазі, що "ультра" може виявитися не дуже ефективним і стискати його буде просто більше часу, не створюючи суттєвої різниці в отриманому розмірі файлу, ніж настройки за замовчуванням, а також може ввести несумісність з іншими програмами.

Вона повинна бути:

7z a -tzip -mx=9

Відповідно до: файл: ///usr/share/doc/p7zip-full/DOCS/MANUAL/switches/method.htm

Це посилання на вашу файлову систему, просто поставте її в адресний рядок вашого веб-браузера.

Якщо ви зараз не перебуваєте на комп’ютері, де встановлений пакет, ви можете завантажити пакет DEB і переглянути його за допомогою іншого архіватора. Якщо моя пам'ять служить мені правильно, майже той самий файл повинен бути включений в інсталятор Windows.

Zip

Parameter                     Default     Description
x=[0 | 1 | 3 | 5 | 7 | 9 ]    5           Sets level of compression.
m={MethodID}                  Deflate     Sets a method: Copy, Deflate, Deflate64, BZip2, LZMA, PPMd.
fb={NumFastBytes}             32          Sets number of Fast Bytes for Deflate encoder.
pass={NumPasses}              1           Sets number of Passes for Deflate encoder.
d={Size}[b|k|m]               900000      Sets Dictionary size for BZip2
mem={Size}[b|k|m]             24          Sets size of used memory for PPMd.
o={Size}                      8           Sets model order for PPMd.
mt=[off | on | {N}]           on          Sets multithreading mode.
em={EncryptionMethodID}       ZipCrypto   Sets a encryption method: ZipCrypto, AES128, AES192, AES256
tc=[off | on]                 off         Stores NTFS timestamps for files: Modification time, Creation time, Last access time.
cl=[off | on]                 off         7-Zip always uses local code page for file names.
cu=[off | on]                 off         7-Zip uses UTF-8 for file names that contain non-ASCII symbols.

За замовчуванням (якщо перемикачі cl і cu не вказані), 7-Zip використовує кодування UTF-8 лише для імен файлів, що містять символи, не підтримувані локальною кодовою сторінкою.

x = [0 | 1 | 3 | 5 | 7 | 9]

Встановлює рівень стиснення. x = 0 означає режим копіювання (без стиснення).

Налаштування зменшення / зменшення64:

Level NumFastBytes    NumPasses   Description
1     32              1           Fastest
3                                 Fast
5                                 Normal
7     64              3           Maximum
9     128             10          Ultra

x = 1 і x = 3 з швидким режимом для стиснення, встановленим методом Deflate.

Налаштування BZip2:

Level Dictionary  NumPasses   Description
1     100000      1           Fastest
3     500000                  Fast
5     900000                  Normal
7                 2           Maximum
9                 7           Ultra

fb = {NumFastBytes}

Встановлює кількість швидких байтів для кодера Deflate / Deflate64. Він може бути в діапазоні від 3 до 258 (257 для Deflate64). Зазвичай велика кількість дає дещо кращий коефіцієнт стиснення та більш повільний процес стиснення. Великий параметр швидких байтів може значно збільшити коефіцієнт стиснення для файлів, що містять довгі однакові послідовності байтів.

pass = {NumPasses}

Встановлює кількість пропусків для кодування Deflate. Він може бути в діапазоні від 1 до 15 для дефляції та від 1 до 10 для BZip2. Зазвичай велика кількість дає дещо кращий коефіцієнт стиснення та більш повільний процес стиснення.

d = {Розмір} [b | k | m]

Встановлює розмір словника для BZip2. Ви повинні вказати розмір у байтах, кілобайт або мегабайт. Максимальне значення для розміру словника - 900000b. Якщо ви не вказали жодного символу з набору [b | k | m], розмір словника буде обчислюватися як DictionarySize = 2 ^ Байт розміру.

mem = {Розмір} [b | k | m]

Встановлює об'єм пам'яті, що використовується для PPMd. Ви повинні вказати розмір у байтах, кілобайт або мегабайт. Максимальне значення - 256 МБ = 2 ^ 28 байт. Значення за замовчуванням - 24 (16 МБ). Якщо ви не вкажете жодного символу з набору [b | k | m], розмір пам'яті обчислюється як (2 ^ Розмір) байт. PPMd використовує однаковий об'єм пам'яті для стиснення та декомпресії.

o = {Розмір}

Встановлює модельне замовлення для PPMd. Розмір повинен бути в межах [2,16]. Значення за замовчуванням - 8.

mt = [вимкнено | на | {N}]

Встановлює багатопотоковий режим. Якщо у вас багатопроцесорна або багатоядерна система, ви можете отримати збільшення швидкості за допомогою цього перемикача. Цей параметр впливає лише на стиснення (будь-яким методом) та декомпресію потоків BZip2. Кожен потік у багатопотоковому режимі використовує 32 Мб оперативної пам’яті для буферування. Якщо вказати {N}, 7-Zip намагається використовувати N потоків.


Це повертається System error: E_INVALIDARG. Якщо видалити m0=Deflateце працює 7z a -tzip -mx=9 -mfb=128 -mpass=10. Чому ви вибрали -mfb=128і -mpass=10? Дякую.
ᴜsᴇʀ

@user Ви попросили ультра налаштування, і згідно з таблицею це ультра налаштування для дефляції, стандартне стиснення в zip. Ви повинні подивитися оригінальний файл, форматування тут обмежене і не може обробляти таблиці, наскільки я знаю.
LiveWireBT

Я не пояснив добре. [1] З параметром m0=Deflateвін не працює, і він повертається System error: E_INVALIDARG. Якщо я видалю цю опцію (тобто 7z a -tzip -mx=9 -mfb=128 -mpass=10вона працює) [2] На друге питання ("чому ти вибрав -mfb=128і -mpass=10") тепер я розумію, я подивився на таблиці.
3sᴇʀ

1
@user -mx=9рівнозначно -mfb=128 -mpass=10, я це зрозумів, перечитавши свою публікацію. Я не знаю, чому m0=Deflateце не працює. Я думаю, що я стикався з цією проблемою років тому в Windows і ніколи не вирішував її. Це може бути помилка в документації або просто застаріле значення, яке -tzipпідтримує лише один метод заради сумісності. Я не знаю, хтось може подати помилку чи прочитати вихідний код, щоб дізнатися, які варіанти насправді підтримуються.
LiveWireBT

1
Я думаю, що ваша m0=Deflateопція не спрацювала в тому, що у вас неправильний синтаксис. Я думаю, що має бути -mm=Deflate, ні -m0=Deflate. Це синтаксис у Windows у будь-якому випадку, і синтаксис відповідно до того, що LiveWireBT розмістив вище. (Дякую за це LiveWireBt, btw).
Девід І. Макінтош
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.