Comment décompresser un fichier .tar.gz sous Linux : Guide complet avec conseils avancés
Travailler avec des fichiers compressés est une réalité quotidienne dans tout environnement Linux. Parmi les formats les plus largement utilisés se trouve .tar.gz, un format en deux étapes qui combine tar pour l’archivage et gzip pour la compression. Que vous décompactiez du code source de logiciels, restauriez des sauvegardes ou déployiez des fichiers de configuration sur un serveur VPS Hosting, savoir comment gérer les archives .tar.gz de manière efficace et sécurisée est une compétence Linux fondamentale.
Ce guide couvre tout, de la commande d’extraction de base aux techniques avancées pour les grandes archives, le renforcement de la sécurité et les meilleures pratiques de script.
Qu’est-ce qu’un fichier .tar.gz ?
Un fichier .tar.gz — souvent appelé tarball — est créé en deux étapes :
- tar regroupe plusieurs fichiers et répertoires dans une seule archive (
.tar) - gzip compresse cette archive pour réduire sa taille (
.tar.gzou.tgz)
Cas d’usage courants
- Distribution du code source logiciel
- Empaquetage des fichiers de configuration et des sauvegardes
- Archivage des fichiers journaux pour le stockage à long terme
- Transfert de grands arbres de répertoires entre serveurs
Exemple de nom de fichier : project-files.tar.gz
Commande d’extraction de base
La commande standard pour extraire un fichier .tar.gz est :
tar -xvzf file.tar.gzDétail des drapeaux
| Drapeau | Signification |
|---|---|
-x | Extraire les fichiers de l’archive |
-v | Mode verbose — affiche chaque fichier au fur et à mesure de son extraction |
-z | Décompresser avec gzip |
-f | Spécifie le nom de fichier à traiter |
Cette commande unique gère la grande majorité des tâches d’extraction quotidiennes.
Extraire vers un répertoire spécifique
Par défaut, tar extrait les fichiers dans le répertoire de travail actuel. Pour rediriger la sortie vers un emplacement spécifique, utilisez le drapeau -C :
tar -xvzf file.tar.gz -C /path/to/target-directory> Remarque : Le répertoire cible doit déjà exister. Créez-le d’abord avec mkdir -p /path/to/target-directory si nécessaire.
Cette approche est particulièrement utile dans les scripts de déploiement automatisés ou lors de l’organisation de plusieurs archives sur un serveur de production.
Aperçu du contenu de l’archive avant extraction
Avant d’extraire une archive — en particulier une provenant d’une source inconnue — il est recommandé d’inspecter d’abord son contenu :
tar -tvzf file.tar.gzLe drapeau -t répertorie tous les fichiers et répertoires à l’intérieur de l’archive sans rien extraire. Cela vous aide à :
- Comprendre la structure interne des répertoires
- Éviter de remplacer accidentellement des fichiers existants
- Détecter les chemins suspects ou inattendus
Extraire des fichiers ou répertoires spécifiques
Vous n’avez pas toujours besoin d’extraire une archive complète. Pour extraire un seul fichier ou dossier, spécifiez son chemin exactement tel qu’il apparaît dans l’archive :
tar -xvzf file.tar.gz path/to/specific-file.txtPour trouver le chemin interne exact, exécutez d’abord la commande --list :
tar -tvzf file.tar.gz | grep filename> Important : Utilisez le chemin relatif affiché dans la liste de l’archive, et non un chemin absolu commençant par /.
Considérations de sécurité lors de l’extraction d’archives non fiables
L’extraction de .tar.gz fichiers provenant de sources inconnues ou non fiables peut poser de sérieux risques de sécurité, notamment des attaques de traversée de répertoires où les archives malveillantes écrasent les fichiers système critiques. Appliquez ces protections :
Prévenir le remplacement de répertoires
tar --no-overwrite-dir -xvzf file.tar.gzSupprimer les composants de chemin d’accès principaux
L’indicateur --strip-components supprime les niveaux de répertoires principaux des chemins extraits, ce qui neutralise les tentatives d’injection de chemin absolu :
tar --strip-components=1 -xvzf untrusted-archive.tar.gzExtraire dans un répertoire isolé
Extrayez toujours les archives non fiables dans un répertoire sandbox dédié et inspectez le contenu avant de déplacer les fichiers vers leur destination finale :
mkdir /tmp/sandbox && tar -xvzf untrusted-archive.tar.gz -C /tmp/sandboxCes pratiques sont particulièrement essentielles sur l’infrastructure partagée. Si vous gérez plusieurs sites ou clients, envisagez d’utiliser des environnements d’hébergement web partagé avec des limites de permissions strictes.
Traiter les grandes archives efficacement
Pour les archives de plusieurs gigaoctets, l’extraction standard peut sembler être une boîte noire. Ces techniques améliorent la visibilité et les performances.
Surveiller la progression avec pv
pv (pipe viewer) affiche une barre de progression en temps réel et la vitesse de transfert :
pv file.tar.gz | tar xzvf -Installez pv s’il n’est pas déjà disponible :
# Debian/Ubuntu
sudo apt install pv
# CentOS/RHEL/AlmaLinux
sudo dnf install pvDésactiver le mode verbeux pour une extraction plus rapide
Lors de l’extraction de très grandes archives, le drapeau -v peut ralentir les choses en imprimant des milliers de noms de fichiers sur le terminal. Supprimez-le pour de meilleures performances :
tar -xzf file.tar.gzUtiliser la décompression parallèle avec pigz
Pour les serveurs multi-cœurs, pigz remplace gzip par une implémentation parallèle et peut réduire considérablement le temps de décompression :
tar -I pigz -xf file.tar.gzDécompresser en Deux Étapes Séparées
Parfois, vous avez besoin d’un contrôle plus fin — par exemple, lors de l’intégration dans un pipeline ou de l’inspection du fichier .tar intermédiaire avant le déballage. Vous pouvez diviser le processus en deux commandes :
# Step 1: Decompress gzip to get a plain .tar archive
gunzip file.tar.gz
# Step 2: Extract the .tar archive
tar -xvf file.tarCette approche est utile quand :
- Vous voulez inspecter le
.tarbrut avant l’extraction - Votre pipeline traite les étapes
.taret.gzséparément - Vous devez passer le fichier
.tarà un autre outil
Créer une archive .tar.gz
Savoir comment créer des archives est tout aussi important que les extraire. La syntaxe reflète l’extraction mais utilise -c (créer) au lieu de -x :
tar -czvf archive-name.tar.gz /path/to/directory/Exclure des fichiers ou répertoires spécifiques
tar -czvf archive.tar.gz /path/to/directory/ --exclude='*.log' --exclude='node_modules'Ceci est inestimable pour créer des packages de déploiement ou des sauvegardes propres sans encombrement inutile.
Automatiser les opérations .tar.gz dans les scripts
Sur les serveurs de production — que vous utilisiez un Serveur Dédié ou un VPS géré — automatiser les opérations d’archive économise du temps et réduit les erreurs humaines.
Exemple : Script de sauvegarde automatisé
#!/bin/bash
BACKUP_DIR="/var/backups"
SOURCE_DIR="/var/www/html"
DATE=$(date +%Y-%m-%d)
ARCHIVE="$BACKUP_DIR/website-backup-$DATE.tar.gz"
mkdir -p "$BACKUP_DIR"
tar -czf "$ARCHIVE" --exclude='*.tmp' "$SOURCE_DIR"
echo "Backup created: $ARCHIVE"Planifiez ceci avec une tâche cron pour des sauvegardes quotidiennes entièrement automatisées :
0 2 * * * /usr/local/bin/backup.sh >> /var/log/backup.log 2>&1Utilisation des gestionnaires d’archives GUI (Optionnel)
Si vous travaillez dans un environnement de bureau Linux, les outils graphiques offrent une alternative glisser-déposer :
| Environnement de bureau | Gestionnaire d’archives |
|---|---|
| GNOME | File Roller |
| KDE Plasma | Ark |
| Xfce | Thunar Archive Plugin |
Ces outils supportent .tar.gz nativement et conviennent pour un usage occasionnel. Cependant, pour l’administration de serveur, la ligne de commande reste l’approche la plus fiable et scriptable.
Référence rapide : Commandes tar essentielles
| Tâche | Commande | |
|---|---|---|
| Extraire l’archive | tar -xvzf file.tar.gz | |
| Extraire vers le répertoire | tar -xvzf file.tar.gz -C /target/ | |
| Lister le contenu | tar -tvzf file.tar.gz | |
| Extraire un seul fichier | tar -xvzf file.tar.gz path/to/file | |
| Créer une archive | tar -czvf archive.tar.gz /source/ | |
| Surveiller la progression | `pv file.tar.gz | tar xzvf -` |
| Supprimer les composants de chemin | tar --strip-components=1 -xvzf file.tar.gz | |
| Décompression parallèle | tar -I pigz -xf file.tar.gz |
Conclusion
Maîtriser la gestion des fichiers .tar.gz va bien au-delà de taper tar -xvzf. En comprenant le format, en prévisualisant le contenu avant l’extraction, en appliquant des drapeaux de sécurité pour les archives non fiables, et en exploitant des outils comme pv et pigz pour les fichiers volumineux, vous obtenez un contrôle complet sur l’une des opérations les plus essentielles de Linux.
Ces compétences se traduisent directement par des tâches du monde réel : déployer le code source des applications, gérer les sauvegardes du serveur, empaqueter les fichiers de configuration et automatiser la maintenance de routine. Que vous soyez un débutant apprenant la ligne de commande ou un administrateur chevronné optimisant les flux de travail sur un VPS avec cPanel ou un serveur dédié bare-metal, une gestion confiante des fichiers .tar.gz rend vos opérations Linux plus rapides, plus sûres et plus fiables.
Si vous recherchez un environnement d’hébergement robuste pour mettre ces compétences en pratique, explorez AlexHost VPS Hosting — offrant un accès root complet, un stockage SSD et des distributions Linux flexibles prêtes pour n’importe quelle charge de travail.
sur tous les services d'hébergement