Chapitre 10.2 - yum/dnf (Red Hat/CentOS)
Objectifs d'Apprentissage
À la fin de ce chapitre, vous serez capable de:
- Utiliser yum et dnf pour installer des paquets
- Mettre à jour le système
- Gérer les repositories
- Comprendre les groupes de paquets
- Utiliser les transactions
yum vs dnf
yum (Classique)
Yellowdog Updater Modified:
- Red Hat/CentOS 7 et antérieurs
- Toujours disponible
- Interface classique
dnf (Moderne)
Dandified YUM:
- Red Hat/CentOS 8+ et Fedora
- Successeur de yum
- Plus rapide et moderne
- Même syntaxe que yum
Note: yum est souvent un alias vers dnf sur systèmes récents.
Commandes de Base
Mise à Jour
# Mettre à jour liste paquets
sudo yum check-update
sudo dnf check-update
# Mettre à jour paquets
sudo yum update
sudo dnf upgrade
# Mettre à jour paquet spécifique
sudo yum update nom-paquet
sudo dnf upgrade nom-paquet
Installation
# Installer paquet
sudo yum install nom-paquet
sudo dnf install nom-paquet
# Installer plusieurs paquets
sudo yum install paquet1 paquet2 paquet3
# Installer sans confirmation
sudo yum install -y nom-paquet
# Installer depuis fichier .rpm
sudo yum localinstall fichier.rpm
Suppression
# Supprimer paquet
sudo yum remove nom-paquet
sudo dnf remove nom-paquet
# Supprimer paquet et dépendances
sudo yum autoremove nom-paquet
# Nettoyer cache
sudo yum clean all
sudo dnf clean all
Recherche et Information
Rechercher
# Rechercher paquet
yum search mot-cle
dnf search mot-cle
# Rechercher par nom
yum list nom-paquet
dnf list nom-paquet
# Informations paquet
yum info nom-paquet
dnf info nom-paquet
# Liste paquets installés
yum list installed
dnf list installed
# Liste paquets disponibles
yum list available
dnf list available
Informations
# Informations détaillées
yum info nom-paquet
# Dépendances
yum deplist nom-paquet
dnf repoquery --deplist nom-paquet
# Contenu paquet
rpm -ql nom-paquet
Repositories
Voir les Repositories
# Liste repositories activés
yum repolist
dnf repolist
# Tous les repositories
yum repolist all
dnf repolist all
# Informations repository
yum repoinfo nom-repo
dnf repoinfo nom-repo
Ajouter Repository
# Installer repository RPM
sudo yum install epel-release
sudo dnf install epel-release
# Ajouter repository manuellement
# Créer fichier: /etc/yum.repos.d/mon-repo.repo
[mon-repo]
name=Mon Repository
baseurl=http://repo.example.com/rhel/$releasever/$basearch/
enabled=1
gpgcheck=1
gpgkey=http://repo.example.com/RPM-GPG-KEY
# Recharger
sudo yum makecache
sudo dnf makecache
EPEL (Extra Packages)
# Installer EPEL
sudo yum install epel-release
sudo dnf install epel-release
# Vérifier
yum repolist | grep epel
Groupes de Paquets
Gestion des Groupes
# Liste groupes disponibles
yum grouplist
dnf group list
# Informations groupe
yum groupinfo "Development Tools"
dnf group info "Development Tools"
# Installer groupe
sudo yum groupinstall "Development Tools"
sudo dnf group install "Development Tools"
# Supprimer groupe
sudo yum groupremove "Development Tools"
Transactions et Historique
Historique
# Voir historique
yum history
dnf history
# Voir transaction spécifique
yum history info 5
dnf history info 5
# Annuler transaction
sudo yum history undo 5
sudo dnf history undo 5
# Répéter transaction
sudo yum history redo 5
Exemples Pratiques
Installation Complète
# Mettre à jour
sudo yum check-update
# Installer paquet
sudo yum install httpd
# Démarrer service
sudo systemctl start httpd
sudo systemctl enable httpd
# Vérifier
systemctl status httpd
Mise à Jour Système
#!/bin/bash
# Script de mise à jour
echo "Vérification mises à jour..."
sudo yum check-update
echo "Mise à jour paquets..."
sudo yum update -y
echo "Nettoyage..."
sudo yum clean all
echo "Terminé!"
Résolution de Problèmes
Dépendances
# Résoudre dépendances
sudo yum deplist nom-paquet
# Forcer installation
sudo rpm -ivh --nodeps paquet.rpm # Attention!
Cache
# Nettoyer cache
sudo yum clean all
sudo yum clean metadata
sudo yum clean packages
# Reconstruire cache
sudo yum makecache
Résumé
Dans ce chapitre, vous avez appris:
yum/dnf: Gestionnaires paquets Red Hat/CentOS/Fedora
Commandes: install, update, remove, search, info
Repositories: repolist, epel-release, fichiers .repo
Groupes: grouplist, groupinstall
Historique: history, undo, redo
Pratique: Installation, mise à jour, maintenance
Prochaines Étapes
Chapitre 10.3: Compilation depuis Sources
Module 11: Monitoring et Logs
Chapitre créé le: Décembre 2024