Configurações 7z "ultra" para formato zip

14

As configurações 7z "ultra" para o formato .7z são:

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

Quais são as configurações "ultra" para o formato .zip (usando 7z)?

ᴜsᴇʀ
fonte

Respostas:

17

Os padrões para o rolo de arquivo do aplicativo GUI também podem ser alterados:


Esteja ciente de que "ultra" pode não ser muito eficiente e levará apenas mais tempo para compactar, enquanto não produz diferenças significativas no tamanho do arquivo resultante que as configurações padrão e também pode introduzir incompatibilidades com outros programas.

Deveria ser:

7z a -tzip -mx=9

De acordo com: file: ///usr/share/doc/p7zip-full/DOCS/MANUAL/switches/method.htm

Este é um link para o seu sistema de arquivos, basta colocá-lo na barra de endereço do seu navegador da web.

Se atualmente você não está em um computador em que o pacote está instalado, você pode fazer o download do pacote DEB e procurá-lo com outro arquivador. Se minha memória me servir corretamente, quase o mesmo arquivo deverá ser incluído no instalador do Windows.

Fecho eclair

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.

Por padrão (se as opções cl e cu não forem especificadas), o 7-Zip usará a codificação UTF-8 apenas para nomes de arquivos que contenham símbolos não suportados pela página de códigos local.

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

Define o nível de compactação. x = 0 significa modo de cópia (sem compactação).

Configurações de Deflate / Deflate64:

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

x = 1 ex = 3 com o método Deflate define o modo rápido para compactação.

Configurações do BZip2:

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

fb = {NumFastBytes}

Define o número de bytes rápidos para o codificador Deflate / Deflate64. Pode estar no intervalo de 3 a 258 (257 para Deflate64). Geralmente, um grande número fornece uma taxa de compactação um pouco melhor e um processo de compactação mais lento. Um parâmetro grande de bytes rápidos pode aumentar significativamente a taxa de compactação para arquivos que contêm longas sequências idênticas de bytes.

pass = {NumPasses}

Define o número de passagens para o codificador Deflate. Pode estar no intervalo de 1 a 15 para Deflate e de 1 a 10 para BZip2. Geralmente, um grande número fornece uma taxa de compactação um pouco melhor e um processo de compactação mais lento.

d = {Tamanho} [b | k | m]

Define o tamanho do dicionário para BZip2. Você deve especificar o tamanho em bytes, kilobytes ou megabytes. O valor máximo para o tamanho do dicionário é 900000b. Se você não especificar nenhum símbolo do conjunto [b | k | m], o tamanho do dicionário será calculado como DictionarySize = 2 ^ Size bytes.

mem = {Tamanho} [b | k | m]

Define o tamanho da memória usada para PPMd. Você deve especificar o tamanho em bytes, kilobytes ou megabytes. O valor máximo é 256 MB = 2 ^ 28 bytes. O valor padrão é 24 (16MB). Se você não especificar nenhum símbolo do conjunto [b | k | m], o tamanho da memória será calculado como bytes (2 ^ Size). O PPMd usa a mesma quantidade de memória para compactação e descompactação.

o = {Tamanho}

Define a ordem do modelo para PPMd. O tamanho deve estar no intervalo [2,16]. O valor padrão é 8.

mt = [desativado | em | {N}]

Define o modo multithread. Se você tiver um sistema multiprocessador ou multicore, poderá obter um aumento de velocidade com essa opção. Esta opção afeta apenas a compactação (com qualquer método) e descompactação dos fluxos BZip2. Cada encadeamento no modo multithread usa 32 MB de RAM para buffer. Se você especificar {N}, o 7-Zip tentará usar N threads.

LiveWireBT
fonte
Retorna System error: E_INVALIDARG. Se eu remover m0=Deflatefunciona: 7z a -tzip -mx=9 -mfb=128 -mpass=10. Por que você escolheu -mfb=128e -mpass=10? Obrigado.
ᴜsᴇʀ
@user Você solicitou configurações ultra e, de acordo com a tabela, essas são as configurações ultra para desinflar, a compressão padrão em zip. Você deve olhar para o arquivo original, a formatação aqui é limitada e não pode lidar com tabelas até onde eu sei.
LiveWireBT
Eu não expliquei bem. [1] Com a opção, m0=Deflateela não funciona e retorna System error: E_INVALIDARG. Se eu remover essa opção (isto 7z a -tzip -mx=9 -mfb=128 -mpass=10é, funciona) [2] Para a segunda pergunta ("por que você escolheu -mfb=128e -mpass=10") agora eu entendo, olhei para as tabelas.
ᴜsᴇʀ
1
@user -mx=9é equivalente a -mfb=128 -mpass=10, descobri isso depois de reler minha postagem. Não sei por m0=Deflateque não funciona. Acho que encontrei esse problema anos atrás no Windows e nunca o resolvi. Pode ser um erro de documentação ou um significado simplesmente desatualizado que -tzipsuporta apenas um método para fins de compatibilidade. Não sei, é possível registrar um bug ou ler o código-fonte para descobrir quais opções são realmente suportadas.
LiveWireBT
1
Acho que a razão pela qual sua m0=Deflateopção não funcionou é porque você tem a sintaxe incorreta. Eu acho que deveria ser -mm=Deflate, não -m0=Deflate. Essa é a sintaxe no Windows, em qualquer caso, e a sintaxe de acordo com o que o LiveWireBT postou acima. (Obrigado por este LiveWireBt, btw).
David I. McIntosh