-c
Faut-il fabriquer une archive ?
Impact décision : À utiliser quand vous partez d’un dossier ou d’une liste de fichiers.
Un fichier tar.gz est pratique pour sauvegarder ou transférer un dossier Linux, à condition de séparer création, inspection, extraction et vérification.
Un fichier tar.gz n’est pas seulement un fichier “compressé”. Sous Linux, il combine deux gestes : regrouper des fichiers avec tar, puis compresser le résultat avec gzip. Cette nuance compte, parce qu’une archive peut conserver une arborescence, des permissions, des dates et parfois des chemins que vous ne voulez pas déposer n’importe où, notamment quand le fichier vient d’un prestataire ou d’un serveur ancien et doit être ouvert vite en production.
La bonne méthode consiste donc à séparer trois moments : créer proprement, inspecter avant extraction, puis extraire dans un dossier choisi. Ce réflexe évite les fichiers éparpillés, les écrasements involontaires et les diagnostics confus quand une commande échoue.
Le nom donne déjà la logique. tar fabrique une archive : il rassemble plusieurs fichiers ou dossiers dans un seul flux. gzip compresse ensuite ce flux pour réduire la taille finale. Le fichier .tar.gz est donc une archive tar passée dans gzip, pas un format magique qui devine seul ce qu’il faut préserver, exclure ou restaurer au bon endroit, avec les bons droits, le bon dossier racine et la bonne méthode de contrôle.
Cette séparation explique les options classiques. Avec tar -czf, vous demandez à tar de créer une archive, d’activer gzip et d’écrire dans un fichier. Avec tar -xzf, vous faites l’inverse : lire une archive compressée avec gzip, puis restaurer son contenu.
Le format reste populaire parce qu’il est rapide, disponible sur pratiquement toutes les distributions Linux et adapté aux dossiers techniques. Il sert aussi bien à envoyer un projet, sauvegarder une configuration, déplacer un dossier web ou récupérer une archive logicielle. Pour des volumes énormes, d’autres compressions peuvent gagner quelques mégaoctets, mais la compatibilité du tar.gz reste difficile à battre.
La commande paraît compacte, mais chaque lettre modifie réellement l’action.
Faut-il fabriquer une archive ?
Impact décision : À utiliser quand vous partez d’un dossier ou d’une liste de fichiers.
Faut-il ouvrir une archive ?
Impact décision : À lancer seulement quand la destination a été choisie.
Faut-il inspecter sans écrire ?
Impact décision : C’est le réflexe à avoir avant une extraction inconnue.
Le fichier est-il compressé en gzip ?
Impact décision : Indispensable pour les fichiers .tar.gz ou .tgz.
Quel fichier tar doit être lu ou écrit ?
Impact décision : L’option doit être suivie du nom exact de l’archive.
Où déposer le contenu ?
Impact décision : Elle limite les erreurs de dossier courant et les extractions brouillonnes.
La commande de base tient en une ligne. Placez-vous dans le répertoire parent du dossier à archiver, puis lancez :
tar -czf archive.tar.gz dossier/
Dans cette commande, -c crée l’archive, -z active gzip et -f indique que le nom du fichier suit. Le dossier d’origine n’est pas supprimé. Tar crée un nouveau fichier archive.tar.gz, que vous pourrez transférer ou stocker.
Le point important est le répertoire de départ. Si vous archivez depuis le bon parent, l’archive contient un dossier racine clair, par exemple dossier/. Si vous travaillez avec des chemins absolus, vous obtenez une archive moins portable et plus délicate à restaurer ailleurs. Pour un usage courant, un chemin relatif est plus simple à relire, à tester et à transmettre à une autre machine sans surprise ni reprise manuelle.
Si vous voulez voir les fichiers traités, ajoutez -v. C’est utile lors d’un premier test, mais rarement nécessaire dans un script automatisé :
tar -czvf archive.tar.gz dossier/
Pour archiver plusieurs éléments, listez-les à la suite. Cette forme convient bien à une sauvegarde ciblée, quand vous voulez conserver un dossier de configuration, un dossier public et un fichier de documentation sans embarquer tout le serveur.
tar -czf sauvegarde-site.tar.gz config/ public/ README.md
Une archive utile ne doit pas forcément tout contenir. Les caches, journaux, dépendances réinstallables, builds temporaires et anciennes sauvegardes gonflent vite le fichier final. Ils compliquent aussi la restauration, surtout si quelqu’un doit comprendre l’archive plusieurs mois plus tard.
Tar permet d’exclure certains chemins pendant la création. Pour un projet web, une commande typique peut ressembler à ceci :
Pour compléter cette lecture, regedit windows 10 apporte des repères utiles sur ouvrir regedit sous windows 10 sans casser le registre.
tar --exclude='node_modules' --exclude='*.log' -czf projet.tar.gz projet/
Le vrai critère n’est pas “plus petit à tout prix”. Il faut garder ce qui permet une restauration fiable : code, configuration utile, documentation et données attendues. Ce qui se régénère proprement peut souvent rester dehors. Les secrets, fichiers .env, dumps non prévus et journaux bavards méritent une vérification spécifique avant partage, surtout si l’archive doit circuler hors de l’équipe technique ou passer par un stockage tiers non maîtrisé.
Après création, listez l’archive. Ce contrôle rapide révèle souvent un dossier oublié ou un fichier qui n’aurait jamais dû quitter la machine.
tar -tzf projet.tar.gz | head -50
La commande la plus rentable n’est pas celle qui extrait. C’est celle qui inspecte sans écrire :
tar -tzf archive.tar.gz
Cette liste doit répondre à trois questions simples. Y a-t-il un dossier racine cohérent ? Les chemins sont-ils relatifs ? Voyez-vous des fichiers inattendus, des exécutables ou des remontées de répertoire comme ../ ? Si la réponse est floue, n’extrayez pas dans un dossier de travail important.
Pour voir les permissions, tailles et dates, ajoutez -v. Sur une archive volumineuse, filtrez la sortie afin de repérer les scripts ou fichiers de configuration avant extraction.
tar -tzvf archive.tar.gz | head -30
tar -tzf archive.tar.gz | grep -E '\.(sh|conf|env)$'
Ce n’est pas une analyse de sécurité complète. C’est un premier filtre pragmatique. En quelques secondes, vous savez si l’archive ressemble à ce qui était annoncé, si elle contient un dossier racine propre et si elle mérite une extraction isolée.
Pour extraire dans le dossier courant, la commande est courte :
tar -xzf archive.tar.gz
Cette forme est acceptable seulement si vous êtes certain de l’endroit où vous vous trouvez et du contenu de l’archive. Dans la pratique, mieux vaut créer un dossier cible, puis utiliser -C. Vous gardez ainsi une zone de test propre et vous évitez de mélanger les fichiers extraits avec un projet existant.
mkdir extraction-test
tar -xzf archive.tar.gz -C extraction-test/
Si l’archive contient déjà son propre dossier racine, vous obtiendrez une structure du type extraction-test/projet/. Si elle ne contient que des fichiers dispersés, le dossier cible les retiendra au même endroit. Dans les deux cas, la destination contrôlée réduit le risque d’écrasement.
Une archive téléchargée, reçue par mail ou fournie par un prestataire ne doit pas être ouverte à l’aveugle.
L’erreur Cannot open: No such file or directory indique souvent un nom d’archive incorrect ou un mauvais dossier courant. Vérifiez d’abord avec ls, puis relancez la commande avec le chemin exact. Beaucoup de problèmes viennent simplement d’un fichier téléchargé dans un autre répertoire.
Le message gzip: stdin: not in gzip format signifie que le fichier n’est probablement pas compressé avec gzip, même si son extension le laisse croire. Essayez de l’identifier avec file. Il peut s’agir d’un .tar non compressé, d’un fichier HTML téléchargé par erreur, ou d’une archive dans un autre format.
file archive.tar.gz
tar -tf archive.tar
tar -xJf archive.tar.xz
Les erreurs de permissions demandent plus de prudence. Extraire en tant que root peut résoudre un blocage, mais cela peut aussi restaurer des propriétaires et droits gênants dans un mauvais emplacement. Pour une archive inconnue, préférez une extraction utilisateur dans un dossier isolé, puis copiez seulement ce qui doit être installé.
| Message ou symptôme | Cause probable | Premier contrôle utile |
|---|---|---|
No such file | Nom ou dossier courant incorrect | pwd puis ls -lh |
not in gzip format | Extension trompeuse ou mauvais format | file archive |
| Permission refusée | Droits ou propriétaire incompatibles | Extraction utilisateur dans un dossier test |
| Fichiers dispersés | Archive sans dossier racine | tar -tzf avant extraction |
Pour tester une archive gzip sans extraire les fichiers, vous pouvez utiliser cette commande courte.
gzip -t archive.tar.gz
Cette commande vérifie la cohérence de la couche gzip. Elle ne prouve pas que le contenu est pertinent, ni que les fichiers sont sûrs, mais elle repère une archive tronquée ou corrompue. Pour une sauvegarde importante, combinez ce test avec une extraction de contrôle dans un dossier temporaire.
Pour approfondir ce point, consultez Utiliser zip et unzip sous Linux sans, qui traite plus précisément de utiliser zip et unzip sous linux sans perdre ses fichiers.
Quand vous transmettez une archive, ajoutez si possible une empreinte. Une somme sha256 permet au destinataire de vérifier que le fichier reçu est identique à celui envoyé. C’est particulièrement utile pour les livraisons entre machines, les sauvegardes externalisées et les transferts interrompus, où une archive légèrement tronquée peut rester invisible jusqu’au jour de la restauration et faire perdre du temps au mauvais moment, sous pression.
sha256sum archive.tar.gz
sha256sum -c archive.tar.gz.sha256
Dans un contexte professionnel, ne considérez pas l’archive comme validée tant qu’une restauration test n’a pas été faite. Une sauvegarde qui se crée sans erreur mais qui ne se restaure pas proprement reste une fausse sécurité.
Dès que la commande entre dans un script, le sujet change légèrement. Vous ne cherchez plus seulement à réussir une archive une fois, mais à produire un résultat répétable. Le script doit donc contrôler le dossier source, créer une destination datée et échouer proprement si une étape critique ne passe pas. Sans ces garde-fous, une tâche cron peut fabriquer pendant des semaines des fichiers incomplets que personne ne teste, tout en donnant l’impression rassurante qu’une sauvegarde existe.
Une base raisonnable consiste à nommer l’archive avec la date, à exclure les dossiers régénérables et à vérifier le fichier juste après création. Le détail dépend de votre environnement, mais l’intention reste la même : rendre la sauvegarde lisible avant même de l’ouvrir.
set -e
archive="site-public-$(date +%F).tar.gz"
tar --exclude='*.log' --exclude='cache' -czf "$archive" public/
gzip -t "$archive"
sha256sum "$archive" > "$archive.sha256"
Ajoutez ensuite une rotation ou un stockage externe selon le niveau de risque. Pour un petit projet, quelques archives datées peuvent suffire. Pour un serveur client, il faut prévoir une politique de rétention, une copie hors machine et un test de restauration périodique. Le fichier tar.gz n’est qu’un outil ; la vraie protection vient de la procédure qui l’entoure et de sa vérification régulière, documentée.
Évitez enfin les scripts trop silencieux. Un log minimal avec la taille de l’archive, l’heure de fin et le résultat du test gzip aide à repérer une anomalie avant le jour où vous devrez restaurer. C’est souvent cette trace simple qui transforme une commande pratique en sauvegarde exploitable.
Le .tar.gz est souvent le meilleur choix par défaut sous Linux. Il compresse correctement, se crée vite et se lit presque partout. Pour une archive de projet, une sauvegarde de configuration ou une livraison serveur, ce compromis suffit dans la majorité des cas.
Le .tar.xz peut produire des fichiers plus petits, surtout sur de gros volumes, mais il prend souvent plus de temps. Il convient mieux aux archives que l’on crée rarement et que l’on veut stocker longtemps. Le .tar.bz2 reste reconnu, mais il est moins attractif comme choix neuf.
Zip garde un intérêt quand le destinataire n’est pas dans un environnement Linux. Si l’archive doit être ouverte facilement par des profils Windows ou macOS non techniques, la simplicité côté réception peut compter davantage que la pure logique Unix.
Le format parfait n’existe pas. Le choix dépend du destinataire, du volume et du temps disponible.
Le standard polyvalent
Rapide, très compatible, pertinent pour sauvegardes, livraisons et archives serveur.
Plus compact
Souvent plus petit, mais plus lent à créer et moins pratique pour des traitements fréquents.
Ancien compromis
Encore rencontré, mais moins évident à privilégier sur des usages modernes.
Interplateforme
Très lisible côté Windows/macOS, mais moins naturel pour préserver certains usages Unix.
La meilleure habitude consiste à ne jamais extraire une archive inconnue directement dans un dossier sensible. Créez un dossier temporaire, listez l’archive, extrayez, inspectez, puis déplacez seulement les fichiers attendus. Cette discipline prend une minute et évite des heures de nettoyage.
Gardez aussi des noms explicites. backup.tar.gz ne dit presque rien. Un nom comme site-public-2026-07-31.tar.gz renseigne le périmètre et la date. Si l’archive contient des données sensibles, ajoutez une procédure de chiffrement séparée plutôt que de compter sur gzip, qui compresse mais ne protège pas le contenu.
Enfin, documentez la commande utilisée pour créer les sauvegardes importantes. Une archive sans contexte peut être techniquement correcte mais difficile à restaurer. Une ligne de commande, une liste d’exclusions et un court fichier README suffisent souvent à rendre la reprise beaucoup plus fiable.
Pour un usage courant, retenez ce trio : créer avec tar -czf, lister avec tar -tzf, extraire avec tar -xzf dans un dossier choisi grâce à -C. Ce n’est pas la syntaxe la plus spectaculaire, mais c’est la méthode la plus robuste pour manipuler un fichier tar.gz sans casser votre arborescence.
Si vous hésitez, ne commencez pas par extraire. Commencez par lister. Le contenu de l’archive vous dira presque toujours quelle commande lancer ensuite.
Pour compléter cette lecture, Creer une image disque chiffree avec Clonezilla apporte des repères utiles sur creer une image disque chiffree avec clonezilla sans se pieger.
À lire aussi
Un condensé de veille télécom, cloud, sécurité et outils numériques pour décider plus vite, sans bruit inutile.
Aucun spam. Désinscription en un clic.