Question 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 pouvais enregistrer des fichiers en tant que .gz ou .tar.gz, ou .7z et .tar.7z, etc. Quelles sont les différences entre le normal et le .tar.* une variante? Lequel d'entre eux est conseillé lors de la sauvegarde?


145
2018-04-15 01:09


origine




Réponses:


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

Dans les systèmes Unix et Unix-like (comme Ubuntu), l’archivage et la compression sont séparés.

tar met plusieurs fichiers dans un seul fichier (tar).

gzip compresse un fichier (uniquement).

Donc, pour obtenir une archive compressée, vous combinez les deux, première utilisation tar ou pax pour obtenir tous les fichiers dans un seul fichier (archive.tar), alors gzip it (archive.tar.gz). Si vous n’avez qu’un seul fichier à compresser (notes.txt), il n’ya pas besoin de tar. gzip notes.txt qui se traduira par notes.txt.gz. Il existe d'autres types de compression, tels que compress, bzip2 et xz qui fonctionnent de la même manière que gzip (en dehors de l'utilisation de différents types de compression bien sûr)


173
2018-04-15 01:41



Cela a du sens, mais alors, pourquoi est-ce que je peux faire un .7z archiver à partir de plusieurs fichiers, alors que je peux également faire un .tar.7z archive de plusieurs fichiers? - Exeleration-G
@ Exeleration-G 7zip ne suit pas ce schéma. C'est plus comme zip et rar. Je ne suis pas sûr que l’utilisation de tar en conjonction avec 7zip est comme je n’ai pas utilisé 7zip moi-même. - geirha
@ Exeleration-G Après avoir lu les autres réponses, je vois que SaultDon répond à ceci; 7zip ne stocke pas la propriété et l'autorisation d'Unix des fichiers archivés (il semble être principalement orienté vers Windows, comme zip et rar), il est donc logique de le combiner avec tar pour obtenir la propriété et les autorisations préservées. - geirha
@geirha Marque la question comme résolue si tu trouves la réponse appropriée. - Ravi
Dans mon expérience, 7z est beaucoup mieux à la compression que le zip. Lorsque j'ai testé, cela m'a permis d'économiser 40% de plus - Eoin


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

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

La compression peut ignorer la plupart de ces éléments et récupérer vos fichiers dans des paquets plus petits.

Pour conserver les autorisations de fichiers, utilisez tar:

tar cpvf backup.tar folder

L'indicateur p enregistrera les autorisations de fichier. Utilisez l'indicateur z pour la compression gzip ou l'indicateur j pour la compression bzip.

tar czpvf backup.tar.gz folder #backup.tgz is acceptable as well
tar cjpvf backup.tar.bz2 folder #backup.tbz2 works too

Si vous voulez avoir un fichier tar, vous pouvez "mettre à jour" le paquet en utilisant l’indicateur P:

tar cpPvf backup.tar folder

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

tar upPvf backup.tar folder #updating a tar file
tar xpPkvf backup.tar #extracting a tar with permissions(p) and not extracting(k) files that exist on disk already

L'indicateur P enregistre les fichiers avec des chemins complets, donc - / home / username vs home / username (notez la première barre oblique).

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

Je suppose qu'un fichier backup.tar.7z est juste un fichier tar (avec des permissions) compressé par un fichier 7z, mais je ne serais pas surpris si peu de compression se produisait car 7z ne serait peut-être pas capable de vider les métadonnées du fichier. C'est la capacité de 7z d'exclure les métadonnées de fichier qu'il peut offrir une compression excellente (entre autres, bien sûr).

La compression dépend entièrement du type de données. Certains fichiers ne se compressent pas bien car ils peuvent déjà être compressés avec d'autres moyens (par exemple, .mp3, .jpg, .tiff / with lzma, .rpm, etc.).


46
2018-04-15 01:45





gzip ou bzip2 ne sait pas file system - nom de fichier, répertoire ou arborescence. Il compresse simplement le flux d'entrée, puis produit le résultat. Même gzip ou bzip2 ne peuvent pas archiver les répertoires eux-mêmes, c'est pourquoi il est généralement associé à tar.

tar (archiveur) - archivage de la structure du fichier. gzip, bzip2 (compresseur) - compresse juste l’entrée.

Je pense que cette stratégie venait de 'fais une chose bien' Philosophie Unix. Tar fonctionne bien? Laissez-le tel quel. Besoin de plus de taux de compression que gzip? Voici bzip2 ou 7zip.


10
2018-04-15 04:55



En fait, 7zip peut archiver comme zip ou rar. - Mait


ses différents styles de compression, tar par lui-même est simplement archivé (compression faible à nulle). tar.gz est une archive tar, mais son contenu est compressé par gzip (compression modérée). Par conséquent, les fichiers .gz et tar.7z sont compressés à l'aide de 7zip (compression généralement 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 permet d'économiser de l'espace mais utilise un programme supplémentaire (7zip). .tar.gz sera de plus gros fichiers et fera le même travail, vous pourriez aussi utiliser bzip (.tar.bz / bz2) bien que je ne sois pas sûr que cela vous convienne mieux car j'utilise gzip ou 7zip


8
2018-04-15 01:36





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

Cependant, sous Linux / Unix, on peut nommer un fichier à peu près comme il le souhaite, de sorte qu'il est entièrement à la discrétion du créateur des fichiers.


3
2018-04-15 01:21





Tar (Tape Archiver) a traditionnellement été utilisé comme conteneur sous Unix / Linux pour empaqueter les fichiers en vue de leur déplacement. Il empaquette la structure du fichier et conserve les attributs du fichier, mais ne compresse pas les fichiers.

Les programmes de compression compressent le fichier pour le rendre plus petit, mais ils peuvent ne pas gérer plusieurs fichiers et / ou ne pas gérer les attributs de fichier nécessaires pour Linux. Puisque tar existe déjà et est bien pris en charge, il n'y a aucune raison pour que les programmes d'archivage dupliquent cette fonctionnalité, qui est spécifique à la plate-forme (différente pour Windows et Linux). En outre, différents programmes de compression peuvent fonctionner différemment sur différents types de fichiers. Il est donc souhaitable de pouvoir en choisir plusieurs.


3
2018-04-15 01:34