Compression et archivage

De Wiki de Calcul Québec
Aller à : Navigation, rechercher
Autres langues :anglais 100% • ‎français 100%

Sommaire

Introduction

La page Utiliser l'espace de stockage décrit l'utilisation des différents types d'espace disque qui sont disponibles à Calcul Québec.

L'espace disque sur les supercalculateurs est précieux. Merci de l'utiliser avec parcimonie c'est à dire, merci de faire le ménage afin d'éliminer les fichiers inutiles. Lorsque que vous avez des résultats de calcul que vous souhaitez conserver, mais qui ne sont pas utilisés sur une base régulière, il est recommandé d'archiver et de compresser vos fichiers.

Archivage

Le programme tar (de l'anglais tape archiver) est un logiciel d'archivage de fichiers standard des systèmes de type UNIX. En combinant vos fichiers en une archive, vous améliorerez grandement la performance des systèmes de fichiers parallèles, pour vous, mais également pour l'ensemble des utilisateurs.

Les commandes principales sont :

 
 [nom@serveur $] tar cf archive.tar repertoire/
 [nom@serveur $] tar tvf archive.tar
 [nom@serveur $] tar xf archive.tar
 


pour respectivement créer l'archive, afficher la liste des fichiers contenus dans une archive, et extraire l'ensemble des fichiers de l'archive.

Compression

Le programme gzip (acronyme de GNU zip) est un logiciel libre de compression qui a été créé à partir de 1991. Il permet de réduire la taille des fichiers de façon importante.

Les commandes de base permettant de compresser et de décompresser les fichiers sont :

 
 [nom@serveur $] gzip fichier.txt
 [nom@serveur $] gunzip fichier.txt.gz
 


Archivage et compression

Une utilisation courante consiste à archiver et compresser en même temps avec la même ligne de commande. On peut par exemple combiner les commande tar et gzip pour archiver et compresser le contenu du répertoire rep1/ dans le fichier $ARCHIVE/arch1.tar.gz. On suppose que la variable $ARCHIVE pointe vers une unité de stockage ou un dossier que vous utilisez pour archiver vos données. Pour l'archivage avec compression et pour le désarchivage avec décompression les commandes sont, dans l'ordre :

 
 [nom@serveur $] tar c rep1/ | gzip > $ARCHIVE/fic1.tar.gz
 [nom@serveur $] gzip -dc $ARCHIVE/arch1.tar.gz | tar x
 


Avec GNU tar, on peut faire de façon équivalente :

 
 [nom@serveur $] tar zcf $ARCHIVE/arch1.tar.gz rep1/
 [nom@serveur $] tar zxf $ARCHIVE/arch1.tar.gz
 


  • Note : Parfois l'extension .tar.gz est écourté pour .tgz, mais il s'agit du même type de fichier.

Il est possible de choisir un autre algorithme de compression, tel bunzip2 (.bz2). Il suffit de remplacer la lettre z par un j. Les commandes deviennent alors :

 
 [nom@serveur $] tar jcf $ARCHIVE/arch1.tar.bz2 rep1/
 [nom@serveur $] tar jxf $ARCHIVE/arch1.tar.bz2
 


  • Note : bzip2 donne généralement un taux de compression supérieur à celui de gzip.

Utilisation de fichiers compressés sans les décompresser

Plusieurs commandes standard Linux ont des versions qui agissent sur les formats compressés gz et bz2. C'est le cas notamment des commandes cat, grep, more, less, cmp et diff. Le tableau ci-dessous dresse la liste des correspondances :

Commande standard Équivalent pour fichier gz Équivalent pour fichier bz2
cat zcat bzcat
grep zgrep bzgrep
egrep zegrep -
fgrep zfgrep -
less zless bzless
more zmore bzmore
cmp zcmp bzcmp
diff zdiff bzdiff

Compatibilité avec d'autres systèmes d'exploitation

Un format d'archivage populaire sur des systèmes d'exploitation autres que Linux est .zip. Il peut donc être utile de pouvoir archiver ou désarchiver vos fichiers en utilisant ce format. On peut le faire avec les commandes, respectivement pour l'archivage et le désarchivage :

 
 [nom@serveur $] zip -r $ARCHIVE/arch1.zip rep1/
 [nom@serveur $] unzip $ARCHIVE/arch1.zip
 


  • Note : Parmi la liste des compressions présentées, .zip est celui qui offre le moins bon taux de compression.

.7z, .bzip2, .rar et autres formats

Les extensions tar.gz sont bien connues dans le monde Unix/Linux et les outils pour manipuler ces derniers sont habituellement toujours disponibles. L'utilisation de tar et gzip est donc recommandée pour la compatibilité. Il existe par contre plusieurs autres formats de compression disponible. Un des plus performant est le format LZMA reconnaissable avec l'extension .7z.

Pour archiver-compresser, lister et extraire le répertoire rep3/, on peut faire :

 
 [nom@serveur $] 7z a arch3.7z rep3/
 [nom@serveur $] 7z l arch3.7z
 [nom@serveur $] 7z e arch3.7z
 


Il faut faire attention, le format .7z n'enregistre pas toute les propriétés et permission des fichiers. Il est préférable de combiner 7za à la commande tar de la façon suivante pour l'archivage avec compression et le désarchivage avec décompression respectivement :

 
 [nom@serveur $] tar c rep4/ | 7z a -si arch4.tar.7z
 [nom@serveur $] 7z e -so arch4.tar.7z | tar x
 


La commande 7za peut aussi être utilisée pour décompresser les fichiers avec extensions .zip, .bz2 et .rar. Pour décompresser un fichier fichier.zip au format zip, populaire dans le monde de Windows, on a par exemple :

[nom@serveur $] 7z e -tzip fichier.zip


Pour les fichiers textes, l'option –m0=PPMd est fortement recommandée, elle permet une compression plus rapide que l'algorithme par défaut :

[nom@serveur $] 7z a -t7z -m0=PPMd fichier .7z fichier.txt


Outils personnels
Espaces de noms

Variantes
Actions
Navigation
Ressources de Calcul Québec
Outils
Partager