Gestion des paquets Ubuntu : Feuille de rappel APT et dpkg
Commandes essentielles d'APT et de dpkg pour les paquets Ubuntu
Le système de gestion des paquets d’Ubuntu est le pilier de l’installation et de l’entretien du logiciel, ce qui en fait une connaissance essentielle pour tout utilisateur de Linux ou administrateur système.
Cette image est générée par AI model Flux 1 dev.
Qu’est-ce que la gestion des paquets APT ?
APT (Advanced Package Tool) est le système de gestion des paquets principal d’Ubuntu, hérité de Debian. Il s’agit d’un outil puissant en ligne de commande pour l’installation, la mise à jour et la suppression de paquets logiciels. APT gère automatiquement la résolution des dépendances, se connecte aux dépôts officiels d’Ubuntu et est la méthode traditionnelle pour gérer les paquets système sur les distributions Ubuntu et Debian. Si vous êtes nouveau sur Ubuntu, consultez notre guide sur comment installer Ubuntu 24.04 et les outils utiles pour commencer avec un système correctement configuré.
Caractéristiques clés :
- Natif à Ubuntu/Debian : Intégré, aucun téléchargement supplémentaire nécessaire
- Bibliothèques partagées : Utilisation efficace du disque via les dépendances système partagées
- Mises à jour manuelles : Vous contrôlez quand les paquets sont mis à jour
- Aucun sandboxing : Les paquets ont un accès complet au système (adapté aux outils système)
- Léger : Aucun démon en arrière-plan, fonctionne uniquement lorsqu’il est invoqué
- Écosystème mûr : Décennies de développement, extrêmement stable
Comparaison des gestionnaires de paquets
Ubuntu prend en charge plusieurs systèmes de gestion des paquets. Voici comment les principales opérations se comparent :
| Opération | APT | Snap | Flatpak |
|---|---|---|---|
| Recherche | apt search keyword |
snap find keyword |
flatpak search keyword |
| Installation | sudo apt install package |
sudo snap install package |
flatpak install flathub app.id |
| Liste des paquets installés | apt list --installed |
snap list |
flatpak list --app |
| Afficher les informations | apt show package |
snap info package |
flatpak info app.id |
| Mettre à jour tous les paquets | sudo apt update && sudo apt upgrade |
sudo snap refresh |
flatpak update |
| Mettre à jour un seul paquet | sudo apt install --only-upgrade pkg |
sudo snap refresh package |
flatpak update app.id |
| Supprimer | sudo apt remove package |
sudo snap remove package |
flatpak uninstall app.id |
| Nettoyage | sudo apt autoremove |
snap remove --revision=N |
flatpak uninstall --unused |
| Dépôt | /etc/apt/sources.list |
Magasin Snap (intégré) | Ajout avec flatpak remote-add |
Comparaison rapide des fonctionnalités
| Fonctionnalité | APT | Snap | Flatpak |
|---|---|---|---|
| Mises à jour automatiques | Non | Oui | Non |
| Sandboxing | Non | Oui | Oui |
| Dépendances | Bibliothèques système | Emballées | Runtimes partagés |
| Taille du paquet | Petite (5-50 Mo) | Grande (50-500 Mo) | Moyenne (20-200 Mo) |
| Accès root requis | Oui | Oui | Non (installation utilisateur) |
| Vitesse de démarrage | Rapide | Plus lente | Rapide |
| Meilleur pour | Paquets système | Applications universelles | Applications de bureau |
À propos de ce guide
Ce guide se concentre sur APT (apt/apt-get/dpkg) - le système traditionnel de gestion des paquets d’Ubuntu. APT est essentiel pour gérer les paquets système, les bibliothèques et les services sur les systèmes Ubuntu et Debian.
Pour d’autres gestionnaires de paquets :
- 📦 Guide du gestionnaire de paquets Snap - Paquets universels avec mises à jour automatiques et sandboxing
- 📦 Guide du gestionnaire de paquets Flatpak - Applications de bureau multi-distribution avec permissions granulaires
Chaque gestionnaire de paquets a ses propres forces. Utilisez APT pour les paquets système et les dépendances, Snap pour la compatibilité entre versions et les mises à jour automatiques, et Flatpak pour les applications de bureau avec des permissions granulaires.
Gestion des paquets APT - Guide détaillé
Comprendre APT vs apt-get
APT (apt) - Choix moderne
Introduit avec Ubuntu 14.04, apt combine les fonctionnalités de apt-get et apt-cache avec une expérience utilisateur améliorée :
Avantages :
- Barres de progression et sortie colorée
- Commandes plus intuitives
- Sortie plus claire pour la lecture humaine
- Combine plusieurs fonctionnalités d’outils
Quand l’utiliser : Opérations interactives quotidiennes en ligne de commande
apt-get - Choix traditionnel
L’outil original de gestion des paquets, encore largement utilisé :
Avantages :
- API plus stable (meilleur pour les scripts)
- Compatibilité ascendante
- Format de sortie prévisible
- Contrôle plus fin
Quand l’utiliser : Scripts shell, automatisation, systèmes hérités
Conseil pro : Pour une navigation plus rapide dans le terminal et une efficacité accrue, consultez notre feuille de triche des raccourcis clavier d’Ubuntu pour améliorer votre productivité lors de la gestion des paquets.
Commandes essentielles de gestion des paquets
Mise à jour des listes de paquets
Mettez toujours à jour les listes de paquets avant d’installer ou de mettre à jour :
# Mettre à jour l'index des paquets
sudo apt update
# Ou avec apt-get
sudo apt-get update
Cette commande rafraîchit la base de données locale avec des informations sur les paquets disponibles et leurs versions depuis les dépôts configurés.
Installation de paquets
Installation basique :
# Installer un seul paquet
sudo apt install package-name
# Installer plusieurs paquets
sudo apt install package1 package2 package3
# Installer une version spécifique
sudo apt install package-name=version-number
Exemples :
# Installer le serveur web Nginx
sudo apt install nginx
# Installer Python et pip
sudo apt install python3 python3-pip
# Installer les outils de développement
sudo apt install build-essential
# Installer des outils de surveillance du système
sudo apt install htop
Pour des besoins de surveillance spécialisés, tels que le suivi des performances du GPU sur les systèmes avec des cartes NVIDIA, consultez notre guide sur les applications de surveillance du GPU sous Linux/Ubuntu.
Installer sans prompts (utile pour les scripts) :
sudo apt install -y package-name
# Ou
sudo DEBIAN_FRONTEND=noninteractive apt install -y package-name
Installer à partir d’un fichier .deb :
# Méthode 1 : En utilisant apt (recommandée, gère les dépendances)
sudo apt install ./package.deb
# Méthode 2 : En utilisant dpkg
sudo dpkg -i package.deb
sudo apt install -f # Corriger les dépendances manquantes
Note : Lorsque vous travaillez avec des fichiers .deb téléchargés, vous pouvez souhaiter utiliser un gestionnaire de fichiers avec un menu contextuel convivial. Consultez notre comparaison des gestionnaires de fichiers pour Ubuntu 24.04 (Nautilus vs Nemo vs Dolphin vs Caja) pour en trouver un qui convient à votre workflow.
Mise à jour des paquets
Mettre à jour les paquets installés :
# Mettre à jour tous les paquets (sécurisé, ne supprime pas les paquets)
sudo apt upgrade
# Mettre à jour un paquet spécifique
sudo apt install --only-upgrade package-name
# Mise à jour complète (peut supprimer des paquets pour résoudre les dépendances)
sudo apt full-upgrade
# Mise à jour de distribution (pour les mises à niveau de version majeure)
sudo apt dist-upgrade
Séquence de mise à jour complète :
# Procédure de mise à jour recommandée
sudo apt update
sudo apt upgrade -y
sudo apt autoremove
sudo apt autoclean
Mettre à jour la version d’Ubuntu :
# Pour la mise à niveau de LTS vers la prochaine LTS
sudo do-release-upgrade
# Pour toute mise à jour de version
sudo do-release-upgrade -d
Liste des paquets
Lister les paquets installés :
# Tous les paquets installés
apt list --installed
# Avec filtre grep
apt list --installed | grep package-name
# Compter les paquets installés
apt list --installed | wc -l
# En utilisant dpkg
dpkg -l
dpkg --list
dpkg -l | grep package-name
Lister les paquets mis à jour :
# Afficher les paquets avec des mises à jour disponibles
apt list --upgradable
# Simulation détaillée de mise à jour
apt list --upgradable -a
Lister tous les paquets disponibles :
# Tous les paquets dans les dépôts
apt list
# Liste depuis un dépôt spécifique
apt list | grep "source-name"
Recherche de paquets
Rechercher les noms et descriptions des paquets :
# Recherche avec apt
apt search keyword
# Recherche insensible à la casse
apt search -i keyword
# Afficher uniquement les noms de paquets
apt-cache search keyword
# Recherche uniquement les noms de paquets (plus rapide)
apt-cache search --names-only keyword
Exemples :
# Recherche d'éditeur
apt search text editor
# Recherche de base de données
apt search database
# Recherche de paquets Python
apt search python | grep python3
Afficher les informations sur les paquets
Informations détaillées sur les paquets :
# Afficher les détails du paquet
apt show package-name
# En utilisant apt-cache
apt-cache show package-name
# Afficher les dépendances du paquet
apt-cache depends package-name
# Afficher les dépendances inverses
apt-cache rdepends package-name
# Vérifier la politique et les versions du paquet
apt-cache policy package-name
# Afficher les statistiques du paquet
apt-cache stats
Vérifier si un paquet est installé :
# Méthode 1
dpkg -s package-name
# Méthode 2
dpkg -l package-name
# Méthode 3
apt list --installed package-name
# Méthode 4 (code de sortie 0 si installé)
dpkg-query -W package-name
Suppression de paquets
Supprimer des paquets :
# Supprimer un paquet (garder les fichiers de configuration)
sudo apt remove package-name
# Supprimer un paquet et les fichiers de configuration (purger)
sudo apt purge package-name
# Supprimer avec dépendances
sudo apt autoremove package-name
# Supprimer complètement le paquet et les configurations
sudo apt purge package-name && sudo apt autoremove
Nettoyer le système :
# Supprimer les dépendances inutilisées
sudo apt autoremove
# Supprimer avec purge
sudo apt autoremove --purge
# Supprimer les fichiers de paquet téléchargés
sudo apt clean
# Supprimer les anciennes versions des paquets
sudo apt autoclean
Vérifier l’utilisation du disque :
# Vérifier la taille du cache
du -sh /var/cache/apt/archives
# Vérifier la taille totale des paquets
dpkg-query -Wf '${Installed-Size}\t${Package}\n' | sort -n
Bloquer les paquets (empêcher les mises à jour)
Bloquer des paquets :
# Bloquer un paquet à la version actuelle
sudo apt-mark hold package-name
# Débloquer un paquet
sudo apt-mark unhold package-name
# Afficher les paquets bloqués
apt-mark showhold
# Bloquer plusieurs paquets
sudo apt-mark hold package1 package2 package3
Cas d’utilisation : Empêcher les versions spécifiques de logiciels de se mettre à jour automatiquement.
Utilisation de dpkg - Outil de gestion de paquets bas niveau
dpkg est le gestionnaire de paquets sous-jacent utilisé par APT :
Commandes de base de dpkg :
# Installer un paquet
sudo dpkg -i package.deb
# Supprimer un paquet
sudo dpkg -r package-name
# Purger un paquet
sudo dpkg -P package-name
# Lister les paquets installés
dpkg -l
# Lister les fichiers dans un paquet
dpkg -L package-name
# Trouver quel paquet possède un fichier
dpkg -S /path/to/file
# Vérifier l'état d'un paquet
dpkg -s package-name
# Réconfigurer un paquet
sudo dpkg-reconfigure package-name
# Vérifier l'intégrité d'un paquet
dpkg -V package-name
Corriger les paquets cassés :
# Réconfigurer les paquets cassés
sudo dpkg --configure -a
# Corriger les dépendances manquantes
sudo apt install -f
# Forcer le réinstallation
sudo apt install --reinstall package-name
Gestion des dépôts
Afficher les dépôts
Vérifier les dépôts configurés :
# Afficher la liste des sources
cat /etc/apt/sources.list
# Afficher les sources supplémentaires
ls /etc/apt/sources.list.d/
# Afficher tous les dépôts activés
grep -r --include '*.list' '^deb ' /etc/apt/
Ajouter des dépôts
Ajouter un PPA (Personal Package Archive) :
# Ajouter un dépôt PPA
sudo add-apt-repository ppa:user/ppa-name
sudo apt update
# Exemple : Ajouter le PPA Git
sudo add-apt-repository ppa:git-core/ppa
sudo apt update
sudo apt install git
Ajouter manuellement un dépôt :
# Ajouter un dépôt à sources.list
echo "deb http://repository-url distribution component" | sudo tee -a /etc/apt/sources.list.d/custom.list
# Ajouter une clé GPG
wget -qO - https://example.com/key.gpg | sudo apt-key add -
# Mettre à jour les listes de paquets
sudo apt update
Gestion moderne des clés (Ubuntu 22.04+) :
# Télécharger et ajouter la clé au keyring
wget -qO - https://example.com/key.gpg | sudo gpg --dearmor -o /etc/apt/keyrings/custom.gpg
# Ajouter un dépôt signé
echo "deb [signed-by=/etc/apt/keyrings/custom.gpg] http://repo-url dist component" | sudo tee /etc/apt/sources.list.d/custom.list
Supprimer des dépôts
# Supprimer un PPA
sudo add-apt-repository --remove ppa:user/ppa-name
# Ou supprimer le fichier de liste
sudo rm /etc/apt/sources.list.d/ppa-name.list
# Mettre à jour
sudo apt update
Gestionnaires de paquets alternatifs
Ubuntu prend également en charge Snap et Flatpak pour l’emballage d’applications universelles :
-
Snap : Consultez notre guide complet sur le gestionnaire de paquets Snap pour des informations détaillées sur l’installation, l’utilisation, les canaux, le confinement et la résolution des problèmes.
-
Flatpak : Consultez notre guide complet sur le gestionnaire de paquets Flatpak pour des informations détaillées sur l’installation, Flathub, les permissions, les runtimes et la gestion.
Gestion des paquets avancée
Simuler des opérations (test sans exécution)
# Simuler l'installation
apt install -s package-name
# Simuler la mise à jour
apt upgrade -s
# Afficher ce qui serait installé
apt-cache showpkg package-name
Télécharger des paquets sans les installer
# Télécharger uniquement le paquet
apt download package-name
# Télécharger avec les dépendances
apt install --download-only package-name
# Télécharger dans un répertoire spécifique
cd /path/to/dir
apt download package-name
Trouver les fichiers de paquets
# Quel paquet fournit un fichier
dpkg -S /path/to/file
# Rechercher des fichiers dans les paquets (y compris ceux non installés)
apt-file search filename
# Installer apt-file d'abord
sudo apt install apt-file
sudo apt-file update
Fixage de paquets
Créer /etc/apt/preferences pour contrôler les versions des paquets :
# Fixer un paquet à une version spécifique
sudo nano /etc/apt/preferences
Ajouter :
Package: package-name
Pin: version 1.2.3*
Pin-Priority: 1001
Vérifier les vulnérabilités des paquets
# Vérifier les mises à jour de sécurité
sudo apt list --upgradable | grep security
# Vérifier un paquet spécifique pour les CVE
apt-cache policy package-name
Dépannage des problèmes courants
Corriger les paquets cassés
# Méthode 1 : Corriger les dépendances
sudo apt install -f
# Méthode 2 : Réconfigurer les paquets
sudo dpkg --configure -a
# Méthode 3 : Nettoyer et mettre à jour
sudo apt clean
sudo apt update
sudo apt upgrade
# Méthode 4 : Corriger forcé
sudo apt --fix-broken install
Corriger l’erreur “base de données verrouillée”
# Supprimer les fichiers de verrouillage (seulement si aucun processus apt n'est en cours !)
sudo rm /var/lib/dpkg/lock-frontend
sudo rm /var/lib/dpkg/lock
sudo rm /var/cache/apt/archives/lock
sudo dpkg --configure -a
Vérifier d’abord les processus en cours :
ps aux | grep -i apt
sudo lsof /var/lib/dpkg/lock-frontend
Erreur de somme de hachage
# Nettoyer le cache et réessayer
sudo apt clean
sudo rm -rf /var/lib/apt/lists/*
sudo apt update
Erreurs GPG/clés
# Réajouter la clé
sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys KEY_ID
# Ou télécharger la clé
wget -qO - https://repo-url/key.gpg | sudo apt-key add -
# Approche moderne (Ubuntu 22.04+)
wget -qO - https://repo-url/key.gpg | sudo gpg --dearmor -o /etc/apt/keyrings/repo.gpg
Dépendances non satisfaites
# Essayer aptitude (meilleur résolveur de dépendances)
sudo apt install aptitude
sudo aptitude install package-name
# Ou résolution manuelle
sudo apt install package-name package-dependency
Dépôt non trouvé (404)
# Mettre à jour vers le dépôt correct
sudo nano /etc/apt/sources.list
# Changer le nom de version ancienne au nom actuel
# Ou supprimer le PPA obsolète
sudo add-apt-repository --remove ppa:name/ppa
Bonnes pratiques
Maintenance régulière
Routine hebdomadaire :
#!/bin/bash
# Script de mise à jour du système
echo "Mise à jour des listes de paquets..."
sudo apt update
echo "Mise à jour des paquets..."
sudo apt upgrade -y
echo "Suppression des paquets inutilisés..."
sudo apt autoremove -y
echo "Nettoyage du cache des paquets..."
sudo apt autoclean
echo "Mise à jour terminée !"
Mises à jour de sécurité
Mises à jour automatiques pour les correctifs de sécurité :
# Installer unattended-upgrades
sudo apt install unattended-upgrades
# Configurer
sudo dpkg-reconfigure unattended-upgrades
# Éditer la configuration
sudo nano /etc/apt/apt.conf.d/50unattended-upgrades
Configuration du serveur : Si vous gérez un serveur Ubuntu, une configuration réseau correcte est essentielle pour des téléchargements de paquets et des mises à jour système fiables. Apprenez comment changer une adresse IP statique sur Ubuntu Server pour assurer une connectivité stable pour vos opérations de gestion des paquets.
Sauvegarde de la liste des paquets
Exporter les paquets installés :
# Créer une sauvegarde
dpkg --get-selections > ~/package-list.txt
# Ou avec les paquets installés explicitement
apt-mark showmanual > ~/manually-installed.txt
# Restaurer sur un autre système
sudo dpkg --set-selections < ~/package-list.txt
sudo apt-get dselect-upgrade
Vérifier l’état du système
# Vérifier les dépendances cassées
sudo apt check
# Vérifier tous les paquets
sudo debsums -c
# Vérifier les journaux du système
journalctl -xe | grep -i apt
tail -f /var/log/apt/history.log
Optimisation des performances
Téléchargement plus rapide des paquets
Activer les téléchargements parallèles :
Modifier /etc/apt/apt.conf.d/99parallel :
echo 'Acquire::Queue-Mode "host";' | sudo tee /etc/apt/apt.conf.d/99parallel
echo 'Acquire::http::Pipeline-Depth "5";' | sudo tee -a /etc/apt/apt.conf.d/99parallel
Utiliser le miroir le plus rapide :
# Installer apt-fast
sudo add-apt-repository ppa:apt-fast/stable
sudo apt update
sudo apt install apt-fast
# Utiliser apt-fast à la place d'apt
sudo apt-fast install package-name
Réduire la taille du cache
# Limiter le cache à 100 Mo
echo 'APT::Archives::MaxSize "100";' | sudo tee /etc/apt/apt.conf.d/99max-cache
Scripts utiles de gestion des paquets
Mettre à jour tous les gestionnaires de paquets
#!/bin/bash
# Mettre à jour tous les gestionnaires de paquets
echo "=== Mise à jour APT ==="
sudo apt update && sudo apt upgrade -y
echo "=== Mise à jour Snap ==="
sudo snap refresh
echo "=== Mise à jour Flatpak ==="
flatpak update -y
echo "Tous les systèmes mis à jour !"
Trouver les paquets volumineux
# Liste des paquets installés les plus volumineux
dpkg-query -Wf '${Installed-Size}\t${Package}\n' | sort -nr | head -20
# Ou format plus lisible
dpkg-query -Wf '${Installed-Size}\t${Package}\n' | sort -nr | head -20 | awk '{printf "%.2f MB\t%s\n", $1/1024, $2}'
Audit des paquets
#!/bin/bash
# Audit du système de paquets
echo "=== Statistiques des paquets du système ==="
echo "Paquets installés : $(dpkg -l | grep ^ii | wc -l)"
echo "Paquets mis à jour : $(apt list --upgradable 2>/dev/null | grep -c upgradable)"
echo "Paquets bloqués : $(apt-mark showhold | wc -l)"
echo "Auto-removables : $(apt autoremove --dry-run | grep -Po '^\d+')"
echo "Taille du cache : $(du -sh /var/cache/apt/archives | cut -f1)"
Feuille de triche rapide
Commandes essentielles :
# Mise à jour & mise à jour
sudo apt update && sudo apt upgrade -y
# Installer un paquet
sudo apt install package-name
# Supprimer un paquet
sudo apt remove package-name
# Rechercher un paquet
apt search keyword
# Afficher les informations sur un paquet
apt show package-name
# Liste des paquets installés
apt list --installed
# Nettoyer le système
sudo apt autoremove && sudo apt autoclean
# Corriger les paquets cassés
sudo apt install -f && sudo dpkg --configure -a
Conclusion
Maîtriser le système de gestion des paquets d’Ubuntu est essentiel pour une administration système efficace. Que vous utilisiez la commande moderne apt pour les sessions interactives, apt-get pour le scripting, ou que vous exploriez les paquets universels avec Snap et Flatpak, comprendre ces outils vous aidera à maintenir un système Ubuntu sécurisé, à jour et bien organisé.
Commencez par les commandes de base, incorporez progressivement des techniques avancées, et assurez-vous toujours que votre système est à jour. Une maintenance régulière, combinée aux bonnes pratiques, garantit une expérience Ubuntu fluide et fiable.
Conseil pro : Exécutez toujours sudo apt update avant d’installer ou de mettre à jour des paquets pour vous assurer de travailler avec les dernières informations sur les paquets !
Liens utiles
- Documentation officielle d’Ubuntu
- Guide utilisateur APT
- Recherche de paquets Ubuntu
- Magasin Snap
- Dépôt Flathub
- Manuel de l’administrateur Debian
- Guide Ubuntu Server
- Pages de manuel :
man apt,man apt-get,man dpkg
Articles connexes sur ce site
- Comment installer Ubuntu 24.04 et les outils utiles
- Feuille de triche des raccourcis clavier d’Ubuntu
- Menu contextuel dans les gestionnaires de fichiers pour Ubuntu 24.04 - Nautilus vs Nemo vs Dolphin vs Caja
- Comment changer une adresse IP statique sur Ubuntu Server
- Applications de surveillance du GPU sous Linux / Ubuntu