Par défaut, DNF choisit automatiquement le dépôt le plus adapté selon le miroir, la priorité et les métadonnées. Cependant, il peut être utile de forcer l’utilisation d’un dépôt précis dans certains cas :
- Dépôt local ou privé
- Dépôt de test ou de développement
- Comparaison de versions ou débogage
Voici les méthodes pour spécifier un dépôt précis lors de l’installation ou de la mise à jour de paquets sous Fedora.
1. Lister les dépôts disponibles
Avant tout, identifiez le nom du dépôt que vous souhaitez cibler :
dnf repolist all
Cela affiche tous les dépôts activés ou désactivés, avec leur identifiant (repo id).
2. Utiliser l’option --enablerepo
Pour installer un paquet depuis un dépôt spécifique :
sudo dnf install --enablerepo=nom_du_depot nom_du_paquet
👉 Exemple :
sudo dnf install --enablerepo=updates-testing firefox
Cela active temporairement le dépôt updates-testing juste pour cette commande.
3. Utiliser --disablerepo=* pour désactiver tous les autres
Pour ne forcer qu’un seul dépôt, vous pouvez désactiver tous les autres et activer uniquement celui souhaité :
sudo dnf install --disablerepo='*' --enablerepo=mon_depot_local mon_paquet
Cela garantit que seul le dépôt mon_depot_local est utilisé pour cette commande.
4. Modifier temporairement la priorité (avancé)
Si vous avez le plugin dnf-plugins-core installé, vous pouvez définir une priorité par dépôt (plus le chiffre est bas, plus la priorité est haute) :
/etc/yum.repos.d/mon_depot.repo
[mon_depot]
priority=5
Installez le plugin si nécessaire :
sudo dnf install dnf-plugins-core
⚠️ L’usage de la priorité est avancé et peut modifier le comportement global du gestionnaire DNF. À utiliser avec précaution.
✅ En résumé
- Utilisez
--enablerepopour inclure un dépôt spécifique ponctuellement - Combinez avec
--disablerepo='*'pour forcer exclusivement un dépôt - Vérifiez toujours la provenance d’un paquet avec
dnf info
Cette approche est idéale pour tester des versions spécifiques, utiliser un dépôt interne ou restreindre les sources d’installation dans un environnement contrôlé.