Quel est l'avantage d'utiliser 'tar' aujourd'hui?


209

Je sais que cela a tarété fait pour les archives sur bande à l'époque, mais aujourd'hui, nous avons des formats de fichiers d'archives qui agrègent les fichiers et effectuent une compression dans le même format de fichier logique.

Des questions:

  • Existe-t-il une perte de performances lors des étapes d'agrégation / compression / décompression pour l'utilisation tarencapsulée dans gzipou bzip2par rapport à l'utilisation d'un format de fichier qui effectue l'agrégation et la compression dans la même structure de données? Supposons que la durée de fonctionnement du compresseur comparé soit identique (par exemple, gzip et Deflate sont similaires).

  • Existe-t-il des fonctionnalités du tarformat de fichier que les autres formats de fichier, tels que .7zet .zipn’ont pas?

  • Depuis tarest un tel ancien format de fichier, et les nouveaux formats de fichiers existent aujourd'hui, pourquoi est - tar(si encapsulé dans gzip, bzip2ou même le nouveau xz) encore si largement utilisé aujourd'hui sur GNU / Linux, Android, BSD, et d' autres systèmes d' exploitation UNIX, pour le fichier transferts, sources de programmes et téléchargements binaires, et parfois même en tant que format de gestionnaire de paquets?


33
Je ne suis pas d'accord qu'il "gaspille du temps". Si vous parlez de performance, il n'y a aucune pénalité de performance réelle pour tar car le format est très efficace. Si vous voulez dire qu'il gaspille votre temps, je ne vois pas comment tar xvzfest plus difficile que 7z -x...
allquixotic

41
Il semble déplorer le fait que tar ne stocke pas de catalogue au début. Les outils de compression qui veulent lister le contenu avant l'extraction doivent donc décompresser tout le goud pour lister le contenu, puis le décompresser à nouveau lors de l'extraction. .
Psusi

10
@MarcusJ: vous pensez que 7z sait magiquement où chaque fichier commence dans une archive? De plus, les algorithmes de compression habituels (gzip, bzip2) fonctionnent avec la diffusion en continu du contenu: inutile de terminer à 100% la première étape avant la suivante.
unperson325680

11
De plus, @MarcusJ, vous semblez confondre deux choses différentes: lorsque vous le faites tar xvzf, les données non compressées ne sont pas écrites sur le disque dur au .tarformat! Vous avez raison que si vous exécutiez gunzip blah.tar.gzpuis tar xf blah.tar, il écrirait les données sur le disque deux fois (une fois comme .tar et encore sous forme de fichiers dans le système de fichiers), mais personne ne fait en réalité de cette façon. Il tar xzfutilise un tuyau UNIX (essentiellement une copie de mémoire) pour transférer les données non compressées de gzip(ou de tout compresseur) vers tar, de sorte que les données ne soient pas écrites sur le disque au .tarformat.
Allquixotic

14
Une chose que je sais, c'est que tar(surtout compressé) se comporte terriblement quand il s'agit de corruption de données. Les petites données de redondance / récupération ajoutées par les formats modernes valent de l'or
PPC

Réponses:


178

Partie 1: Performance

Voici une comparaison de deux workflows distincts et de ce qu’ils font.

Vous avez un fichier sur disque blah.tar.gzqui représente, par exemple, 1 Go de données compressées au format gzip et occupant 2 Go (non compressé) (donc un taux de compression de 50%).

La manière dont vous créeriez ceci, si vous archiviez et compressiez séparément, serait la suivante:

tar cf blah.tar files ...

Cela aboutirait à blah.tarune simple agrégation de la files ...forme non compressée.

Alors tu ferais

gzip blah.tar

Cela permettrait de lire le contenu blah.tardu disque, de le compresser via l'algorithme de compression gzip, d'écrire le contenu dans blah.tar.gzle fichier, puis de le dissocier (supprimer) blah.tar.

Maintenant, décompressons!

Voie 1

Vous avez blah.tar.gz, d'une manière ou d'une autre.

Vous décidez de courir:

gunzip blah.tar.gz

Cette volonté

  • LISEZ le contenu compressé de 1 Go de blah.tar.gz.
  • TRAITEZ les données compressées via le gzipdécompresseur en mémoire.
  • Au fur et à mesure que la mémoire tampon se remplit avec "un bloc" de données, ÉCRIVEZ les données non compressées dans le fichier blah.tarsur le disque et répétez l'opération jusqu'à ce que toutes les données compressées soient lues.
  • Supprimer le lien (supprimer) le fichier blah.tar.gz.

Vous avez maintenant blah.tarsur le disque, qui est décompressé mais contient un ou plusieurs fichiers, avec une surcharge de structure de données très faible. La taille du fichier est probablement supérieure de quelques octets à la somme de toutes les données du fichier.

Vous courez:

tar xvf blah.tar

Cette volonté

  • LISEZ les 2 Go de contenu de données non compressé blah.taret les tarstructures de données du format de fichier, y compris des informations sur les autorisations de fichier, les noms de fichier, les répertoires, etc.
  • ECRIVEZ les 2 Go de données et les métadonnées sur le disque. Cela implique: traduire les informations de structure de données / métadonnées en créant de nouveaux fichiers et répertoires sur le disque, le cas échéant, ou en réécrivant des fichiers et répertoires existants avec de nouveaux contenus de données.

Les données totales lues à partir du disque dans ce processus étaient de 1 Go (pour gunzip) + 2 Go (pour les archives tar) = 3 Go.

Le total des données gravées sur disque dans ce processus était de 2 Go (pour gunzip) + 2 Go (pour les archives tar) + quelques octets pour les métadonnées = environ 4 Go.

Voie 2

Vous avez blah.tar.gz, d'une manière ou d'une autre.

Vous décidez de courir:

tar xvzf blah.tar.gz

Cette volonté

  • LISEZ en mémoire le contenu compressé de 1 Go des données d’ blah.tar.gzun bloc à la fois.
  • TRAITEZ les données compressées via le gzipdécompresseur en mémoire.
  • Au fur et à mesure que la mémoire tampon se remplit, il achemine ces données, en mémoire, vers l' taranalyseur de format de fichier, qui lit les informations sur les métadonnées, etc.
  • Au fur et à mesure que la mémoire tampon se remplit dans l' taranalyseur de fichiers, elle écrit les données non compressées sur le disque en créant des fichiers et des répertoires et en les remplissant avec le contenu non compressé.

