Gestion des paquets Linux avec dnf

L’installation d’une application sur un système informatique est assez simple. Vous copiez les fichiers d’une archive (comme un fichier .zip) sur l’ordinateur cible à un endroit où le système d’exploitation s’attend à ce qu’il y ait des applications. Parce que beaucoup d’entre nous sont habitués à avoir des “assistants” d’installation sophistiqués pour nous aider à installer des logiciels sur nos ordinateurs, le processus semble être techniquement plus complexe qu’il ne l’est.
Quoi est complexe, cependant, est la question de ce qui constitue une demande. Ce que les utilisateurs considèrent comme une application unique contient en fait du code emprunté à des bibliothèques logicielles (c’est-à-dire, .so
fichiers sous Linux, .dll
fichiers sous Windows, et .dylib
sur macOS) dispersés dans un système d’exploitation.
Pour que les utilisateurs n’aient pas à se soucier de cette véritable matrice de code interdépendant, Linux utilise un système de gestion de colis pour suivre quelle application a besoin de quelle bibliothèque, et quelle bibliothèque ou application a des mises à jour de sécurité ou de fonctionnalités, et quels fichiers de données supplémentaires ont été installés avec chaque titre de logiciel. Un gestionnaire de packages est essentiellement un assistant d’installation. Ils sont faciles à utiliser, ils fournissent à la fois des interfaces graphiques et des interfaces basées sur des terminaux, et ils vous facilitent la vie. Mieux vous connaissez le gestionnaire de paquets de votre distribution, plus votre vie devient facile.
Contents
Installation d’applications sous Linux
Si vous êtes un utilisateur de bureau occasionnel qui souhaite installer une application sur Linux, vous recherchez peut-être Logiciel GNOME, un navigateur d’applications de bureau.
Cela fonctionne comme prévu : vous cliquez sur son interface jusqu’à ce que vous trouviez une application qui vous semble utile, puis vous cliquez sur le bouton Installer bouton.
Alternativement, vous pouvez ouvrir .rpm
ou alors .flatpakref
packages téléchargés à partir du Web dans le logiciel GNOME pour qu’il les installe pour vous.
Si vous êtes enclin à contrôler votre ordinateur avec des commandes tapées, lisez la suite !
Trouver un logiciel avec dnf
Avant de pouvoir installer une application, vous devrez peut-être confirmer qu’elle existe sur les serveurs de votre distribution. Habituellement, la recherche du nom commun d’une application avec dnf
suffit. Par exemple, disons que vous avez récemment lu un article sur Cockpit et que vous décidez de l’essayer. Vous pouvez rechercher cockpit
pour vérifier que votre distribution l’inclut :
$ dnf search cockpit
Last metadata expiration check: 0:01:46 ago on Tue 18 May 2021 19:18:15 NZST.
==== Name Exactly Matched: cockpit ====
cockpit.x86_64 : Web Console for Linux servers==== Name & Summary Matched: cockpit ==
cockpit-bridge.x86_64 : Cockpit bridge server-side component
cockpit-composer.noarch : Composer GUI for use with Cockpit
[...]
Il y a une correspondance exacte. Le package répertorié comme correspondance est appelé cockpit.x86_64
, mais le .x86_64
une partie du nom ne désigne que l’architecture du processeur avec laquelle il est compatible. Par défaut, votre système installe des packages avec des architectures de CPU correspondantes, vous pouvez donc ignorer cette extension. Par conséquent, vous avez confirmé que le package que vous recherchez s’appelle bien simplement cockpit
.
Vous pouvez maintenant l’installer en toute confiance avec dnf install
. Cette étape nécessite des privilèges d’administrateur :
$ sudo dnf install cockpit
Le plus souvent, c’est le cas typique dnf
workflow : rechercher et installer.
Parfois, cependant, les résultats de dnf search
ne sont pas clairs pour vous, ou vous voulez plus d’informations sur un package que son nom commun. Il y a quelques pertinents dnf
sous-commandes, selon les informations que vous recherchez.
Si vous sentez que votre recherche vous a Fermer au package que vous souhaitez, mais vous n’êtes pas encore sûr, il est souvent utile de jeter un œil aux métadonnées du package, telles que l’URL et la description du projet. Pour obtenir ces informations, utilisez la fonction agréablement intuitive dnf info
commander:
$ dnf info terminator
Available Packages
Name : terminator
Version : 1.92
Release : 2.el8
Architecture : noarch
Size : 526 k
Source : terminator-1.92-2.el8.src.rpm
Repository : epel
Summary : Store and run multiple GNOME terminals in one window
URL : https://github.com/gnome-terminator
License : GPLv2
Description : Multiple GNOME terminals in one window. This is a project to produce
: an efficient way of filling a large area of screen space with
: terminals. This is done by splitting the window into a resizeable
: grid of terminals. As such, you can produce a very flexible
: arrangements of terminals for different tasks.
Ce vidage d’informations vous indique la version du package disponible, quel référentiel enregistré avec votre système le fournit, le site Web du projet et une longue description de ce qu’il fait.
Quel package fournit un fichier ?
Les noms de packages ne correspondent pas toujours à ce que vous recherchez. Par exemple, supposons que vous lisiez une documentation vous indiquant que vous devez installer quelque chose appelé qmake-qt5
:
$ dnf search qmake-qt5
No matches found.
le dnf
la base de données est vaste, vous n’avez donc pas à vous limiter à des recherches de correspondances exactes. Vous pouvez utiliser le dnf provides
commande pour savoir si quelque chose fournit ce que vous recherchez dans le cadre d’un package plus vaste :
$ dnf provides qmake-qt5
qt5-qtbase-devel-5.12.5-8.el8.i686 : Development files for qt5-qtbase
Repo : appstream
Matched from:
Filename : /usr/bin/qmake-qt5qt5-qtbase-devel-5.15.2-3.el8.x86_64 : Development files for qt5-qtbase
Repo : appstream
Matched from:
Filename : /usr/bin/qmake-qt5
Cela confirme que l’application qmake-qt5
fait partie d’un package nommé qt5-qtbase-devel
. Il vous indique également que l’application est installée sur /usr/bin
, vous savez donc exactement où le trouver une fois installé.
Quels fichiers sont inclus dans un package ?
Il y a des moments où je me retrouve à approcher dnf
sous un tout autre angle. Parfois, j’ai déjà confirmé qu’une application est installée sur mon système ; Je n’arrive pas à comprendre comment je l’ai eu. D’autres fois, je sais qu’un package spécifique est installé, mais je ne sais pas exactement ce que ce package a mis sur mon système.
Si jamais vous avez besoin de « reverse engineering » de la charge utile d’un package, vous pouvez utiliser le dnf repoquery
commande avec le --list
option. Cela examine les métadonnées du dépôt sur un package et renvoie une liste de tous les fichiers fournis par ce package :
$ dnf repoquery --list qt5-qtbase-devel
/usr/bin/fixqt4headers.pl
/usr/bin/moc-qt5
/usr/bin/qdbuscpp2xml-qt5
/usr/bin/qdbusxml2cpp-qt5
/usr/bin/qlalr
/usr/bin/qmake-qt5
/usr/bin/qvkgen
/usr/bin/rcc-qt5
[...]
Ces listes peuvent devenir longues, il est donc utile de transmettre la commande à travers less
ou votre téléavertisseur préféré.
Supprimer une application
Si vous décidez que vous n’avez plus besoin d’une application installée sur votre système, vous pouvez utiliser dnf remove
pour le désinstaller, tous les fichiers qui ont été installés dans le cadre de son package et toutes les dépendances qui ne sont plus nécessaires :
$ dnf remove bigapp
Parfois, les dépendances sont installées avec une application et sont ensuite trouvées utiles par une autre application que vous installez. Dans le cas où deux packages nécessitent la même dépendance, dnf remove
Est-ce que ne pas supprimer la dépendance. Il n’est pas rare de se retrouver avec un paquet égaré ici et là après avoir installé et désinstallé de nombreuses applications. Environ une fois par an, j’effectue une dnf autoremove
pour effacer tous les paquets inutilisés :
$ dnf autoremove
Ce n’est pas nécessaire, mais c’est une étape de nettoyage qui me permet de me sentir mieux avec mon ordinateur.
Apprendre à connaître dnf
Plus vous en savez sur le fonctionnement de votre gestionnaire de packages, plus il vous est facile d’installer et d’interroger des applications si nécessaire. Même si vous n’êtes pas un habitué dnf
utilisateur, il peut être utile de le savoir lorsque vous vous retrouvez en interface avec une distribution basée sur RPM.
Diplômé de yum
, l’un de mes gestionnaires de paquets préférés est le dnf
commander. Bien que je n’aime pas toutes ses sous-commandes, je trouve que c’est l’un des systèmes de gestion de paquets les plus robustes. Téléchargez notre dnf
aide-mémoire pour vous habituer à la commande et n’ayez pas peur d’essayer de nouvelles astuces avec. Une fois que vous vous y serez familiarisé, vous aurez peut-être du mal à utiliser autre chose.