Membagi menjadi banyak file .ZIP menggunakan 7-Zip

12

Jika saya memiliki folder 100 GB dan saya membaginya dengan ZIP, apakah ada perbedaan dalam berapa banyak ruang disk yang dikonsumsi jika saya membaginya menjadi 100 file .ZIP dengan masing-masing 1 GB atau 10 file .ZIP dengan masing-masing 10 GB?

Apakah 100 file .ZIP pada 1 GB masing-masing membutuhkan lebih banyak ruang daripada 10 file .ZIP pada 10 GB masing-masing?

Kong
sumber
Dan Anda tidak dapat mengetahuinya karena?
Dave
5
Mengapa Anda tidak bisa mencobanya saja?
Peter Mortensen
1
Setiap file ZIP mandiri memiliki beberapa overhead. Namun, Anda dapat memotong file ZIP menjadi potongan-potongan yang dapat dipasang kembali. Potongan-potongan itu tidak memiliki overhead ZIP di masing-masing, dan jika Anda membelah pada batas sektor atau blok, mereka tidak mengandung ruang yang terbuang.
fixer1234

Jawaban:

18

Ayo cari tahu!

100 MB file (27 buah):

7z a -tzip -v100M ./100m/archive ./kali-linux-xfce-2018.2-amd64.iso

$ du ./100m/
2677884 ./100m/

10 MB file (262 buah):

7z a -tzip -v10M ./10m/archive ./kali-linux-xfce-2018.2-amd64.iso

$ du ./10m/
2677908 ./10m

Hasil: Arsip split 10 MB membutuhkan 24 KB ekstra. Jadi ya, ada perbedaan, file 100 1 GB akan memakan lebih banyak ruang daripada file 10 10 GB.

Perbedaannya tampaknya diabaikan. Saya akan pergi untuk mana yang lebih nyaman bagi Anda.

Layne Bernardo
sumber
4
dutidak menampilkan ukuran dalam byte secara default (kecuali 270M file Anda berubah menjadi 2.677.908 byte). Itu memang menampilkan ukuran file pada disk, yang mungkin berbeda dari ukuran data aktual (mungkin berlaku untuk mengunggah atau menyimpan pada sistem file lain)
Xen2050
Anda benar, ini sebenarnya keluaran dalam KB. Saya telah mengedit jawaban untuk memperbaiki perbedaan ini. File aslinya adalah Kali Linux ISO, ini ~ 2.6GB. Anda memiliki poin yang bagus tentang ukuran pada disk versus ukuran data aktual, saya secara khusus memikirkan ukuran pada disk karena ini bertanggung jawab atas overhead memiliki file tambahan tetapi Anda benar bahwa itu akan berbeda tergantung pada apa yang Anda lakukan. sebenarnya dilakukan dengan arsip.
Layne Bernardo
Maaf, saya menyeberang dengan jawaban Anda yang hampir mirip saat saya memeriksa ulang string yang dijalankan.
AFH
Ukuran file zip maksimal adalah 4GB.
pai
1
Ya, itu sebabnya saya tidak repot menghitung persen. Saya tidak berpikir itu berhasil persentase rata dari ukuran file asli, terutama mengingat perbedaan dalam sistem file.
Layne Bernardo
15

Setiap file memiliki overhead sistem file dari ruang sektor logis yang tidak digunakan setelah akhir file, tetapi ini dihilangkan jika ukuran split adalah kelipatan dari ukuran sektor logis (tidak harus benar dengan contoh saya di bawah).

Mungkin ada byte tambahan yang digunakan oleh entri direktori tambahan, tetapi ini tidak akan mencari kecuali direktori sekarang menempati sektor tambahan logis.

File split isinya identik dengan yang dibuat oleh program splitter biner dengan ukuran split yang sama.

Saya memverifikasi ini di Linux dengan menggunakan versi GUI pada file 7 + MB, memberikan 8 file split ukuran 1MB dengan 7-Zip ( File.7z.00?), kemudian membuat satu arsip penuh ( Full.7z), yang saya bagi dengan: -

7z -v1000000 a File;                                         # Create split volumes File.7z.00?
7z a Full File;                                              # Create full archive Full.7z
split -b 1000000 -a 3 --numeric-suffixes=1 Full.7z Full.7z.; # Split full archive into Full.7z.00?
for f in {001..008}; do cmp Full.7z.$f File.7z.$f; done;     # Compare splits with 7z volumes

Untuk menguji pada OS lain Anda mungkin perlu mengunduh atau menulis program splitter yang sesuai.

AFH
sumber