Les données totales que nous avons lues à partir du disque au cours de ce processus représentaient 1 Go de données compressées, point à la ligne.

Le total des données gravées sur disque dans ce processus était de 2 Go de données non compressées + quelques octets pour les métadonnées = environ 2 Go.

Si vous remarquez, la quantité d'E / S de disque de la manière 2 est identique à celle d'E / S effectuée par les programmes, par exemple, Zipou 7-Zip , en tenant compte des différences de taux de compression.

Et si le taux de compression vous préoccupe, utilisez le Xzcompresseur pour encapsuler tar, et vous disposez de l' archive TAR de LZMA2 , qui est aussi efficace que l'algorithme le plus avancé disponible pour 7-Zip :-)

Partie 2: Caractéristiques

tar stocke les autorisations Unix dans ses métadonnées de fichier. Il est très bien connu et testé pour compacter avec succès un répertoire avec toutes sortes d’autorisations différentes, des liens symboliques, etc. Il existe plusieurs situations dans lesquelles il peut être nécessaire de déplacer un groupe de fichiers. dans un seul fichier ou flux, mais ne le compressez pas nécessairement (bien que la compression soit utile et souvent utilisée).

Partie 3: Compatibilité

De nombreux outils sont distribués sous forme binaire ou source sous forme de fichier .tar.gz ou .tar.bz2, car il s’agit d’un format de fichier "plus petit dénominateur commun": comme la plupart des utilisateurs Windows ont accès aux décompresseurs .zip ou .rar, la plupart des installations Linux , même les plus élémentaires, auront au moins accès à tar et à gunzip, quel que soit leur âge ou leur finesse. Même les firmwares Android ont accès à ces outils.

Les nouveaux projets ciblant des publics utilisant des distributions modernes peuvent très bien être distribués dans un format plus moderne, tel que .tar.xz (utilisant le format de compression Xz (LZMA), qui compresse mieux que gzip ou bzip2), ou .7z, similaire à les formats de fichier ZIP ou RAR , dans la mesure où il compresse et spécifie une présentation pour encapsuler plusieurs fichiers dans un seul fichier.

Vous ne voyez pas que .7z soit utilisé plus souvent pour la même raison que la musique ne soit pas vendue dans les magasins de téléchargement en ligne dans de nouveaux formats comme Opus ou la vidéo dans WebM . Compatibilité avec les utilisateurs de systèmes anciens ou très basiques.


Félicitations pour une excellente réponse avec tout le contenu séparé sous trois en-têtes distincts.
JFW

2
"Partie 3: Compatibilité" semble avoir été copié de la réponse de @ Kruug.
Titaniumdecoy

23
@titaniumdecoy Avez-vous remarqué que c'était d'abord Allquixotic qui avait écrit cette partie et l'avait modifiée dans la réponse de Kruug?
Slhck

2
Merci de l'avoir signalé, je ne l'ai pas remarqué. Cependant, il me semble un peu ridicule de disposer d'un bloc de texte identique dans deux réponses différentes sur cette page.
titaniumdecoy

1
Cela explique pourquoi tars’intègre dans l’écosystème d’archivage (par exemple, pour agréger des fichiers, ce qui permet d’améliorer les performances et d’autres avantages tels que la sauvegarde des autorisations), sans toutefois expliquer pourquoi des alternatives modernes telles que celles darqui ne sont pas utilisées à la place. En d'autres termes, cette réponse justifie l'utilisation d'agrégateurs de fichiers, mais pas du tarlogiciel en soi.
Gaborous

101

Cela a été répondu sur Stack Overflow .

bzip et gzip fonctionnent sur des fichiers uniques, pas sur des groupes de fichiers. Le vieux zip ordinaire (et pkzip) opère sur des groupes de fichiers et intègre le concept d'archive.

La philosophie * nix est constituée de petits outils qui effectuent très bien des tâches spécifiques et peuvent être enchaînés. C'est pourquoi deux outils ici ont des tâches spécifiques et sont conçus pour s'intégrer parfaitement. Cela signifie également que vous pouvez utiliser tar pour regrouper des fichiers, puis vous avez le choix d'un outil de compression (bzip, gzip, etc.).

De nombreux outils sont distribués sous forme binaire ou source sous forme de fichier .tar.gz ou .tar.bz2, car il s’agit d’un format de fichier "plus petit dénominateur commun": comme la plupart des utilisateurs Windows ont accès aux décompresseurs .zip ou .rar, la plupart des installations Linux , même les plus élémentaires, auront accès à au moins taret gunzip, peu importe leur âge ou leur réduction. Même les firmwares Android ont accès à ces outils.

Les nouveaux projets ciblant des publics utilisant des distributions modernes peuvent très bien être distribués dans un format plus moderne, tel que .tar.xz(utilisant le format de compression Xz ( LZMA ), qui compresse mieux que gzip ou bzip2), ou .7z, similaire au ZIP ou RAR. formats de fichiers en ce qu’il compresse et spécifie une structure pour encapsuler plusieurs fichiers dans un seul fichier.

Vous ne voyez pas que .7z soit utilisé plus souvent pour la même raison que la musique ne soit pas vendue dans les magasins de téléchargement en ligne dans de nouveaux formats comme Opus ou la vidéo dans WebM . La compatibilité avec les utilisateurs de systèmes anciens ou très basiques est importante.


7
Bonjour @Kruug, j'ai édité votre message simplement pour donner un point de vue pratique sur la raison pour laquelle les gens choisissent encore d'utiliser ces formats alors qu'ils ont le choix d'utiliser autre chose. Je n'ai pas changé le texte que vous aviez déjà. Ceci est juste pour s'assurer que ce qui semble être la réponse canonique à cette question aura une image complète. N'hésitez pas à modifier mon édition si vous le souhaitez :)
allquixotic Le

5
@allquixotic à l'origine quelqu'un? Éditez l'édition et éditez afin que vous puissiez éditer une édition ...
SnakeDoc

21
Cette réponse est clairement un cas de "Je suis parfois époustouflé par des votes positifs non mérités". Cela ne résout pas le problème principal de la question qui consiste à lister le contenu de goudron compressé et ce n’est même pas une réponse originale!
рослав Рахматуллин

5
-1 pour une grande justice. cela aurait dû être un commentaire.
wim

