Saya memiliki sekitar 2 juta (60GiB) file kecil yang di-gzip dan saya ingin membuat arsip terkompresi yang berisi semuanya dalam versi yang tidak terkompresi. Sayangnya, saya tidak bisa hanya mengompres semuanya dan kemudian membuat arsip terkompresi karena saya hanya memiliki sekitar 70GiB ruang disk kosong. Dengan kata lain, bagaimana saya bisa melakukan yang setara tar --file-filter="zcat" zcf file.tar.gz directory
jika saklar baris perintah seperti --file-filter
tidak ada di tar GNU?
tar
disk-usage
compression
large-files
d33tah
sumber
sumber
gzip
? Menggabungkan dan mengompresi menghemat ruang, tetapi Anda akan mendapatkan lebih banyak jika Anda mengompres kexz
file tar -ed. Apakah itu pilihan?Jawaban:
Sebuah opsi dapat digunakan
avfs
(di sini dengan asumsi sistem GNU):sumber
Perhatikan, bahwa ini rapuh ketika menyangkut nama file yang tidak menyenangkan.
File-file tersebut tidak terkompresi sementara di bawah
$tmpdir
, diteruskan kecpio
begitu segera setelah mereka ditambahkan ke arsip, dihapus.sumber
pigz
sebagai alternatif untuk gzip :)Inilah yang saya coba sejauh ini - sepertinya berhasil, tetapi sangat lambat, bahkan dengan PyPy:
Pemakaian:
find . | script.py | gzip > file.tar.gz
sumber
|gzip
dan file yang tidak terkompresi pada dasarnya tidak menyentuh HDD, jadi IMHO seharusnya tidak terlalu lambat.tar
file seperti objek gzip.