J'ai besoin de lister le contenu d'une archive tar assez volumineuse (environ 37GiB). tar -ztvf archive
prend pour toujours. Y a-t-il un moyen d'obtenir cette liste rapidement? Peut-être en listant seulement le contenu jusqu'à une certaine profondeur de répertoire?
Aurais-je pu faire quelque chose en compilant les archives pour permettre une liste plus rapide du contenu?
Réponses:
Donc, vous avez un ensemble de fichiers, que vous avez créé une archive en utilisant "tar" , qui créera un fichier de sortie. Ensuite, vous avez utilisé "gzip" pour compresser ce fichier ".tar" en un ".zip" .
Si tel est le cas, le processus d'obtenir une liste de tous les fichiers dans le « .tar » fichier, il faut que le « .tar » fichier doit être complètement décompressé à partir du « .zip » fichier, avant que le contenu du " .tar " peut être répertorié.
Cela prendra toujours plus de temps que d’obtenir une liste des fichiers qui sont stockés "directement" dans un fichier ".zip" . Si le fichier est volumineux, ce temps peut être considérable.
Si vous souhaitez réduire le temps requis pour répertorier les fichiers dans un fichier archive compressé, alors:
décompressez (décompressez) le fichier ".tar" à partir du fichier ".zip" et développez le fichier ".tar" résultant dans l'ensemble de fichiers sous-jacent
créez un fichier ".zip" directement à partir de l'ensemble des fichiers.
De cette façon, les fichiers du fichier d'archive peuvent être listés sans décompresser l'archive.
la source
-z
signifie àungzip
ougzip
le fichier tar. Le goudron lui-même s'assemble sans compression. Lorsque vous gzip, vous ne pouvez pas faire grand chose, les métadonnées se trouvent dans le fichier tar compressé,C'est tout ce que gzip voit. Il faut que vous tiriez dessus pour retourner au goudron. La solution Unix pour contourner ce problème consiste simplement à générer un manifeste
find . > MANIFEST
et à l’envoyer avec. Cependant, il existe d'autres options telles que plutôt que d'utiliser.tar.gz
simplement l'envoi d'un format différent qui ne compresse pas les métadonnées. Je pense7zip
correspond à cette description.Plus récemment, les gens ont commencé à utiliser
sha1sum
oumd5sum
ce qui est un meilleur plan qu'un MANIFEST ordinaire.Cela peut aussi être vérifié assez facilement mais il est inutile , car à la fois le goudron et gzip fournissent checksums en interne,
la source