J'ai environ 2 millions (60 Go) de petits fichiers compressés et je voudrais créer une archive compressée les contenant tous dans une version non compressée. Malheureusement, je ne peux pas tous les décompresser, puis créer l'archive compressée car je n'ai que 70 Go d'espace disque libre. En d'autres termes, comment puis-je faire un équivalent de tar --file-filter="zcat" zcf file.tar.gz directory
si le commutateur de ligne de commande comme --file-filter
n'existe pas dans GNU tar?
tar
disk-usage
compression
large-files
d33tah
la source
la source
gzip
? La combinaison et la compression économisent de l'espace, mais vous gagneriez beaucoup plus si vous compressiez dans unxz
fichier tar -ed. Est-ce une option?Réponses:
Une option pourrait être d'utiliser
avfs
(en supposant ici un système GNU):la source
Notez que cela est fragile en ce qui concerne les noms de fichiers désagréables.
Les fichiers sont décompressés temporairement sous
$tmpdir
, passés àcpio
puis dès qu'ils sont ajoutés à l'archive, supprimés.la source
pigz
une alternative à gzip :)Voici ce que j'ai essayé jusqu'à présent - cela semble fonctionner, mais il est terriblement lent, même avec PyPy:
Usage:
find . | script.py | gzip > file.tar.gz
la source
|gzip
et le fichier non compressé n'a pas fondamentalement touché le disque dur, donc à mon humble avis , cela ne devrait pas être TELLEMENT lent.tar
fichier gzip comme un objet.