6
Je n'achète pas l'argument héritage / plus petit dénominateur commun; Je me souviens que, sur les nouveaux systèmes (sun), il fallait fréquemment télécharger gzip / gunzip (de sunfreeware) simplement pour installer un autre logiciel tar.gz (plus gnu tar, car le goudron du soleil était aspiré). Pour le dénominateur commun / inférieur commun, vous aviez tar.Z(compresser / décompresser). La progression des utilitaires a été un flux constant (sans jeu de mots) de changement et d'amélioration: Z => zip => gz => bz2 => 7z => xz (ou l'ordre que vous préférez). En ce qui concerne le rôle de tar, certains utilitaires ne font que décompresser / compresser, et exigent toujours que tar intègre des hiérarchies de fichiers.
Michael

63

Tar dispose d'un riche ensemble d'opérations et de modificateurs qui connaissent tout des systèmes de fichiers Unix. Il connaît les permissions Unix, les différents temps associés aux fichiers, les liens physiques, les liens symboliques (et la possibilité que des liens symboliques introduisent des cycles dans le graphe du système de fichiers), et vous permet de spécifier plusieurs manières différentes de gérer toutes ces données. .

  • Voulez-vous que les données extraites préservent les temps d'accès aux fichiers? Tar peut faire ça. Pour conserver les autorisations? Tar peut faire ça.

  • Voulez-vous conserver les liens symboliques en tant que liens symboliques? Tar le fait par défaut. Voulez-vous copier la cible à la place? Tar peut faire ça.

  • Voulez-vous être sûr que les données liées en dur ne sont stockées qu’une fois (c’est-à-dire que vous devez agir correctement)? C'est ce que fait Tar.

  • Voulez-vous gérer correctement les fichiers fragmentés? Tar peut faire ça.

  • Voulez-vous des données non compressées (pourquoi?)? Tar peut faire ça. Compresser avec gzip? Tar peut faire ça. Avec bzip2? Tar peut faire ça. Avec des programmes de compression externes arbitraires? Tar peut faire ça.

  • Voulez-vous écrire ou récupérer sur un périphérique brut? Le format de Tar gère cela très bien.

  • Voulez-vous ajouter des fichiers à une archive existante? Tar peut faire ça. Pour diff deux archives pour voir ce qui a changé? Tar peut faire ça. Pour mettre à jour uniquement les parties de l'archive qui ont changé? Tar peut faire ça.

  • Voulez-vous être sûr de ne pas archiver sur plusieurs systèmes de fichiers? Tar peut faire ça.

  • Voulez-vous récupérer uniquement les fichiers plus récents que votre dernière sauvegarde? Tar peut faire ça.

  • Voulez-vous conserver les noms ou les numéros d'utilisateurs et de groupes? Tar peut faire l'un ou l'autre.

  • Avez-vous besoin de conserver les nœuds de périphérique (tels que les fichiers dans /dev) de sorte qu'après le extraction, le système fonctionne correctement? Tar peut faire ça.

Tar évolue depuis des décennies pour gérer de nombreux cas d'utilisation et en sait vraiment beaucoup sur les choses que les gens veulent faire avec les systèmes de fichiers Unix.


12
Vous n'avez pas besoin de GNU tar pour utiliser un compresseur arbitraire: il vous suffit d'indiquer à tar d'écrire l'archive sur stdout avec f -et de la diriger vers le compresseur.
Ilmari Karonen

3
"Voulez-vous des données non compressées (pourquoi?)?" J'utilise tartrès souvent pour copier une arborescence de système de fichiers d'un endroit à un autre et conserver les autorisations, etc. La compression, dans ce cas, ne nécessite que des cycles de processeur supplémentaires. Par exemple tar cf - * | tar xf - -C /somewhere.
Steve

1
De plus, vous voudriez un fichier .tar lorsque le système de fichiers de destination effectue la déduplication. La création d'archives compressées sur un système de fichiers qui effectue une déduplication réduira considérablement le taux de déduplication. Exemple: une fois, nous avons supprimé un fichier tar.gz de 10 000,00 $; En d'autres termes, cela prenait 10 000 dollars en espace de stockage parce que quelqu'un utilisait la compression.
Aaron

Les cycles de processeur @Steve peuvent être moins coûteux que les E / S de disque pour des algorithmes tels que LZ4 ou LZO. C'est pourquoi ils sont utilisés dans zram et dans des systèmes de fichiers de compression transparents tels que NTFS, ZFS, Btrfs ... il est donc parfois plus rapide que de compresser, car la quantité d'E / S disque est considérablement réduite
phuclv

30

Vous confondez les deux processus distincts d' archivage et de compression .

Raisons pour utiliser un archiveur

Une des raisons d'utiliser l'archivage sans compression est, par exemple, si un groupe de fichiers est copié d'un hôte à un autre. Une commande comme celle-ci

tar cf - some_directory | ssh host "(cd ~/somewhere | tar xf -)"

peut considérablement accélérer les choses. Si je sais que les fichiers ne peuvent pas être compressés ou si SSH est configuré avec la compression, vous pouvez économiser un temps processeur considérable. Bien sûr, on peut utiliser un outil de compression plus moderne doté d'une fonction d'archivage et désactiver la compression. L'avantage tarest que je peux m'attendre à ce qu'il soit disponible sur tous les systèmes.

Raisons pour utiliser un archiveur avec compression gzip

Une des raisons que j'utilise taravec gzipest: la vitesse! Si je veux transférer quelques gio de fichiers texte d'un endroit à un autre, je me fiche de supprimer les derniers octets, car la compression n'est utilisée que pour le transit, pas pour le stockage à long terme. Dans ces cas-là, j'utilise un gzipprocesseur qui ne sollicite pas le processeur au maximum (contrairement à 7-Zip , par exemple), ce qui signifie que je suis lié à nouveau aux E / S et non au processeur. Et encore: gzippeut être considéré comme disponible partout.

Raisons pour l' utilisation taren faveur scp, rsyncetc.

Cela vaut mieux scpsi vous avez beaucoup de petits fichiers à copier (par exemple, un répertoire de courrier contenant des centaines de milliers de fichiers). rsync, aussi génial soit-il, pourrait ne pas être disponible partout. De plus, cela rsyncne rapporte vraiment que si une partie des fichiers - ou une version plus ancienne - est déjà présente sur la destination. Pour la copie initiale tarest la plus rapide, avec compression ou sans, en fonction des données réelles.


