15%

Économisez 15% sur tous les services d'hébergement

Testez vos compétences et obtenez Réduction sur tout plan d'hébergement

Utilisez le code :

Skills
Commencer
04.08.2025

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 logiciel, 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 :

  1. tar regroupe plusieurs fichiers et répertoires dans une seule archive (.tar)
  2. gzip compresse cette archive pour réduire sa taille (.tar.gz ou .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.gz

Décomposition des drapeaux

DrapeauSignification
-xExtraire les fichiers de l’archive
-vMode verbeux — liste chaque fichier au fur et à mesure de son extraction
-zDécompresser à l’aide de gzip
-fSpécifie le nom du fichier à utiliser

Cette seule commande 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.gz

Le 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 du répertoire
  • Éviter de remplacer accidentellement les 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 entière. 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.txt

Pour 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 d’archive, pas un chemin absolu commençant par /.

Considérations de sécurité lors de l’extraction d’archives non fiables

L’extraction de fichiers .tar.gz provenant de sources inconnues ou non fiables peut poser de sérieux risques de sécurité, notamment les attaques par traversée de répertoires où les archives malveillantes remplacent les fichiers système critiques. Appliquez ces protections :

Empêcher le remplacement de répertoires

tar --no-overwrite-dir -xvzf file.tar.gz

Supprimer les composants de chemin de début

Le drapeau --strip-components supprime les niveaux de répertoires de début des chemins extraits, ce qui neutralise les tentatives d’injection de chemin absolu :

tar --strip-components=1 -xvzf untrusted-archive.tar.gz

Extraire 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/sandbox

Ces pratiques sont particulièrement critiques sur l’infrastructure partagée. Si vous gérez plusieurs sites ou clients, envisagez d’utiliser des environnements Shared Web Hosting avec des limites de permissions strictes.

Gestion efficace des grandes archives

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 pv

Dé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.gz

Utiliser 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.gz

Dé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épaquetage. 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.tar

Cette approche est utile quand :

  • Vous voulez inspecter le .tar brut avant extraction
  • Votre pipeline traite les étapes .tar et .gz séparément
  • Vous devez transmettre le fichier .tar à un autre outil

Créer une archive .tar.gz

Savoir comment créer des archives est tout aussi important que de 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.

Automatisation des opérations .tar.gz dans les scripts

Sur les serveurs de production — que vous exécutiez un Dedicated Server ou un VPS géré — l’automatisation des 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>&1

Utilisation 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 bureauGestionnaire d’archives
GNOMEFile Roller
KDE PlasmaArk
XfceThunar Archive Plugin

Ces outils supportent .tar.gz nativement et conviennent à un usage occasionnel. Cependant, pour l’administration de serveurs, la ligne de commande reste l’approche la plus fiable et scriptable.

Référence rapide : Commandes tar essentielles

TâcheCommande
Extraire l’archivetar -xvzf file.tar.gz
Extraire vers un répertoiretar -xvzf file.tar.gz -C /target/
15%

Économisez 15% sur tous les services d'hébergement

Testez vos compétences et obtenez Réduction sur tout plan d'hébergement

Utilisez le code :

Skills
Commencer