185 votes

Quelle est la différence entre .tar.gz et .gz, ou .tar.7z et .7z?

Récemment, j'ai sauvegardé beaucoup de mes données, et j'ai remarqué que je peux enregistrer des fichiers en tant que .gz ou .tar.gz, ou .7z et .tar.7z, etc. Quelles sont les différences entre la normale et la variante .tar.* ? Lequel est conseillé lors de la sauvegarde ?

220voto

Steve Karg Points 11

Si vous venez d'un environnement Windows, vous connaissez probablement les formats zip et rar. Ce sont des archives de plusieurs fichiers compressés ensemble.

Dans les systèmes Unix et de type Unix (comme Ubuntu), l'archivage et la compression sont séparés.

  • tar place plusieurs fichiers dans un seul fichier (tar).
  • gzip compresse un seul fichier.

Donc, pour obtenir une archive compressée, vous combinez les deux, utilisez d'abord tar ou pax pour mettre tous les fichiers dans un seul fichier (archive.tar), puis compressez-le avec gzip (archive.tar.gz).

Si vous avez seulement un fichier à compresser (notes.txt) : il n'est pas nécessaire d'utiliser tar, donc vous pouvez simplement faire gzip notes.txt ce qui donnera notes.txt.gz. Il existe d'autres types de compression, comme compress, bzip2 et xz qui fonctionnent de la même manière que gzip (à part en utilisant différents types de compression bien sûr).

54voto

Bhavik Points 129

Cela dépend de ce que vous recherchez... Compression ou archivage?

Quand je parle d'archivage, je veux dire préserver les autorisations, la structure des répertoires, etc...

La compression peut ignorer la plupart de cela et simplement mettre vos fichiers dans des paquets plus petits.

Pour préserver les autorisations des fichiers, utilisez tar:

tar cpvf backup.tar dossier

L'option p sauvegardera les autorisations des fichiers. Utilisez l'option z pour la compression gzip ou l'option j pour la compression bzip.

tar czpvf backup.tar.gz dossier #backup.tgz est également acceptable
tar cjpvf backup.tar.bz2 dossier #backup.tbz2 fonctionne aussi

Si vous voulez avoir un fichier tar que vous pouvez "mettre à jour", emballez le tar en utilisant l'option P:

tar cpPvf backup.tar dossier

Ensuite, pour mettre à jour, remplacez 'c' par 'u' et lors du déballage, vous pouvez utiliser 'k' pour conserver les fichiers déjà existants.

tar upPvf backup.tar dossier #mise à jour d'un fichier tar
tar xpPkvf backup.tar #extraire un tar avec les autorisations (p) et ne pas extraire (k) les fichiers qui existent déjà sur le disque

L'option P sauvegarde les fichiers avec des chemins complets, donc - /home/nom_utilisateur par rapport à home/nom_utilisateur (remarquez le slash avant).

La compression 7z offre une compression plus importante, mais ne préserve pas la propriété des fichiers, les autorisations, etc. Rzip est un autre utilitaire de compression qui offre une compression comparable à 7z également.

Je suppose qu'un fichier backup.tar.7z est simplement un fichier tar (avec les autorisations) compressé par un fichier 7z, bien que je ne serais pas surpris s'il n'y avait peu de compression car 7z peut ne pas être capable de supprimer les métadonnées des fichiers. C'est la capacité de 7z à exclure les métadonnées des fichiers qui lui permet d'offrir une grande compression (parmi d'autres choses bien sûr).

La compression dépend entièrement du type de données également. Certains fichiers ne se compressent pas bien car ils sont peut-être déjà compressés avec d'autres moyens (c'est-à-dire .mp3, .jpg, .tiff/avec lzma, .rpm, etc).

12voto

edude05 Points 323

Gzip ou bzip2 ne connaît pas le système de fichiers - nom de fichier, répertoire ou structure arborescente. Il se contente de compresser le flux d'entrée, puis de produire un résultat en sortie. Même gzip ou bzip2 ne peuvent pas archiver des répertoires par eux-mêmes, c'est pourquoi ils sont généralement combinés avec tar.

tar(archiveur) - archive simplement la structure des fichiers. gzip, bzip2(compresseur) - compresse simplement l'entrée.

Je pense que cette stratégie découle de la philosophie Unix du 'faire une chose bien'. Tar fonctionne bien ? Laissez-le tel quel. Besoin d'un taux de compression plus élevé que gzip ? Voici bzip2 ou 7zip.

8voto

MuffinStateWide Points 849

Ses différents styles de compression, tar tout seul est simplement archivé (peu ou pas de compression). tar.gz est une archive tar mais les contenus sont compressés par gzip (compression modérée) d'où le .gz et tar.7z est compressé en utilisant 7zip (généralement une compression très élevée)

Lors de la sauvegarde, je recommanderais tar.7z car il a le taux de compression le plus élevé, ce qui vous fait gagner de l'espace mais utilise un programme supplémentaire (7zip). .tar.gz sera des fichiers plus volumineux et fera le même travail, vous pourriez également utiliser bzip (.tar.bz/bz2) bien que je ne sois pas sûr si cela vous conviendrait mieux car j'utilise gzip ou 7zip

5voto

G. He Points 890

Typiquement, les fichiers *.tar sont simplement des fichiers tar créés par le programme tar, les fichiers *.gz sont créés par gzip, les fichiers *.tar.gz (parfois aussi *.tgz) sont des fichiers tar compressés par gzip, et les fichiers *.7z sont créés par 7zip.

Cependant, sous Linux/Unix, on peut nommer un fichier de n'importe quelle manière, donc cela relève entièrement de la discrétion du créateur des fichiers.

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X