Archivage et compression de données GNU/Linux (Debian)
L’ARCHIVAGE permet de sauvegarder toute une série de fichiers dans un fichier unique. La compression (qui n’est pas toujours nécessaire) permet de gagner de la place si les fichiers à archiver ne sont pas eux-mêmes compressés.
Pour le chiffrement des fichiers ou disques, voir cette page.
Pour le minimum à connaître sur un système GNU/Linux (ligne de commande, système de fichiers…), voir cette page.
Les exemples donnés ci-dessous fonctionnent à condition que les commandes et applications indiquées soient installées sur votre système. Une ligne en caractère monospace signifie une commande à saisir dans une console, # signifie que la commande doit être passée en mode "root", super-utilisateur, ce qui se réalise en saisissant su puis le mot de passe super-utilisateur; vous pouvez utiliser aptitude ou synaptic.
En mode super-utilisateur: su - [Enter]
La compression d’un texte français de 1 068 464 octets (codage UTF-8: chaque lettre accentuée prend deux octets) a généré des fichiers pesant 262 893 (.bz2), 281 900 (.xz), 281 906 (.lzma), 282 036 (.7z), 344 725 (.zip et .cbz), 362 359 (.gz), 628 764 (.exe, en ce compris l’exécutable de près de 350 000 octets permettant de le décompresser en Windows ou avec Wine). Le format .ar ou la combinaison avec .tar n’apporte aucune compression mais permet une hiérarchisation des fichiers en (sous-)répertoire(s).
On ne peut attendre que peu de gain avec l’archivage et compression de fichiers déjà compressés, comme les .mp3, .gif, .png, .jpg… Quant aux fichiers bruts comme les images .raw ou les fichiers de son wav, la compression sans perte de qualité tel qu’il est question ici n’apporte généralement pas de gros gains. Utiliser l’archivage permet dans ce cas un transfert plus aisé d’un grand nombre de fichiers.
1. Bureau2. tar, gzip, bzip23. 7z et rar4. ace, cab, lzh et lha |
1. Bureau
Voir ark (KDE), file-roller pour Gnome, engrampa pour Mate-desktop.
En général, un clic droit sur un fichier ou un répertoire permet l’option compresser. Une liste des formats disponibles apparaît, certaines options supplémentaires sont disponibles selon les formats, comme la protection de l’archive par un mot de passe pour les formats .7z ou .bcr
Attention: les formats disponibles pour les outils d’archivage du Bureau dépendent des paquets installés. 7z, arc, arj, bcr, bz, bz2, cab, gz, lha, lzh, rar, tar, zip… sont ou ont été des extensions courantes
ark (Plasma/KDE) permet de compresser des fichiers ou décompresser des archives (zip/tar, gz, bz, rar, dzip). Semblent installées par défaut les librairies: zip, p7zip, zoo, bzip2, tar.gz.
mc décompresse parfois des archives.
2. tar, gzip, bzip2
L’archivage en fichier .tar consiste en l’agrégation de plusieurs fichiers en un seul. Il peut être suivi d’une compression en .gz ou .bz2.
-x extrait, -c crée une archive, v pour verbeux et f pour générer les fichiers.
tar -xvf archive.tar extrait une archive
tar -cvf repertoire archive.tar archive un répertoire en archive tar
z concerne la compression gzip
tar -xzvf archive.tar.gz décompresse et extrait une archive au format gzip (x pour extraction)
tar -czvf archive.tar.gz repertoire archive et compresse un répertoire en archive gzip (c pour compression)
j concerne la compression bzip2
tar -xjvf archive.tar.bz2 décompresse et extrait une archive au format bzip2
tar -cjvf archive.tar.bz2 repertoire archive et compresse un répertoire en archive bzip2
gzip -d * ou gunzip * décompresse tous les fichiers .gz du répertoire courant
3. 7z et rar
# apt install p7zip-full installe l’exécutable 7z
En mode super-utilisateur: su - [Enter]
7z a votre_archive votre_fichier ajout (a) d’un fichier à l’archive .7z, créée au besoin
7z a -p archive fichier l’option -p demande un mot de passe et sa confirmation
7z a -psweetlove archive fichier le mot de passe sweetlove est passé dans la commande
7z a -tbzip2 archive fichier spécification d’un autre type -t d’archive: bzip2, gzip, zip, tar, deb, iso, rpm…
7z a -sfx archive.exe fichier archivage en fichier autoextractible pour Windows (au cas où…)
7z x zozo.7z décompresse (eXtrait) l’archive zozo.7z; si elle est protégée par un mot de passe, il sera demandé
7z x -trar zozo.rar eXtrait l’archive zozo.rar si le paquet non libre p7zip-rar est installé
man 7z pour plus d’informations
# apt install unrar-free installe l’utilitaire unrar (ne décompresse pas les fichiers issus de la version 3).
En mode super-utilisateur: su - [Enter]
unrar-free -x toto.rar devrait décompresser un fichier .rar
Note: les droits des fichiers (lecture, écriture, exécution) ne sont pas gérés par tous les formats, dont .7z et .rar
4. ace, cab, lzh et lha
ace
Des paquet unace ou unace-nonfree (attention: même commande!):
unace e archive.ace extrait les fichiers
unace x archive.ace même chose, en tenant compte des chemins
Le paquet non-free permet également le désarchivage à partir de la version 2.0, avec gestion du mot de passe:
unace x -p archive.ace
cab
Le paquet cabextract permet d’extraire les archives non compressées au format Cabinet (MicroSoft), lcab de créer de telles archives, le paquet gcab fait les deux.
cabextract -drepertoire archive.ace extrait les fichier d’une archive MicroSoft (dans un éventuel répertoire)
lcab fichier1 fichier2 … cible.cab archives des fichiers
lcab -r repertoire cible.cab archive un répertoire et ses sous-répertoires (r pour récursif)
gcab -c cible.cab fichier1 fichier2 … archive plusieurs fichiers. Attention: le nom de la cible avant les sources
gcab -cz cible.cab fichier1 fichier2 … archive plusieurs fichiers (compression zip)
gcab -cz cible.cab repertoire archive et compresse un répertoire
lha, lhz, pma
# apt install jlha-utils installe l’utilitaire en mode console pour les fichiers lzh (Atari et DOS). Le paquet lhasa ne permettrait que de décompresser ces formats.
En mode super-utilisateur: su - [Enter]
Résumé des fonctionnalités
Note: tout n’a pu être testé.
Ext. | Commande | Paquets .deb | Remarques |
.ace | unace | unace | extrait seulement, limité à la version 1.0 |
---|---|---|---|
unace | unace-nonfree | extrait seulement | |
.cab | cabextract | cabextract | extrait les fichiers d’une archive en format Cabinet |
lcab | lcab | crée les archives de ce format | |
gcab | gcab | archive (éventuelle compression zip) et extrait | |
.lha | lha | jlha-utils | |
lha | lhasa | extrait seulement | |
.pma | lha | jlha-utils | |
lha | lhasa | extrait seulement | |
.lzh | lha | jlha-utils | |
lha | lhasa | extrait seulement | |
.lzs | lha | jlha-utils | |
lha | lhasa | extrait seulement |