Archiveur de fichiers
Un archiveur de fichiers est un programme informatique qui regroupe plusieurs fichiers en un seul fichier, ou une série de fichiers, pour en faciliter le transport ou le stockage. De nombreux archiveurs de fichiers peuvent en même temps effectuer une compression sans perte de données afin de réduire la taille du fichier final. Cette compression est réalisée grâce à une série d'algorithmes qui permettent aux données contenues dans un fichier d'occuper moins de place sans en perdre la moindre information.
La plupart des archiveurs de base prennent simplement une liste de fichiers et concaténent leur contenu séquentiellement dans le fichier. En outre, le fichier doit également contenir des informations sur au moins les noms et les tailles des fichiers originaux, afin de permettre une reconstruction efficace. La plupart des archiveurs stockent également les métadonnées des fichiers fournis par le système d'exploitation, telles que les marques temporaires, le propriétaire et le contrôle d'accès (permissions).
Le processus de création d'un fichier est appelé archivage ou empaquêtement. La reconstruction des fichiers d'origine à partir du fichier est appelée désarchivage, décompression ou extraction .
Formats d'archives populaires
On retrouve, de manière ubiquitaire dans les systèmes d'exploitation Unix et de type Unix, le format de fichier tar '''(tape archive). Initialement destiné à transférer des fichiers vers et à partir de bande magnétique, il est toujours utilisé pour le stockage sur disque pour combiner des fichiers avant de les compresser, en général en fichier .tar.gz our .tar.bz2 selon l'algorithme de compression utilisé (GNU zip ou bzip, respectivement). Les autres formats créés sous Unix sont ar et shar .
Sur les plates-formes Windows, le format d'archives le plus largement utilisé est le ZIP; d'autres formats populaires incluent les formats RAR, ACE et ARJ. Sur Amiga OS, le format d'archives standard est LHA. Sur les ordinateurs Apple Macintosh, la plupart des types de fichiers cités ci-dessus sont supportés.
Unix
Contrairement aux outils d’archivage et de compression intégrés tels que ZIP et RAR, les outils Unix tels que ar, tar, cpio (signifiant respectivement "archiveur", "archiveur de bande" et "copie en entrée / sortie") servent d'archiveurs sans compression. Les utilisateurs d'outils Unix ajoutent généralement une compression en compressant le résultat de l'archivage (et en le décompressant avant l'extraction), le plus souvent avec les programmes gzip ou bzip2. En fait, les programmes tar modernes incluent une option permettant d'appeler automatiquement un programme de (dé)compression, de sorte que le fichier tar semble pouvoir gérer des fichiers compressés. Cette approche présente deux avantages:
- Elle suit le concept de la philosophie Unix selon laquelle chaque programme doit exécuter une tâche unique mais le fait bien. Une fois qu'un meilleur compresseur est développé, les utilisateurs peuvent commencer à l'utiliser immédiatement, sans avoir à abandonner leur archiveur.
- Le fichier entier étant compressé, la redondance entre les fichiers archivés peut être détectée et éliminée. Une archive qui comprime chaque fichier archivé de manière isolée ne peut tirer parti de ces redondances entre fichiers.
Son principal inconvénient est que l'extraction d'un fichier à partir d'un fichier compressé nécessite la décompression de tous les fichiers précédents, ce qui peut prendre plusieurs minutes avec un fichier très volumineux. La modification de fichiers sous-jacents est encore moins pratique, car elle nécessite de décompresser tout le fichier, de le modifier puis de le recomprimer. Les archives avec compression intégrée effectuent ces opérations beaucoup plus rapidement.