Ich habe ungefähr 2 Millionen (60 GB) kleine komprimierte Dateien und möchte ein komprimiertes Archiv erstellen, das alle in einer unkomprimierten Version enthält. Leider kann ich nicht alle dekomprimieren und dann das komprimierte Archiv erstellen, da ich nur etwa 70 GB freien Speicherplatz habe. Mit anderen Worten, wie kann ich ein Äquivalent dazu erstellen, tar --file-filter="zcat" zcf file.tar.gz directory
wenn der Befehlszeilenschalter wie --file-filter
in GNU tar nicht vorhanden ist?
tar
disk-usage
compression
large-files
d33tah
quelle
quelle
gzip
? Das Kombinieren und Komprimieren spart Platz, aber Sie würden viel mehr gewinnen, wenn Sie in einexz
-ed-TAR-Datei komprimieren würden . Ist das eine Option?Antworten:
Eine Option könnte sein
avfs
(hier unter der Annahme eines GNU-Systems):quelle
Beachten Sie, dass dies fragil ist, wenn es um böse Dateinamen geht.
Die Dateien werden vorübergehend unter dekomprimiert
$tmpdir
und an sie übergeben,cpio
sobald sie dem Archiv hinzugefügt und entfernt wurden.quelle
pigz
als Alternative zu gzip zu verwenden :)Folgendes habe ich bisher versucht - es scheint zu funktionieren, ist aber selbst mit PyPy furchtbar langsam:
Verwendungszweck:
find . | script.py | gzip > file.tar.gz
quelle
|gzip
und die unkomprimierte Datei hat die Festplatte im Grunde nicht berührt, also sollte es meiner Meinung nach nicht so langsam sein.tar
wie ein Objekt an die gzip-Datei übergeben.