Nous allons ici nous intéresser à la compression/décompression sous MacOSX, et plus précisément aux outils fournis par le noyau Darwin (basé sur UNIX) ne nécessitant ainsi pas d’installation de programme(s) tierce(s).
Tout d’abord, un peu d’histoire : En 1999, Apple rompt avec sa tradition de système fermé et met à disposition quelques « briques » de MacOS X Server sur son site. Le nom de ce projet est Darwin et des développeurs se lancent dans un travail d’ajout d’un système graphique pour obtenir un MacOS X Lite gratuit compatible MacOS X Server, puis MacOS X. La même année, Steve Jobs et Avie Tevanian annoncent DarwinOS 0.2, un système compilé opérationnel. On apprend alors que Darwin sera la couche la plus basse du futur MacOS X…
Darwin inclus un certains nombre d’outils plus qu’intéressants. Nous nous attarderons ici à celui permettant la compression/décompression : TAR (avec GZIP et BZIP2).
Tar vient de l’anglais Tape ARchiver, (littéralement « archiveur pour bande »). C’est un logiciel d’archivage de fichiers standard d’UNIX. Un fichier tar n’est pas compressé, c’est juste une concaténation de fichiers. Originellement, l’archivage se faisait directement sur le lecteur de bande de l’ordinateur.
De nos jour, l’usage sans doute le plus courant consiste cependant à créer ou lire un fichier d’archivage. Généralement, ce fichier est ensuite compressé avec un outil de compression de données. Deux principaux outils de compression de données sur disponible sous darwin : gzip (GNU Zip) et bzip.
La commande TAR se comporte de la sorte :
tar -options fichier(s) repertoir(s)
Le premiere argument de tar doit etre obligatoirement une des options principales, c-à-d. une des lettres : A, c, d, r, t, u ou x. Suivie (ou non) par n’importe quelles fonctions optionnelles. Les arguments finaux de tar sont les noms des fichiers ou des repertoires qui doivent etre archives. L’utilisation d’un nom de repertoire implique toujours que les sous-repertoires seront inclus dans l’archive.Voyons tout d’abord les options.
Options Principales :
| -A, –catenate, –concatenate |
: Ajouter des fichiers à une archive. |
| -c, –create |
: Créer une nouvelle archive. |
| -d, –diff, –compare |
: Trouver les différence entre une archive et les fichiers indiqués. |
| –delete |
: Supprimer des fichiers d’une archive. (à ne pas utiliser avec les lecteurs de bandes!) |
| -r, –append |
: Ajouter des fichiers à la fin d’une archive. |
| -t, –list |
: Liste le contenu d’une archive. |
| -u, –update |
: Ajoute seulement les fichiers qui sont plus récents que ceux de l’archive. |
| -x, –extract, –get |
: Restaure, décompresse les fichiers contenus dans une archive. |
Options secondaire : (liste non-exhaustive)
| -f FILE |
: Utilise le fichier archive FILE. |
| –ignore-failed-read |
: N’abandonne pas l’opération si un fichier est illisible. |
| -j |
: Compresse au format bzip2. |
| -k, –keep-old-files |
: Conserve les fichiers existants; ne les remplace pas par les fichiers présents dans l’archive. |
| –remove-files |
: Efface les fichiers après les avoir ajoutés à l’archive. |
| -v, –verbose |
: Afficher la liste des fichiers traités. |
| -W, –verify |
: Tente de vérifier l’archive après l’avoir produite. |
| –exclude FILE |
: Exclut le fichier FILE du traitement. |
| -X, –exclude-from FILE |
: Exclut du traitement les fichiers dont les noms sont contenus dans FILE. |
| -z, –gzip, –ungzip |
: Compresse l’archive avec gzip. |
Aux vues des options secondaire, deux format de compression s’offrent à nous : GZIP et BZIP2. La seule différence entre ces deux format est que le second, bzip2, est plsu récent que le premier et a un taux de compression meilleur que celui de l’outil « classique » gzip. Il tend même à remplacer ce dernier pour la distribution de logiciels UNIX.
Terminons notre propos en vous donnant trois exemples de commandes qui seront sans doute celles que vous utiliserez le plus souvant :
Compresser:
Au format gzip : tar czvf archive.tgz repertoire
Au format bzip2 : tar cjvf monfichier.tar.bz2 repertoire
Decompresser:
Au format gzip : tar xvzf archive.tgz
Au format bzip2 : tar xjvf monfichier.tar.bz2
Regarder l’archive:
Au format gzip : tar tvzf archive.tgz
Au format bzip2 : tar tjvf archive.tar.tz2
Pour de plus amples informations, reporter vous au manpage de TAR, GZIP, BZIP ainsi qu’aux page de wikipédia TAR, GZIP et BZIP2.