Académique Documents
Professionnel Documents
Culture Documents
Introduction
DNF (Dandified Yum), est le nouveau gestionnaire de paquets pour les distributions basées
sur « RPM » (RPM Package Manager). Conçu de sorte à rester très proche de Yum à
l'usage, il n'en reste pas moins un tout nouvel outil nettement plus performant, doté de
fonctions de gestions et de résolutions des dépendances beaucoup plus avancées (librairie
libsolv + API Hawkey). Disponible depuis Fedora 18, DNF est le gestionnaire de paquet par
défaut depuis Fedora 22. Les gestionnaires de paquet ont toujours été une composante
primordiale des distributions Gnu\Linux, de sorte que cette nouvelle édition de yum permet
de poser des bases solides qui serviront à ancrer le futur de Fedora.
2Configuration de DNF
L'essentiel des options de configuration de DNF se font dans le fichier /etc/dnf/dnf.conf. Vous êtes
libre de les éditer manuellement (expert) ou d'utiliser le plugin config-manager.
L'ajout manuelle est désormais très peu utilisé. En tant qu'administrateur éditer ou créer un fichier nom-du-
dépôt.repo dans le répertoire /etc/yum.repos.d/ dont voici la structure :
[nom-du-depôt]
name=Le nom du dépôt $releasever - $basearch
baseurl=http://adresse-du-dépôt.com/fedora/$releasever/$basearch/
mirrorlist=http://adresse-du-miroire.com/fedora/$releasever/
enabled=1
gpgcheck=1
gpgkey=http://adresse-de-la-clés-gpg/RPM-GPG-KEY-nomdudépôt
ou encore:
2.2Les dépôts
2.3Les Extensions
2.3.1Config-manager
Dnf est installé avec un plugin de configuration avancée très performant : dnf config-manager, vous
permettant :
Ajouter un dépôt
Configurer un proxy
2.3.2Protected-packages
Contrairement à yum, dnf intègre de base le plugin Protected-packages, qui empêche la suppression de
certain paquet (de base exclusivement dnf). Si vous souhaitez ajouter un paquet à protéger vous devez
ajouter le nom du paquet au fichier /etc/dnf/protected.d/dnf.conf.
2.5.1Metalink
Metalink crée des listes de serveurs en fonction de la géolocalisation, on peut les retrouver
dans /var/cache/dnf/fedora-xxx/metalink.xml, /var/cache/dnf/updates-xxx/
metalink.xml, /var/cache/packagekit/ ... etc. Le procédé de téléchargement utilisé par metalink
est assez complexe puisqu'il va chercher, en utilisant divers protocoles (http, https, ftp, rsync), dans toutes
les sources les plus disponibles. Pour n'utiliser que les serveurs d'un pays donné (choix a priori le plus
rapide), il suffit d'ajouter "&country=fr" au lien metalink des dépôts listés dans /etc/yum.repos.d/ .
Pour ceux qui n'ont pas envie de tout éditer à la main :
# cp -r /etc/yum.repos.d /etc/yum.repos.d_backup
# cd /etc/yum.repos.d/
# sed -i '/^metalink/s/$/\&country=fr/' *.repo
Si pour une raison ou pour une autre vous souhaitez réutiliser les anciens dépôts avant modification :
# mv /etc/yum.repos.d_backup /etc/yum.repos.d
2.5.2Plugin fastestmirror
L'autre option est d'utiliser le plugin fastestmirror. Il crée une seule
liste /var/cache/dnf/fastestmirror.cache qui supplante les listes créées auparavant par
metalink. Pour l'activer, il suffit de modifier le fichier /etc/dnf/dnf.conf et d'ajouter la ligne
fastestmirror=true . Fastestmirror connaît quelques bugs, ce qui explique qu'il n'est pas activé par défaut.
3Utilisation de DNF
3.1Mises à jour
Je ne peux que vous conseiller de mettre à jour régulièrement votre système, les mises à jours vous
permettent d'améliorer la fiabilité et la sécurité de votre système, vous pouvez aisément le faire avec la
commande :
# dnf upgrade
ou
# dnf update
Si vous souhaitez uniquement savoir si des mises à jours sont disponible mais sans les installer :
# dnf check-update
3.2Rechercher un paquet
Pour rechercher un paquet à partir d'un mot clef :
Il s'agit d'une recherche large, en recoupant les informations contenues dans le nom des paquets ainsi que
dans leurs descriptions.
Si vous avez déjà une idée plus précise du paquet recherché, il est possible de restreindre la recherche au
seul nom du paquet :
Bien sûr, ceci n'est pas très pratique si l'on ne connaît pas très bien le nom du paquet.
Heureusement, DNF accepte le caractère joker * (étoile, ou wildcard en anglais). À noter que le caractère
joker fonctionne également avec d'autres commandes. Remarque : il est nécessaire d'« échapper » le joker
en plaçant le caractère \ devant celui-ci ou bien en sécurisant toute la chaîne de caractère avec des
guillemets. Exemple :
# dnf list kernel\*
ou
DNF vous listera les paquets correspondants à votre recherche installés et ceux que vous pouvez installer.
3.4Installer un paquet
Pour installer un paquet :
3.5Supprimer un paquet
Pour supprimer un paquet :
ou
Paquet protégé
Contrairement à yum, dnf intègre de base le plugin Protected-packages, qui empêche la suppression
de certain paquet (de base exclusivement dnf). Si vous souhaitez protéger un paquet vous devez
ajouter le nom du paquet au fichier /etc/dnf/protected.d/dnf.conf.
3.6Utilisation des groupes
DNF peut de plus gérer des groupes de RPMs, pour faciliter l'installation d'ensembles complexes, comme
par exemple les environnements graphiques.
Pour connaitre la liste des groupes disponibles :
# dnf grouplist
Pour avoir des informations sur un groupe, comme les paquets qui le composent :
3.7Utilisation de l'historique
Pour l'historique les transactions dans l'historique :
# dnf history
La liste donne quelques informations importantes, dont l'identifiant (ID) des transactions. Cet ID est utilisé
dans les autres commandes.
Vous avez également la possibilités d'annuler toutes les transactions et revenir à un état précis :
Ceci est un exemple avec dnf upgrade mais l'option --disablerepo fonctionne bien entendu avec toutes
les options de dnf (list, install, search etc).
3.11.1L'option nogpgcheck
Attention !
L'option nogpgcheck de DNF est à utiliser avec beaucoup de parcimonie ! La très grande majorité du
temps, elle ne vous servira à rien.
N'ayez recours à cette option que si vous savez réellement ce que vous faites, et si vous en connaissez les
implications
Par défaut, dnf vérifie l'intégrité des paquets qu'il installe en utilisant la clé GPG du dépôt. Cette vérification
permet de confirmer que le paquet n'a pas été altéré depuis sa mise en ligne, volontairement (piratage) ou
non (problème de téléchargement). Si cette vérification échoue, il ne faut surtout pas installer le paquet
incriminé.
Il arrive cependant que l'on se retrouve avec un paquet RPM non signé à installer (ce ne doit pas être le
cas depuis un dépôt DNF !), le plus souvent avec l'option localinstall de DNF. Lorsque qu'une telle chose
arrive, il est possible d'utiliser l'option nogpgcheck de dnf :
Attention !
Cette option s'applique à tous les paquets qui seront installés !
Veillez donc lors de son utilisation à ne pas installer les dépendances qui seraient récupérées depuis vos
dépôts avec l'option nogpgcheck activée !
3.11.2L'option provides
Plus qu'une option provides est une fonction avancée d'identification d'un paquet ou d'un fichier. Ainsi vous
pouvez utiliser cette option pour obtenir l'appartenance d'un fichier à un paquet ou encore pour savoir quel
est le paquet qui fournis un fichier manquant. Cette option est utilisée à des fins de debugage lors de
l'installation de programme provenant d'une autre distribution ou nécessitant une installation manuelle. Pour
connaitre le paquet de provenance :
3.11.3L'option clean
Effacer le cache de dnf :
Effacer tout les caches, les métadata et les fichiers inutiles de dnf :
3.11.4L'option hidden
Dans certain cas bien spécifique vous pourrez avoir besoin de combiner certain sous groupe de paquet
sans avoir besoin d'installer le groupe au complet. Ainsi vous pouvez accéder à la liste de ces sous
groupes avec l'option hidden :
N'ayez recours à cette option que si vous savez réellement ce que vous faites, et si vous en connaissez les
implications
3.11.5L'option reinstall
Si vous avez besoin de reinstaller un programme rapidement vous pouvez utiliser l'option reinstall :
Pour obtenir la liste des paquets installés mais ne provenant pas des dépôts (installation manuelle) :
Attention !
Si vous avez effectué une mise à jour majeure (installation de kernel, mise à jour de dnf...) mais que
vous n'avez pas effectué de redémarrage il est recommandé de procéder à un redémarrage avant de
lancer la procédure de mise à niveau.
Un article a spécialement été rédigé concernant cette opération de mise à niveau afin de rassembler toutes
les possibilités au même endroit. Vous pouvez consulter la section dédiée à DNF à ce
lien Mise_à_niveau_de_Fedora#Avec_DNF.
Une fois l'opération effectuée l'ordinateur démarrera sur la nouvelle version de Fedora.
Conclusion
DNF simplifie la gestion de votre ordinateur en vous permettant d'aisément ajouter un
programme ou de facilement le supprimer. Avec DNF vous disposez toujours des dernières
versions de vos programmes car celui-ci interroge les dépôts à chaque opération. Optimisé pour
les architectures modernes et construit selon des standard moderne ; DNF deviendra
certainement une référence et sera étendu à d'autres distributions (rpm).
Si vous n’êtes pas encore à l'aise avec l'utilisation de DNF, vous pouvez utiliser l'interface
graphique gnome-software, renommée en français Logiciels, celle-ci vous fournis l'essentiel
des fonctions. Mais savoir utiliser un gestionnaire de paquet en ligne de commande n'est pas très
compliqué et n'est absolument pas une connaissance superflue.