7z pengaturan "ultra" untuk format zip

14

Pengaturan 7z "ultra" untuk format .7z adalah:

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

Apa pengaturan "ultra" untuk format .zip (menggunakan 7z)?

ᴜsᴇʀ
sumber

Jawaban:

17

Default untuk rol file aplikasi GUI juga dapat diubah:


Ketahuilah bahwa "ultra" mungkin tidak terlalu efisien dan hanya akan membutuhkan waktu lebih lama untuk dikompres sementara tidak menghasilkan perbedaan yang signifikan dalam ukuran file yang dihasilkan daripada pengaturan default dan mungkin juga memperkenalkan ketidaksesuaian dengan program lain.

Harus:

7z a -tzip -mx=9

Menurut: file: ///usr/share/doc/p7zip-full/DOCS/MANUAL/switches/method.htm

Ini adalah tautan ke sistem file Anda, cukup taruh di bilah alamat server web Anda.

Jika saat ini Anda tidak berada di komputer tempat paket diinstal, Anda dapat mengunduh paket DEB dan menjelajahinya dengan pengarsip lain. Jika ingatanku benar, file yang hampir sama harus dimasukkan dalam penginstal 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.

Secara default (jika sakelar cl dan cu tidak ditentukan), 7-Zip menggunakan pengkodean UTF-8 hanya untuk nama file yang mengandung simbol yang tidak didukung oleh halaman kode lokal.

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

Mengatur tingkat kompresi. x = 0 berarti mode Salin (tanpa kompresi).

Pengaturan Deflate / Deflate64:

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

x = 1 dan x = 3 dengan metode Deflate mengatur mode cepat untuk kompresi.

Pengaturan BZip2:

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

fb = {NumFastBytes}

Menetapkan jumlah byte cepat untuk encoder Deflate / Deflate64. Itu bisa berada dalam kisaran 3 hingga 258 (257 untuk Deflate64). Biasanya, angka besar memberikan rasio kompresi sedikit lebih baik dan proses kompresi lebih lambat. Parameter byte cepat yang besar dapat secara signifikan meningkatkan rasio kompresi untuk file yang berisi urutan byte identik yang panjang.

pass = {NumPasses}

Mengatur jumlah lintasan untuk Deflate encoder. Dapat berkisar dari 1 hingga 15 untuk Mengempis dan dari 1 hingga 10 untuk BZip2. Biasanya, angka besar memberikan rasio kompresi sedikit lebih baik dan proses kompresi lebih lambat.

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

Atur ukuran Kamus untuk BZip2. Anda harus menentukan ukuran dalam byte, kilobyte, atau megabita. Nilai maksimum untuk ukuran Kamus adalah 900000b. Jika Anda tidak menentukan simbol apa pun dari set [b | k | m], ukuran kamus akan dihitung sebagai DictionarySize = 2 ^ Ukuran byte.

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

Mengatur ukuran memori yang digunakan untuk PPMd. Anda harus menentukan ukuran dalam byte, kilobyte, atau megabita. Nilai maksimum adalah 256 MB = 2 ^ 28 byte. Nilai standarnya adalah 24 (16MB). Jika Anda tidak menentukan simbol apa pun dari set [b | k | m], ukuran memori akan dihitung sebagai (2 ^ Ukuran) byte. PPMd menggunakan jumlah memori yang sama untuk kompresi dan dekompresi.

o = {Ukuran}

Menetapkan urutan model untuk PPMd. Ukurannya harus dalam kisaran [2,16]. Nilai default adalah 8.

mt = [mati | pada | {N}]

Setel mode multithread. Jika Anda memiliki multiprosesor atau sistem multicore, Anda bisa mendapatkan peningkatan kecepatan dengan sakelar ini. Opsi ini hanya memengaruhi kompresi (dengan metode apa pun) dan dekompresi stream BZip2. Setiap utas dalam mode multithread menggunakan 32 MB RAM untuk buffering. Jika Anda menentukan {N}, 7-Zip mencoba menggunakan utas N.

LiveWireBT
sumber
Ia kembali System error: E_INVALIDARG. Jika saya menghapus m0=Deflatekerjanya: 7z a -tzip -mx=9 -mfb=128 -mpass=10. Mengapa Anda memilih -mfb=128dan -mpass=10? Terima kasih.
ᴇʀsᴇʀ
@ pengguna Anda meminta pengaturan ultra dan menurut tabel ini adalah pengaturan ultra untuk deflate, kompresi standar di zip. Anda harus melihat file orignal, format di sini terbatas dan tidak bisa menangani tabel sejauh yang saya tahu.
LiveWireBT
Saya belum menjelaskan dengan baik. [1] Dengan opsi m0=Deflateitu tidak berfungsi, dan kembali System error: E_INVALIDARG. Jika saya menghapus opsi ini (yaitu 7z a -tzip -mx=9 -mfb=128 -mpass=10berfungsi) [2] Untuk pertanyaan kedua ("mengapa Anda memilih -mfb=128dan -mpass=10") sekarang saya mengerti, saya melihat tabel.
ᴇʀsᴇʀ
1
@user -mx=9setara dengan -mfb=128 -mpass=10, saya tahu setelah membaca kembali posting saya. Saya tidak tahu mengapa m0=Deflatetidak berhasil. Saya pikir saya mengalami masalah ini tahun lalu di Windows dan tidak pernah menyelesaikannya. Ini bisa menjadi kesalahan dokumentasi atau hanya ketinggalan jaman makna yang -tziphanya mendukung satu metode demi kepuasan. Saya tidak tahu, seseorang dapat mengajukan bug atau membaca kode sumber untuk mengetahui opsi apa yang sebenarnya didukung.
LiveWireBT
1
Saya pikir alasan m0=Deflatepilihan Anda tidak berhasil adalah karena Anda memiliki sintaks yang salah. Saya pikir itu harus -mm=Deflate, bukan -m0=Deflate. Itu adalah sintaks pada Windows dalam hal apa pun, dan sintaksis sesuai dengan apa yang telah diposting LiveWireBT di atas. (Terima kasih untuk LiveWireBt ini, btw).
David I. McIntosh