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
, etcetera. Quelles sont les différences entre la normale et la version .tar.*
? Lequel est conseillé lors de la création de sauvegardes?
Réponses
Trop de publicités?Si vous venez d'un environnement Windows, vous êtes peut-être familier avec 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
regroupe plusieurs fichiers dans un seul fichier (tar).gzip
compresse un fichier (seulement).
Donc, pour obtenir une archive compressée, vous combinez les deux, utilisez d'abord tar
ou pax
pour regrouper tous les fichiers dans un seul fichier (archive.tar
), puis compressez-le avec gzip
(archive.tar.gz
).
Si vous n'avez qu'un seul fichier à compresser (notes.txt
) : pas besoin de tar
, vous pouvez simplement faire gzip notes.txt
, ce qui donnera 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
(à part l'utilisation de différents types de compression bien sûr).
Ça dépend de ce que vous cherchez... 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
Le drapeau p sauvegarde les autorisations des fichiers. Utilisez le drapeau z pour la compression gzip ou le drapeau 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 le drapeau P:
tar cpPvf backup.tar dossier
Ensuite, pour mettre à jour, remplacez 'c' par 'u' et lors du dépaquetage, vous pouvez utiliser 'k' pour préserver les fichiers qui existent déjà.
tar upPvf backup.tar dossier #mise à jour d'un fichier tar
tar xpPkvf backup.tar #extraction d'un tar avec les autorisations (p) et sans extraction (k) des fichiers qui existent déjà sur le disque
Le drapeau P sauvegarde les fichiers avec les chemins complets, donc - /home/nom_utilisateur vs 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 des autorisations) compressé par un fichier 7z, bien que je ne serais pas surpris s'il y avait peu de compression car 7z pourrait ne pas être capable de lire les métadonnées du fichier. C'est la capacité de 7z à exclure les métadonnées du fichier qui lui permet d'offrir une grande compression (entre autres bien sûr).
La compression dépend entièrement du type de données également. Certains fichiers ne se compressent pas bien car ils peuvent déjà être compressés avec d'autres moyens (par exemple, .mp3, .jpg, .tiff/avec lzma, .rpm, etc).
Gzip ou bzip2 ne savent rien sur le système de fichiers - nom de fichier, répertoire ou structure d'arborescence. Ils se contentent 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 (archivage) - archive simplement la structure des fichiers. gzip, bzip2 (compression) - compriment simplement l'entrée.
Je pense que cette stratégie provient de la philosophie Unix 'faire une chose bien' do one thing well. Tar fonctionne correctement? Laissez-le tel quel. Besoin d'un meilleur taux de compression que gzip? Voici bzip2 ou 7zip.
Ses différents styles de compression, tar en lui-même 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 offre le taux de compression le plus élevé, ce qui vous permet d'économiser de l'espace mais nécessite un programme supplémentaire (7zip). .tar.gz sera des fichiers plus gros et fera le même travail, vous pourriez également utiliser bzip (.tar.bz/bz2) bien que je ne sois pas certain que cela vous convienne mieux car j'utilise gzip ou 7zip
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, sur Linux/Unix, on peut nommer un fichier de n'importe quelle manière, donc c'est entièrement à la discrétion du créateur des fichiers.
- Réponses précédentes
- Plus de réponses