Sıkıştırmak istediğim yüzlerce benzer büyük dosyam var (her biri 30 megabayt). Her dosya çifti aynı verilerin% 99'una sahiptir (% 1'den az fark), bu yüzden 40-50 megabayttan fazla arşive sahip olmayı beklemiyorum.
Tek dosya (ile 13-15 MB 30 MB den sıkıştırılmış olabilir xz -1, gz -1, bzip2 -1), ancak iki veya daha fazla dosya sıkıştırma zaman boyutu ile arşiv istiyorum 13-15MB + N*0.3MBN dosya sayısıdır.
tar(Katı arşiv oluşturmak için) ve xz -6(sıkıştırma sözlüğünü bir dosyadan daha büyük olarak tanımlamak için - Güncelleme - bu yeterli değildi! ) Kullanırken , hala boyutta bir arşivim var N*13MB.
Bunu hem düşünüyorum gzipve bzip2onlar Sözlük az 1 mb dan daha var çünkü bana yardımcı olmaz ve benim katran akışı tekrarlar her 30 MB vardır.
Modern Linux'taki sorunumu standart araçlar kullanarak nasıl arşivleyebilirim?
xzHızlı sıkıştırmak için ayar yapmak mümkün , ancak 30-60 MB'den daha büyük sözlük kullanmak mümkün mü ?
Güncelleme : Hile yaptı tar c input_directory | xz --lzma2=dict=128M,mode=fast,mf=hc4 --memory=2G > compressed.tar.xz. Gerekli mf=hc4ve --memory=2Gseçenekler hakkında emin değilim ; ancak dict=128Msözlüğü yeterince büyük (bir dosyadan daha büyük) olacak şekilde ayarlayın ve mode=fastişlemi biraz daha hızlı yapın -e.
xz -1 --memory=2Gyardımcı olmadı, setten 2 ve 4 dosya üzerinde test edildi.