1
Mais si vous voulez archiver, pourquoi ne pas compresser aussi? Ok, oui, cela peut faire gagner du temps aux fichiers qui ne sont pas facilement compressés, mais les archiveurs devraient probablement savoir que la musique, par exemple, n'est pas très compressible, à l'exception des en-têtes.
MarcusJ

2
Vous n’en aurez peut-être pas besoin ou votre contenu pourrait ne pas être compressible.
Hasturkun

4
Pour des raisons de performances, il est souvent plus facile d'utiliser une agrégation de fichiers non compressée lors de l'envoi de données sur des liaisons réseau à très large bande passante dépassant la vitesse à laquelle le compresseur peut compresser les données. Ceci est réalisable par exemple avec Gigabit Ethernet; seuls quelques algorithmes de compression bien conçus, qui ont également un très faible taux de compression, peuvent compresser les données aussi rapidement, même sur un processeur de bureau volumineux. Sur un périphérique intégré, vous disposez de moins de temps processeur.
Allquixotic

3
non seulement cela accélère les choses, mais permet également de préserver la propriété des fichiers, les horodatages et les attributs (si les privilèges de l'utilisateur le permettent)
Andre Holzner

3
@AndreHolzner Right. Je fais souvent tar cf - . | (cd ~/somewhere; tar xvf -). Il est vraiment utile de ne pas attendre que l’index central soit écrit (comme par exemple dans un fichier zip).
user239558

24

Ajoutant aux autres bonnes réponses ici, je préfère la combinaison tar+ gzip|bzip2|xzprincipalement parce que ces fichiers compressés sont comme des flux et que vous pouvez les diriger facilement.

J'ai besoin de décompresser un fichier disponible sur Internet. Avec l'un zipou l' autre des rarformats, je dois d'abord le télécharger, puis le décompresser. Avec tar.{gz,bz2,xz}je peux télécharger et décompresser dans la même étape, sans avoir besoin d'avoir l'archive compressée physiquement sur le disque:

curl -s http://example.com/some_compressed_file.tar.gz | tar zx

Cela ne laissera que les fichiers non compressés sur mon disque et accélérera l'ensemble du processus, car je ne perds pas le temps de télécharger tout le fichier et, une fois le téléchargement terminé, je le décompresse. Au lieu de cela, je le décompresse pendant le téléchargement. Vous ne pouvez pas faire cela avec zipou des rarfichiers.


2
Je ne sais pas à propos de rar (c'est un programme épouvantable qui semble seulement être devenu populaire auprès des pirates en raison de sa capacité à se scinder en plusieurs fichiers plus petits), mais vous pouvez également télécharger le zip en continu. La page de manuel le mentionne même. Il présente également l’avantage de pouvoir extraire ou mettre à jour des fichiers à partir du milieu d’une archive volumineuse, bien que tar ait tendance à obtenir une compression légèrement supérieure. La compression vs accès aléatoire est un compromis.
Psusi

3
@psusi incorrect. Vous pouvez faire des hacks de cette façon , mais cela permet de télécharger tout le fichier en mémoire, puis de le décompresser, au lieu de le décompresser pendant le téléchargement. Et funzipextrait simplement le premier fichier du fichier zip, pas tous.
Carlos Campderrós

2
@Stu, juste pour clarifier, n'est pas un problème, mais optimise votre temps (je me fiche de l'espace si c'est ce que vous pensiez)
Carlos Campderrós

1
Les deux côtés travaillent: Vous pouvez également choisir d'un côté et désarter de l'autre:tar zc /some/folder | ssh user@host "cd /other/folder && tar zx"
Carlos Campderrós

1
@ psusi, comme je me souviens de jadis, lorsque j'utilisais pkzip pour stocker des fichiers sur plusieurs disquettes, catalogue du magasin zip à la fin de l'archive. Il demande toujours la dernière disquette pour commencer l’extraction ou afficher le catalogue. So fr.wikipedia.org/wiki/File:ZIP-64_Internal_Layout.svg
Mikhail Moskalev

13

Il y a plusieurs raisons de rester avec (GNU) Tar.

Il est:

  • Sous licence GPL
  • bon dans le sens de la philosophie Unix
    • outil à usage unique, capable d'effectuer plusieurs tâches
  • bien documenté et a de nombreuses fonctionnalités de confiance
  • compatible avec plusieurs algorithmes de compression
  • facile à utiliser et les gens ont développé des habitudes avec elle
  • largement disponible
  • Je me sens chaud et flou à l'intérieur lorsque j'utilise un logiciel lancé par RMS (à l'exception d' Emacs )

Si votre problème particulier consiste à "décompresser" une archive avant de pouvoir lire le contenu, vous avez probablement raison. WinRAR et 7-Zip le font automatiquement. Cependant, il existe des solutions simples à ce problème, telles que la documentation du contenu d'une archive sous une forme non compressée.


1
C'est du logiciel libre - et beaucoup en ont. C'est bien ce qu'il fait - Difficilement comparé à d'autres logiciels. Il est bien documenté et comporte de nombreuses fonctionnalités - Les fonctionnalités ne sont guère utilisées et détestablement faciles à utiliser. Il supporte plusieurs algorithmes de compression - Pas autant que certains autres
Griffin

4
les dieux Unix l'ont créé - nous devons donc l'utiliser!
SnakeDoc

28
Tar stocke également les autorisations UNIX en mode natif et est très connu et testé. Dans de nombreux cas, il peut être nécessaire de placer un groupe de fichiers dans un seul fichier ou un seul flux, sans nécessairement le compresser.
LawrenceC

3
Heureusement, tar n'est pas limité aux seules versions de GNU. Bien que GNU tar soit certainement un bon logiciel, les frontaux associés à libarchive + sont beaucoup plus rapides et faciles à intégrer dans d’autres projets logiciels. Vous pouvez argumenter en faveur de tar sans le transformer en une bataille de licences.
Lucas Holt

1
Je ne suis pas sarcastique. J'aime RMS et la façon dont il porte ses convictions.
рослав Рахматуллин

11

Les formats de fichiers tels que .zip nécessitent que le logiciel lise d’abord la fin du fichier, puis un catalogue de noms de fichiers. Inversement, tar stocke ces informations avec le flux compressé.

L'avantage de la méthode tar est que vous pouvez décompresser des données tout en les lisant à partir d'un tuyau non recherché, comme un socket réseau.

L'avantage de la méthode zip est que, pour un fichier statique sur disque, vous pouvez parcourir le contenu et les métadonnées sans décompresser d'abord l'ensemble de l'archive.

Les deux ont leurs utilisations, selon ce que vous faites.


5
Non, vous pouvez lire et écrire des fichiers zip sous forme de flux de et vers un tuyau.
Mark Adler

Cela peut être spécifique à l'implémentation, il n'est certainement pas pris en charge par le pkzip d'origine.
xorsyst

1
Oui, le logiciel doit être écrit pour le supporter. Le format zip le supporte complètement, avec des descripteurs de données pouvant suivre les données compressées avec les longueurs et le CRC.
Mark Adler

@ MarkAdler, quel logiciel? Infozip ne prend pas en charge le décompression d’un tuyau.
Psusi


11

Il semble y avoir une certaine réticence à répondre à toutes vos questions directement, avec une préférence apparente d'utiliser votre question comme point de départ pour la pontification. Je vais donc tenter le coup.

Existe-t-il une perte de performance lors des étapes d'agrégation / compression / décompression pour l'utilisation de tar encapsulé dans gzip ou bzip2, par rapport à un format de fichier qui effectue l'agrégation et la compression dans la même structure de données? Supposons que la durée de fonctionnement du compresseur comparé soit identique (par exemple, gzip et Deflate sont similaires).

En fait, comme tar et gzip sont généralement deux processus, vous obtenez même un avantage considérable en termes de vitesse multicœur qu'un archiveur comme celui d’Info-ZIP ne fournit pas. En termes de taux de compression, tar + gzip sera généralement nettement meilleur que zip avec deflate puisque le premier peut bénéficier de la corrélation entre les fichiers, tandis que le second compresse les fichiers séparément. Cet avantage en termes de compression se traduit par un avantage en termes de vitesse lors de l'extraction, car une archive plus compressée se décompresse en moins de temps.

Existe-t-il des fonctionnalités du format de fichier tar que n’ont pas les autres formats de fichier, tels que .7z et .zip?

Oui, tar a été conçu pour Unix et a évolué au fil des années pour pouvoir enregistrer et restaurer de manière précise tous les petits recoins étranges des systèmes de fichiers Unix, même les systèmes de fichiers Unix plus sophistiqués et plus maculaires de Mac OS X. zip est capable de conserver une grande partie des métadonnées telles que les autorisations, les heures, les propriétaires, les groupes et les liens symboliques, mais pas tout. Par exemple, ni zip ni 7z ne peuvent reconnaître ou exploiter les fichiers clairsemés, pas plus qu'ils ne sont conscients ou capables de restaurer des liens physiques.

Puisque tar est un ancien format de fichier, et que de nouveaux formats de fichiers existent aujourd'hui, pourquoi tar (qu'il soit encapsulé dans gzip, bzip2 ou même le nouveau xz) est encore si largement utilisé aujourd'hui sur GNU / Linux, Android, BSD et autres. systèmes d’exploitation, pour les transferts de fichiers, les sources de programmes et les téléchargements binaires, et parfois même en tant que format de gestionnaire de paquets?

Beaucoup d'autres bonnes réponses à cela. Le mieux est que cela fonctionne , et vous pouvez continuer à le mettre à jour vers de meilleurs formats de compression (par exemple xz) tout en utilisant le même format tar et même le même utilitaire tar compilé. Si vous voulez simplement emballer un tas d’articles, puis les décompresser à l’autre bout du monde, il n’ya aucune raison d’utiliser autre chose que l’un des logiciels les plus anciens, les plus complets et les plus débogués.

Si vous souhaitez un accès aléatoire, des mises à jour partielles ou tout autre élément nécessitant une gestion fragmentée du contenu, ou si vous souhaitez être en mesure de découvrir le contenu sans lire le contenu dans son intégralité, vous souhaitez utiliser un format différent.


CW signifie Community Wiki . Voir aussi Que sont les messages de "Wiki de la communauté"? .
ctype.h

Je suppose que c'est CW car la question a plus de 15 réponses. Lorsque vous avez posté cette réponse, car c'est le 15, la question et toutes les réponses portaient la mention CW.
ctype.h

Je ne vois pas comment cette réponse dit quelque chose qu'aucune autre réponse ne fait, si ce n'est en citant directement les questions (que j'ai écrites, BTW, car la révision initiale de la question était suffisamment horrible pour être fermée en tant que NARQ). Bien essayé quand même.
Allquixotic

Uhm d'accord. Tout ce que vous aimeriez penser va bien. Votre réponse, ni aucune autre ne semble indiquer s'il y a une pénalité de performance. Votre réponse ne traite pas de la différence de compression notable, contrairement à d’autres. Étant donné que la vôtre ne traite pas réellement des performances (votre section performances traite en fait du flux de travail, rien n’y est consacré), aucune autre réponse ne répond à tout au même endroit. Il est intéressant que vous ayez écrit la question de la pénalité de performance, mais vous n'y avez pas répondu! Allez comprendre.
Mark Adler

En passant, votre discussion de flux de travail concerne quelque chose que personne ne fait jamais, à savoir écrire un fichier tar sur un disque, puis le compresser. tar est toujours utilisé soit en appelant directement le programme de compression, soit directement dans un canal vers un programme de compression.
Mark Adler

11

Performance

La grande différence réside dans l'ordre dans lequel la compression et l'archivage sont effectués. Dans les tararchives, vous pouvez éventuellement envoyer l'archive à un compresseur, et zipconstruire l'archive, puis compresser les données de fichier en morceaux de 32 Ko au fur et à mesure de leur insertion dans l'archive. En divisant les données de fichier en petits morceaux et en les compressant séparément, il vous permet d'extraire des fichiers spécifiques ou des parties de fichiers sans avoir à décompresser tout ce qui se trouve dans l'archive. Cela empêche également le compresseur de créer un dictionnaire très volumineux avant son redémarrage. Cela signifie que la compression ira plus vite, mais ne donnera pas un aussi bon rapport que de compresser le tout avec une plus grande taille de dictionnaire.

Vous pouvez le visualiser en pensant à deux fichiers, où les 500 premiers octets du deuxième fichier sont les mêmes que les 500 derniers octets du premier fichier. Avec cette zipméthode, le compresseur est redémarré pour le deuxième fichier. Par conséquent, il ne se souvient pas que le premier fichier s'est terminé avec les mêmes données. Il ne peut donc pas supprimer les données en double du deuxième fichier.

Popularité

Il existe de nombreux autres formats qui présentent de nombreux avantages tar. 7-Zip ne stocke pas les autorisations de fichiers Unix, mais le darfait et zippeut le faire, et les trois stockent un index, ce qui permet une navigation rapide, l'extraction d'un sous-ensemble de fichiers et la mise à jour de fichiers dans l'archive. Ils peuvent également utiliser des processeurs multicœurs pour la compression.

La raison pour laquelle tout le monde utilise encore tarest la même que tout le monde utilise toujours Windows et Flash : les gens n'aiment pas les changements. Sans une raison solide de changer, les gens s'en tiennent à ce qu'ils savent. darne présente pas un avantage suffisant pour justifier la publication de fichiers dans le format lorsque la plupart des utilisateurs sont déjà tarinstallés et que très peu de gens le savent dar, donc la simple inertie nous permet de conserver l’ancien standard.


2
zip peut stocker et restaurer les autorisations Unix. C’est ce que font les utilitaires zip et décompresser d’InfoZIP normalement distribués avec le système Unix.
Mark Adler

3
zip ne compresse pas le fichier en morceaux de 32K. Vous confondez la taille de la fenêtre glissante de 32 Ko avec la manière dont la compression est effectuée.
Mark Adler

1
gzip -9 ne possède pas de dictionnaire de 900 Ko. Tous les niveaux de gzip utilisent un dictionnaire de 32K. Vous pensez peut-être à bzip2.
Mark Adler

Tant de désinformation en une seule réponse.
Mark Adler

1
Vous devez soit apporter des corrections à votre réponse ou supprimer votre réponse.
Mark Adler

7

Tar a été créé pour faire des sauvegardes de votre système de fichiers en toute fidélité, pas seulement pour le transfert de fichiers. En tant que tel, l'utilitaire tar est l'utilitaire le plus complet pour créer une archive qui conserve tout ce qui est important pour la structure de votre système de fichiers.

Cela inclut toutes les fonctionnalités manquantes dans un ou plusieurs outils concurrents:

  • propriété du fichier
  • autorisations de fichiers
  • autorisations de fichiers moins communes (par exemple, setuid, sticky bit)
  • liens symboliques
  • liens durs
  • entrées de périphérique (c.-à-d. caractères et bloc de périphériques)
  • fichiers clairsemés
  • Entrées ACL ( non prises en charge par toutes les versions )
  • Attributs étendus / utilisateur ( non pris en charge par toutes les versions )
  • Étiquettes SElinux ( non supportées par toutes les versions )

Il a également l' --one-file-systemoption qui est extrêmement utile lors de la sauvegarde.

Chaque fois qu'une nouvelle fonctionnalité est ajoutée aux systèmes de fichiers, le support est ajouté en tarpremier (ou même exclusivement). Donc, il continue à être le moyen le plus compatible pour enregistrer des fichiers.


Cette réponse est la seule qui a du sens. Merci de l'avoir posté.
Gaborous

5

Nous avons beaucoup de fichiers compressés qui circulent aujourd'hui, MP3, JPG, vidéos, fichiers tar.gz, packages JAR, RPM, DEB, etc. Si vous devez regrouper plusieurs de ces éléments dans un seul fichier pour le transfert, il est utile de disposer d'un utilitaire 'tar' qui regroupe uniquement les fichiers sans tenter de les compresser.

Tenter de compresser un fichier compressé consomme non seulement du temps et de l’électricité, mais il en résulte souvent un fichier plus volumineux que le fichier original.

Une autre utilisation consiste à améliorer les taux de compression. Par exemple, si vous «archivez» un ensemble de fichiers journaux, puis gzip le résultat, vous obtiendrez probablement un fichier plus petit que si vous aviez compressé en premier, puis regroupé avec «tar». Et bien sûr, en utilisant tar, vous pouvez choisir n’importe quel algorithme de compression et spécifier des options pour optimiser la compression en fonction de votre cas d’utilisation.

Je trouve que tar 'est très pertinent aujourd'hui et je préfère qu'il utilise ZIP. Dans notre bureau, 7-zip sont installés sur tous les utilisateurs de Windows. Par conséquent, les fichiers tar sont entièrement compatibles entre plates-formes.


Vous ne voyez pratiquement jamais de tarfichiers non compressés et il y a une raison à cela. tarutilise de très gros morceaux, ce qui signifie que vous obtenez beaucoup de bourrage à la fin des fichiers. Pour se débarrasser de tous ces zéros, il est presque toujours rentable de simplement utiliser gzipsans y penser à deux fois.
Christian

Une exception amusante est que le code source de gzip est disponible sous forme de goudron nu, pour des raisons évidentes.
Mark Adler

4

Peut-être devrions-nous nous demander pourquoi ces "nouveaux" formats de fichier effectuant à la fois la compression et l'agrégation (et j'ajouterais un cryptage) ne sont pas construits sur tar dès le début au lieu d'outils complètement différents.

Si j'ai bien compris, il existe des raisons historiques (liées à l'historique du système d'exploitation, à la "protection" des brevets, à la capacité du vendeur de logiciels à vendre des outils, etc.).

Maintenant, comme l’a souligné une autre réponse, tar n’est pas clairement inférieur à d’autres solutions et peut être meilleur pour d’autres aspects, comme la capacité de travailler sur des flux ou la gestion des droits Unix.

Si vous lisez l'article de Wikipédia sur le goudron, vous constaterez un autre fait intéressant. L'article reconnaît certaines lacunes de tar ... mais ne suggère pas d'utiliser plutôt le zip (le format zip ne résout pas ces inconvénients) mais plutôt le DAR.

Je vais finir avec une touche personnelle. Il y a quelques temps, j'ai dû créer un format de fichier pour stocker des données cryptées. Utiliser tar comme base était pratique (d'autres ont fait le même choix, par exemple, tar est le format d'agrégation interne des packages .deb). Il était évident pour moi qu'essayer de compresser les données après le cryptage était totalement inutile, je devais effectuer la compression comme une étape indépendante avant le cryptage et je n'étais pas non plus prêt à utiliser le cryptage zip (je voulais un cryptage à deux clés avec des clés publique et privée) . L'utilisation de goudron a fonctionné comme une brise.


3

Je suis surpris que personne ne l’ait mentionné, mais l’une des raisons - pas vraiment un avantage, mais une nécessité - est liée à la compatibilité ascendante. Pendant des décennies, de nombreux systèmes exécutant des logiciels pourraient nécessiter tarun archivage. Il n'est pas rentable d'engager quelqu'un pour "réparer" tous les anciens systèmes.


3

tar est UNIX comme UNIX est tar

À mon avis, la raison pour laquelle nous utilisons encoretar aujourd'hui est que c'est l'un des cas (probablement les plus rares) où l'approche UNIX l'a parfaitement faite dès le début.

En examinant de plus près les étapes de la création d'archives, j'espère que vous conviendrez que la séparation des tâches se déroule ici dans le sens de la philosophie UNIX :

  • un outil ( tarpour lui donner un nom ici) spécialisé dans la transformation de toute sélection de fichiers, répertoires et liens symboliques, y compris toutes les méta-données pertinentes, telles que les horodatages, les propriétaires et les autorisations, en un flux d'octets.

  • et juste un autre outil arbitrairement interchangeable ( gzip bz2 xzpour ne nommer que quelques options) qui transforme n'importe quel flux d'octets d'entrée en un autre flux de sortie (espérons-le) plus petit.

L'utilisation d'une telle approche offre de nombreux avantages à l'utilisateur ainsi qu'au développeur:

  • extensibilité Permet de coupler taravec n'importe quel algorithme de compression déjà existant ou avec n'importe quel algorithme de compression restant à développer sans avoir à changer quoi que ce soit du tartout.

    Dès que le tout nouvel outil de compression "hyper-zip-utra" ou Whater est disponible, vous êtes déjà prêt à l'utiliser et vous en donne toute la puissance tar.

  • La stabilité tar est très utilisée depuis le début des années 80, et a été utilisée sur de nombreux systèmes d'exploitation et machines.

    Empêcher la nécessité de réinventer la roue en mettant en œuvre le stockage de la propriété, des autorisations, des horodatages, etc. , pour chaque nouvel outil d'archivage, non seulement fait gagner beaucoup de temps (sinon inutilement) au développement, mais garantit également la même fiabilité pour chaque nouvelle application.

  • cohérence L'interface utilisateur reste la même tout le temps.

    Il n'est pas nécessaire de se rappeler que pour restaurer les autorisations à l'aide de l'outil A, vous devez passer l'option --i-hope-you-rember-this-oneet utiliser l'outil B, vous devez utiliser --this-time-its-another-one lorsque vous utilisez l'outil C, il s'agit de `--hope-you-didnt-try-with-tool-as-switch.

    Tandis qu'en utilisant l'outil D, vous l'auriez vraiment foiré si vous ne l'aviez pas utilisé --if-you-had-used-tool-bs-switch-your-files-would-have-been-deleted-now.


3

Beaucoup de bonnes réponses, mais elles négligent toutes un fait important. Tar possède un écosystème bien établi d'utilisateurs et de développeurs dans le monde semblable à Unix. Cela le maintient, tout comme ZIP est maintenu par son écosystème DOS / Windows. Avoir un tel écosystème est ce qui fait vivre une technologie, pas ses avantages techniques.


Vraiment un bon commentaire, je n'y avais même pas pensé, et c'est vraiment un bon point à faire valoir.
MarcusJ

3

La raison est "enracinée dans la culture". Il y a de nombreuses personnes comme moi dont les yeux brillent lorsqu'on leur demande de traiter autre chose qu'une archive compressée au format tar, ou un fichier ZIP occasionnel, si elle provenait du monde Windows.

Je ne veux pas entendre parler de 7-Zip, RAR ou autre chose. Si je dois installer un programme pour décompresser votre fichier, cela fonctionne. Je le ferai s'il en résulte que je suis payé, ou si le contenu est quelque chose que je "dois avoir" et n'est pas disponible de toute autre manière.

Un des avantages de tar est que si vous envoyez une archive à une personne, celle-ci est immédiatement reconnue. Le destinataire peut taper les commandes d’extraction en utilisant la mémoire musculaire.

La vraie question est: pourquoi certaines personnes sont-elles si obsédées par la sauvegarde d'un octet d'espace supplémentaire qu'elles demandent à tout le monde de perdre du temps à installer un utilitaire exotique et à apprendre à l'utiliser? Et puis, il y a les utilisations stupides des formats de compression et d'archives exotiques. Une vidéo H.264 avec son AAC doit-elle vraiment être insérée dans un fichier RAR en plusieurs parties?

Le format tar est peut-être ancien, mais il stocke tout ce qui est pertinent: contenu du fichier, chemins d'accès, horodatage, autorisations et droits de propriété. Il stocke non seulement des liens symboliques, mais il peut préserver la structure des liens durs. Il stocke également des fichiers spéciaux, de sorte qu'une archive sur bande peut être utilisée pour des tâches telles qu'un /devrépertoire de minature utilisé lors de l'amorçage. Vous pouvez assembler une distribution Linux dont le format de paquet binaire ne contient rien, à l'exception des archives tarball non compressées par rapport à la racine du système de fichiers.


Re "So obsessed" ... imaginez que vous êtes coincé dans la zone de guerre avec un seul ordinateur portable renforcé, et que le disque dur 20G trop petit est presque plein, il vous reste peut-être un gig, et écoutant les coups de feu de loin, vous aimeriez vraiment parcourir un manuel .PDF de 100 Mo qui explique comment réparer la jeep, mais le fichier se trouve dans un fichier .tgz de 2 Go. Et l'ordinateur portable exécute un système d'exploitation propriétaire étrange et fermé, et vous ne disposez pas d'un accès root pour supprimer les fichiers système. Cela ne veut pas dire qu'il serait évident de supprimer 4G + sans casser le dearchiver ou le visualiseur PDF. Si vous pouviez simplement extraire ce fichier de 100 Mo ...
2016 à 04h40

2

Répondre directement aux questions spécifiques que vous avez posées:

Existe-t-il une perte de performance lors des étapes d'agrégation / compression / décompression pour l'utilisation de tar encapsulé dans gzip ou bzip2, par rapport à un format de fichier qui effectue l'agrégation et la compression dans la même structure de données? Supposons que la durée de fonctionnement du compresseur comparé soit identique (par exemple, gzip et Deflate sont similaires).

Il existe une amélioration spécifique des performances, dans les cas généraux, en utilisant tarnotamment la bibliothèque de compression intégrée (les lignes de commande de style tar xvzfou tar xvjf, dans lesquelles une bibliothèque de compression est utilisée plutôt qu'un second processus). Cela provient de deux causes principales:

  • lors du traitement d'un grand nombre de fichiers relativement petits, en particulier ceux couramment utilisés pour la distribution de logiciels, la redondance est élevée. La compression sur de nombreux fichiers entraîne une compression globale plus élevée que la compression de fichiers individuels. Et le "dictionnaire" est calculé une fois pour chaque bloc d'entrée, pas pour chaque fichier.

  • tarcomprend les systèmes de fichiers. Il est conçu pour enregistrer et restaurer un système d'exploitation opérationnel. Il saisit profondément ce qui est important sur un système de fichiers UNIX, et le capture et le restitue fidèlement. Autres outils ... pas toujours, en particulier la famille zip, qui est mieux conçue pour le partage de fichiers entre plusieurs systèmes d’exploitation, où le document est l’important, et non une copie fidèle sensible au système d’exploitation.

Existe-t-il des fonctionnalités du format de fichier tar que n’ont pas les autres formats de fichier, tels que .7z et .zip?

Traitement de fichiers clairsemés. Certaines bibliothèques de bases de données directes reposent sur des fichiers fragmentés - des fichiers dont les données sont nominalement en Go, mais les données réelles écrites et stockées sont beaucoup, beaucoup moins, et seuls quelques blocs de disque sont réellement utilisés. Si vous utilisez un outil non détecté, alors lors de la décompression, vous vous retrouvez avec une consommation massive de blocs de disque, contenant tous des zéros. Remettre cela dans un fichier fragmenté est ... douloureux. Si vous avez même la pièce pour le faire. Vous avez besoin d'un outil qui saisisse ce qu'est un fichier fragmenté et qui le respecte.

Métadonnées. Unix a évolué avec des choses étranges au fil des ans. Noms de fichier à 14 caractères, noms de fichier longs, liens liens sym, sticky bits, bits de superutilisateur, autorisations d'accès de groupe héritées, etc. Tar les comprend et les reproduit. Outils de partage de fichiers ... pas tellement. Beaucoup de gens n'utilisent pas les liens comme ils pourraient le faire ... Si vous avez déjà travaillé avec un logiciel utilisant des liens, puis ayant utilisé un outil non averti pour la sauvegarde et la restauration, vous disposez désormais de nombreux outils indépendants. fichiers, au lieu d'un seul fichier avec plusieurs noms. Douleur. Votre logiciel échoue et votre disque est gonflé.

Puisque tar est un ancien format de fichier, et que de nouveaux formats de fichiers existent aujourd'hui, pourquoi tar (qu'il soit encapsulé dans gzip, bzip2 ou même le nouveau xz) est encore si largement utilisé aujourd'hui sur GNU / Linux, Android, BSD et autres. systèmes d’exploitation, pour les transferts de fichiers, les sources de programmes et les téléchargements binaires, et parfois même en tant que format de gestionnaire de paquets?

tartravaux. Il fait le travail pour lequel il est conçu, eh bien. Il y a eu d' autres remplacements vantés ( cpio, pax, etc, etc). Mais tar est installé sur à peu près tout, et les bibliothèques de compression qu’il utilise sont également très courantes pour d’autres raisons. Rien d’autre n’est venu qui vienne vraiment battre ce que fait le goudron. En l'absence d'avantages clairs, et de beaucoup d'utilisation intégrée et de connaissances dans la communauté, il n'y aura pas de remplacement. Le tar a beaucoup servi au fil des ans. Si nous obtenons des changements majeurs dans la manière dont nous pensons aux systèmes de fichiers, des fichiers non-texte deviennent en quelque sorte le moyen de transférer du code (vous ne pouvez pas imaginer comment, mais ignorez cela ...), vous pourrez alors trouver un autre outil. Mais alors ce ne serait pas le type de système d'exploitation que nous utilisons maintenant. Ce serait une chose différente, organisée différemment et elle aurait besoin de ses propres outils.

Je pense que la question la plus importante que vous n’avez pas posée est celle de savoir à quel emploi "tar" correspond mal.

taravec compression est fragile. Vous avez besoin de toutes les archives, bit par bit. D'après mon expérience, ce n'est pas résilient. Des erreurs sur un seul bit ont rendu les archives multi-parties inutilisables. Il n'introduit pas de redondance pour se protéger contre les erreurs (ce qui éliminerait l'une des questions que vous avez posées, à propos de la compression des données). S'il existe un risque de corruption des données, vous souhaitez une vérification des erreurs avec redondance afin de pouvoir reconstruire les données. Cela signifie, par définition, que vous n'êtes pas compressé au maximum. Vous ne pouvez pas avoir tous les deux des données requises et portant leur valeur maximale de sens (compression maximale) et des données pouvant être perdues et restaurées (redondance et correction d'erreur). Alors ... quel est le but de vos archives?tarest idéal dans les environnements très fiables et lorsque les archives peuvent être reproduites à partir des sources. IME, c'est en fait pire avec la chose originale suggérée par leurs noms - l'archivage sur bande. Les erreurs sur un seul bit sur une bande (ou pire, les erreurs sur un seul bit dans une tête de bande, où vous perdez un bit dans chaque octet d'une bande ou d'une archive entière) ont pour effet de rendre les données inutilisables. Avec une redondance et une détection et une correction des erreurs suffisantes, vous pouvez surmonter l'un ou l'autre de ces problèmes.

Alors ... combien de bruit et de corruption y a-t-il dans l'environnement que vous étudiez, et la source peut-elle être utilisée pour régénérer une archive défaillante? La réponse, à partir des indices que vous avez fournis, est que le système n’est pas bruyant et que cette source est capable de régénérer une archive. Dans ce cas, tarest suffisant.

taravec la compression aussi ne joue pas bien avec les fichiers pré-compressés. Si vous envoyez des données déjà compressées ... utilisez simplement tar et ne vous occupez pas de la phase de compression - cela ajoute simplement des cycles de processeur pour ne pas trop en faire. Cela signifie que vous devez savoir ce que vous envoyez et pourquoi. Si c'est important pour vous. Si vous ne vous souciez pas de ces cas particuliers, alors tar copiera fidèlement les données et la compression échouera . Pas de gros problème, à part quelques cycles du processeur.


-3

TAR est une archive de bande. Il existe depuis des décennies et il est largement utilisé et pris en charge. C'est un produit mature qui répond aux besoins actuels et anciens.

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.