🐧 Gestionnaires de Paquets Linux#
Guide complet des principaux gestionnaires de paquets Linux avec toutes les commandes essentielles.
📦 DPKG (Debian Package Manager)#
Installation de Paquets#
1
2
3
4
5
6
7
8
9
10
11
| # Installer un paquet .deb local
sudo dpkg -i package.deb
# Installer plusieurs paquets
sudo dpkg -i *.deb
# Installation forcée (ignorer les dépendances)
sudo dpkg -i --force-depends package.deb
# Installation avec gestion des conflits
sudo dpkg -i --force-conflicts package.deb
|
Suppression de Paquets#
1
2
3
4
5
6
7
8
9
| # Supprimer un paquet (garde les fichiers de config)
sudo dpkg -r package_name
# Supprimer complètement (avec fichiers de config)
sudo dpkg -P package_name
sudo dpkg --purge package_name
# Supprimer plusieurs paquets
sudo dpkg -r package1 package2 package3
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
| # Lister tous les paquets installés
dpkg -l
dpkg --list
# Rechercher un paquet spécifique
dpkg -l | grep package_name
# Afficher les détails d'un paquet
dpkg -s package_name
dpkg --status package_name
# Lister les fichiers d'un paquet installé
dpkg -L package_name
dpkg --listfiles package_name
# Trouver quel paquet contient un fichier
dpkg -S /path/to/file
dpkg --search /path/to/file
|
Vérification et Réparation#
1
2
3
4
5
6
7
8
9
10
11
| # Vérifier l'intégrité des paquets
sudo dpkg --verify package_name
# Vérifier tous les paquets
sudo dpkg -V
# Configurer les paquets non configurés
sudo dpkg --configure -a
# Réparer les dépendances cassées
sudo dpkg --configure -a && sudo apt-get -f install
|
1
2
3
4
5
6
7
8
9
10
11
12
13
| # Afficher les infos d'un fichier .deb
dpkg -I package.deb
dpkg --info package.deb
# Lister le contenu d'un fichier .deb
dpkg -c package.deb
dpkg --contents package.deb
# Extraire un fichier .deb
dpkg -x package.deb /destination/path
# Extraire avec structure de contrôle
dpkg -X package.deb /destination/path
|
Gestion des Sources#
1
2
3
4
5
6
7
8
9
10
11
12
| # Mettre à jour la liste des paquets
sudo apt update
# Mettre à jour le système
sudo apt upgrade
# Mise à jour complète du système
sudo apt full-upgrade
sudo apt dist-upgrade
# Éditer les sources
sudo nano /etc/apt/sources.list
|
Installation de Paquets#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
| # Installer un 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
# Installer sans confirmation
sudo apt install -y package_name
# Installer avec recommandations
sudo apt install --install-recommends package_name
# Installer sans recommandations
sudo apt install --no-install-recommends package_name
# Réinstaller un paquet
sudo apt install --reinstall package_name
|
Suppression de Paquets#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
| # Supprimer un paquet
sudo apt remove package_name
# Supprimer avec fichiers de configuration
sudo apt purge package_name
# Supprimer les dépendances orphelines
sudo apt autoremove
# Supprimer avec autoremove
sudo apt remove --autoremove package_name
# Nettoyer le cache
sudo apt autoclean
sudo apt clean
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
| # Rechercher un paquet
apt search keyword
apt-cache search keyword
# Afficher les informations d'un paquet
apt show package_name
apt-cache show package_name
# Lister les paquets installés
apt list --installed
# Lister les paquets disponibles
apt list --available
# Lister les mises à jour disponibles
apt list --upgradable
# Voir les dépendances
apt-cache depends package_name
# Voir les dépendances inverses
apt-cache rdepends package_name
|
Gestion des Verrous et Priorités#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
| # Verrouiller un paquet
sudo apt-mark hold package_name
# Déverrouiller un paquet
sudo apt-mark unhold package_name
# Voir les paquets verrouillés
apt-mark showhold
# Marquer comme installé automatiquement
sudo apt-mark auto package_name
# Marquer comme installé manuellement
sudo apt-mark manual package_name
|
APT avancé#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
| # Télécharger sans installer
apt download package_name
# Simulation d'installation
apt install -s package_name
# Installation avec recommandations minimales
sudo apt install --no-install-suggests package_name
# Forcer l'installation
sudo apt install -f
# Installer depuis un fichier .deb local
sudo apt install ./package.deb
|
🔴 RPM (RPM Package Manager)#
Installation de Paquets#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
| # Installer un paquet RPM
sudo rpm -i package.rpm
sudo rpm --install package.rpm
# Installer avec verbose
sudo rpm -ivh package.rpm
# Installer en forçant
sudo rpm -i --force package.rpm
# Installer sans vérifier les dépendances
sudo rpm -i --nodeps package.rpm
# Mettre à jour un paquet
sudo rpm -U package.rpm
sudo rpm --upgrade package.rpm
# Mettre à jour seulement si déjà installé
sudo rpm -F package.rpm
sudo rpm --freshen package.rpm
|
Suppression de Paquets#
1
2
3
4
5
6
7
8
9
| # Supprimer un paquet
sudo rpm -e package_name
sudo rpm --erase package_name
# Supprimer sans vérifier les dépendances
sudo rpm -e --nodeps package_name
# Supprimer avec verbose
sudo rpm -evh package_name
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
| # Lister tous les paquets installés
rpm -qa
rpm --query --all
# Rechercher un paquet installé
rpm -q package_name
rpm -qa | grep pattern
# Informations détaillées sur un paquet
rpm -qi package_name
rpm --query --info package_name
# Lister les fichiers d'un paquet
rpm -ql package_name
rpm --query --list package_name
# Trouver quel paquet possède un fichier
rpm -qf /path/to/file
rpm --query --file /path/to/file
# Voir les dépendances d'un paquet
rpm -qR package_name
rpm --query --requires package_name
# Voir les paquets qui dépendent de ce paquet
rpm -q --whatrequires package_name
|
Vérification et Intégrité#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
| # Vérifier un paquet installé
rpm -V package_name
rpm --verify package_name
# Vérifier tous les paquets
rpm -Va
# Vérifier un fichier RPM avant installation
rpm -K package.rpm
rpm --checksig package.rpm
# Informations sur un fichier RPM
rpm -qip package.rpm
# Lister le contenu d'un fichier RPM
rpm -qlp package.rpm
|
RPM Database#
1
2
3
4
5
6
7
8
9
10
11
| # Reconstruire la base de données RPM
sudo rpm --rebuilddb
# Initialiser la base de données
sudo rpm --initdb
# Importer une clé GPG
sudo rpm --import /path/to/key
# Lister les clés GPG
rpm -q gpg-pubkey --qf '%{name}-%{version}-%{release} --> %{summary}\n'
|
⚡ DNF (Dandified YUM)#
Gestion des Dépôts#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
| # Mettre à jour les métadonnées des dépôts
sudo dnf update
# Mettre à jour le système complet
sudo dnf upgrade
# Lister les dépôts
dnf repolist
dnf repolist all
# Activer un dépôt
sudo dnf config-manager --enable repository_name
# Désactiver un dépôt
sudo dnf config-manager --disable repository_name
# Ajouter un dépôt
sudo dnf config-manager --add-repo http://repo.url
|
Installation de Paquets#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
| # Installer un paquet
sudo dnf install package_name
# Installer plusieurs paquets
sudo dnf install package1 package2
# Installer un groupe de paquets
sudo dnf group install "Group Name"
sudo dnf groupinstall "Group Name"
# Installer depuis un fichier RPM local
sudo dnf install ./package.rpm
# Installer sans confirmation
sudo dnf install -y package_name
# Réinstaller un paquet
sudo dnf reinstall package_name
# Downgrader un paquet
sudo dnf downgrade package_name
|
Suppression de Paquets#
1
2
3
4
5
6
7
8
9
10
11
12
13
| # Supprimer un paquet
sudo dnf remove package_name
# Supprimer avec dépendances orphelines
sudo dnf autoremove
# Supprimer un groupe
sudo dnf group remove "Group Name"
# Nettoyer le cache
sudo dnf clean all
sudo dnf clean packages
sudo dnf clean metadata
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
| # Rechercher un paquet
dnf search keyword
# Afficher les informations d'un paquet
dnf info package_name
# Lister les paquets installés
dnf list installed
# Lister les paquets disponibles
dnf list available
# Lister les mises à jour disponibles
dnf list updates
# Voir l'historique des transactions
dnf history
# Annuler une transaction
sudo dnf history undo transaction_id
# Voir les dépendances
dnf deplist package_name
# Voir qui fournit un fichier
dnf provides /path/to/file
dnf whatprovides /path/to/file
|
Gestion des Groupes#
1
2
3
4
5
6
7
8
9
10
11
12
13
| # Lister les groupes disponibles
dnf group list
dnf grouplist
# Informations sur un groupe
dnf group info "Group Name"
dnf groupinfo "Group Name"
# Installer un groupe
sudo dnf group install "Development Tools"
# Supprimer un groupe
sudo dnf group remove "Group Name"
|
DNF Avancé#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
| # Télécharger sans installer
dnf download package_name
# Vérifier les mises à jour disponibles
dnf check-update
# Marquer un paquet pour ne pas le mettre à jour
sudo dnf versionlock add package_name
# Voir les paquets verrouillés
dnf versionlock list
# Déverrouiller un paquet
sudo dnf versionlock delete package_name
# Simulation d'opération
dnf install --assumeno package_name
|
🏔️ APK (Alpine Package Keeper)#
Gestion des Dépôts#
1
2
3
4
5
6
7
8
| # Mettre à jour l'index des paquets
apk update
# Lister les dépôts
cat /etc/apk/repositories
# Ajouter un dépôt
echo "http://dl-cdn.alpinelinux.org/alpine/v3.18/main" >> /etc/apk/repositories
|
Installation de Paquets#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
| # Installer un paquet
apk add package_name
# Installer plusieurs paquets
apk add package1 package2
# Installer et mettre à jour l'index
apk update && apk add package_name
# Installer depuis un fichier .apk local
apk add --allow-untrusted package.apk
# Installer sans cache
apk add --no-cache package_name
# Installer version spécifique
apk add package_name=version
# Installation avec dépendances virtuelles
apk add --virtual .build-deps gcc musl-dev
|
Suppression de Paquets#
1
2
3
4
5
6
7
8
9
10
11
| # Supprimer un paquet
apk del package_name
# Supprimer des dépendances virtuelles
apk del .build-deps
# Nettoyer le cache
apk cache clean
# Supprimer le cache complètement
rm -rf /var/cache/apk/*
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
| # Rechercher un paquet
apk search package_name
apk search -v package_name # verbose
# Rechercher avec expression régulière
apk search -x 'package.*'
# Informations sur un paquet
apk info package_name
# Informations détaillées
apk info -d package_name
# Lister les paquets installés
apk list --installed
apk info
# Lister tous les paquets disponibles
apk list --available
# Voir les dépendances
apk info -R package_name
# Voir les dépendances inverses
apk info -r package_name
# Lister les fichiers d'un paquet
apk info -L package_name
# Trouver quel paquet contient un fichier
apk info --who-owns /path/to/file
|
Mise à jour du Système#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
| # Mettre à jour tous les paquets
apk upgrade
# Mettre à jour avec mise à jour de l'index
apk update && apk upgrade
# Simulation de mise à jour
apk upgrade -s
# Mise à jour disponible
apk version
# Mise à jour avec cache
apk cache download
apk upgrade --update-cache
|
Gestion Avancée APK#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
| # Vérifier l'intégrité des paquets
apk verify
# Fixer les paquets cassés
apk fix
# Auditer le système
apk audit
# Voir les statistiques
apk stats
# Mode verbose pour debugging
apk -v add package_name
# Forcer l'installation
apk add --force package_name
# Installation avec priorité
apk add --repository http://repo.url package_name
|
🔄 Comparaison des Commandes#
| Action | DPKG | APT | RPM | DNF | APK |
|---|
| Installer | dpkg -i pkg.deb | apt install pkg | rpm -i pkg.rpm | dnf install pkg | apk add pkg |
| Supprimer | dpkg -r pkg | apt remove pkg | rpm -e pkg | dnf remove pkg | apk del pkg |
| Mettre à jour | N/A | apt update && apt upgrade | N/A | dnf upgrade | apk update && apk upgrade |
| Rechercher | dpkg -l | grep | apt search | rpm -qa | grep | dnf search | apk search |
| Info paquet | dpkg -s pkg | apt show pkg | rpm -qi pkg | dnf info pkg | apk info pkg |
| Lister fichiers | dpkg -L pkg | N/A | rpm -ql pkg | dnf repoquery -l pkg | apk info -L pkg |
| Propriétaire fichier | dpkg -S file | apt-file search file | rpm -qf file | dnf provides file | apk info --who-owns file |
🛠️ Conseils et Bonnes Pratiques#
Sécurité#
- Toujours vérifier les signatures GPG des paquets
- Utiliser uniquement des dépôts officiels ou de confiance
- Faire des sauvegardes avant les mises à jour majeures
- Vérifier l’intégrité des paquets après installation
- Nettoyer régulièrement les caches des gestionnaires de paquets
- Utiliser
--no-cache avec APK pour les conteneurs - Configurer des mirrors locaux pour de meilleures performances
Debugging#
- Utiliser les options
-v ou --verbose pour plus d’informations - Consulter les logs dans
/var/log/ - Utiliser les options de simulation avant les vraies opérations
Automatisation#
- Utiliser les options
-y ou --assume-yes pour l’automatisation - Créer des scripts de déploiement avec gestion d’erreurs
- Utiliser les verrous de paquets pour maintenir des versions spécifiques
📚 Ressources Utiles#
💡 Astuce : Créez des alias pour vos commandes les plus utilisées dans votre .bashrc ou .zshrc !