Ustawienia „ultra” 7z dla formatu zip

14

Ustawienia „ultra” 7z dla formatu .7z to:

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

Jakie są ustawienia „ultra” dla formatu .zip (przy użyciu 7z)?

ᴜsᴇʀ
źródło

Odpowiedzi:

17

Można również zmienić wartości domyślne dla rolki plików aplikacji GUI :


Należy pamiętać, że „ultra” może nie być bardzo wydajny i kompresja potrwa dłużej, nie powodując znaczącej różnicy w wynikowym rozmiarze pliku niż ustawienia domyślne, a także może powodować niezgodność z innymi programami.

Powinno być:

7z a -tzip -mx=9

Według: file: ///usr/share/doc/p7zip-full/DOCS/MANUAL/switches/method.htm

To jest link do twojego systemu plików, po prostu umieść go w pasku adresu przeglądarki internetowej.

Jeśli nie jesteś na komputerze, na którym pakiet jest zainstalowany, możesz pobrać pakiet DEB i przeglądać go za pomocą innego archiwizatora. Jeśli moja pamięć służy mi poprawnie, prawie ten sam plik powinien zostać zawarty w instalatorze Windows.

Zamek błyskawiczny

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.

Domyślnie (jeśli nie określono przełączników cl i cu), 7-Zip używa kodowania UTF-8 tylko dla nazw plików zawierających symbole nieobsługiwane przez lokalną stronę kodową.

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

Ustawia poziom kompresji. x = 0 oznacza tryb kopiowania (bez kompresji).

Ustawienia Deflate / Deflate64:

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

x = 1 i x = 3 metodą Deflate ustawia tryb szybki na kompresję.

Ustawienia BZip2:

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

fb = {NumFastBytes}

Ustawia liczbę szybkich bajtów dla enkodera Deflate / Deflate64. Może być w zakresie od 3 do 258 (257 dla Deflate64). Zwykle duża liczba daje nieco lepszy współczynnik kompresji i wolniejszy proces kompresji. Duży parametr szybkich bajtów może znacznie zwiększyć współczynnik kompresji dla plików zawierających długie identyczne sekwencje bajtów.

pass = {NumPasses}

Ustawia liczbę przebiegów dla enkodera Deflate. Może być w zakresie od 1 do 15 dla Deflate i od 1 do 10 dla BZip2. Zwykle duża liczba daje nieco lepszy współczynnik kompresji i wolniejszy proces kompresji.

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

Ustawia rozmiar słownika dla BZip2. Musisz podać rozmiar w bajtach, kilobajtach lub megabajtach. Maksymalna wartość rozmiaru słownika to 900000b. Jeśli nie określisz żadnego symbolu z zestawu [b | k | m], rozmiar słownika zostanie obliczony jako DictionarySize = 2 ^ Wielkość bajtów.

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

Ustawia rozmiar pamięci używanej dla PPMd. Musisz podać rozmiar w bajtach, kilobajtach lub megabajtach. Maksymalna wartość wynosi 256 MB = 2 ^ 28 bajtów. Wartość domyślna to 24 (16 MB). Jeśli nie określisz żadnego symbolu z zestawu [b | k | m], rozmiar pamięci zostanie obliczony jako (2 ^ Rozmiar) bajtów. PPMd używa tej samej ilości pamięci do kompresji i dekompresji.

o = {rozmiar}

Ustawia kolejność modeli dla PPMd. Rozmiar musi mieścić się w zakresie [2,16]. Wartość domyślna to 8.

mt = [wył. | na | {N}]

Ustawia tryb wielowątkowy. Jeśli masz system wieloprocesorowy lub wielordzeniowy, możesz uzyskać wzrost prędkości za pomocą tego przełącznika. Ta opcja wpływa tylko na kompresję (dowolną metodą) i dekompresję strumieni BZip2. Każdy wątek w trybie wielowątkowym wykorzystuje do buforowania 32 MB pamięci RAM. Jeśli podasz {N}, 7-Zip spróbuje użyć N wątków.

LiveWireBT
źródło
Powraca System error: E_INVALIDARG. Jeśli usunąć m0=Deflateto działa 7z a -tzip -mx=9 -mfb=128 -mpass=10. Dlaczego wybrałeś -mfb=128i -mpass=10? Dziękuję Ci.
3sᴇʀ
@ użytkownik Poprosiłeś o ultra ustawienia i zgodnie z tabelą są to ultra ustawienia deflate, standardowa kompresja zip. Powinieneś spojrzeć na plik orignal, tutaj formatowanie jest ograniczone i, o ile wiem, nie obsługuje tabel.
LiveWireBT,
Nie wyjaśniłem dobrze. [1] Z opcją m0=Deflatenie działa i powraca System error: E_INVALIDARG. Jeśli usunę tę opcję (tj 7z a -tzip -mx=9 -mfb=128 -mpass=10. Zadziała) [2] W przypadku drugiego pytania („dlaczego wybrałeś -mfb=128i -mpass=10”) teraz rozumiem, spojrzałem na tabele.
ᴇʀsᴇʀ
1
@ użytkownik -mx=9jest równoważny -mfb=128 -mpass=10, zorientowałem się po ponownym przeczytaniu mojego postu. Nie wiem dlaczego m0=Deflatenie działa. Myślę, że napotkałem ten problem wiele lat temu w systemie Windows i nigdy go nie rozwiązałem. Może to być błąd w dokumentacji lub po prostu przestarzały, co oznacza, że -tzipobsługuje tylko jedną metodę ze względu na kompatybilność. Nie wiem, można zgłosić błąd lub przeczytać kod źródłowy, aby dowiedzieć się, jakie opcje są faktycznie obsługiwane.
LiveWireBT
1
Myślę, że powodem, dla którego Twoja m0=Deflateopcja nie działała, jest niepoprawna składnia. Myślę, że powinno być -mm=Deflate, nie -m0=Deflate. W każdym razie taka jest składnia w systemie Windows i składnia zgodna z tym, co opublikował LiveWireBT powyżej. (Dzięki za ten LiveWireBt, btw).
David I. McIntosh