GNU/Linux >> Tutoriels Linux >  >> Linux

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.

Plus de ressources Linux

  • Aide-mémoire des commandes Linux
  • Aide-mémoire des commandes Linux avancées
  • Cours en ligne gratuit :Présentation technique de RHEL
  • Aide-mémoire sur le réseau Linux
  • Aide-mémoire SELinux
  • Aide-mémoire sur les commandes courantes de Linux
  • Que sont les conteneurs Linux ?
  • Nos derniers articles Linux

Qu'est-ce qu'est complexe, cependant, est la question de ce qui constitue une application. Ce que les utilisateurs considèrent comme une application unique contient en fait du code emprunté à des bibliothèques de logiciels (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 paquets 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 connaîtrez le gestionnaire de paquets de votre distribution, plus votre vie vous sera facile.

Installer des applications sous Linux

Si vous êtes un utilisateur de bureau occasionnel qui souhaite installer une application sur Linux, vous recherchez peut-être le 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 Installer bouton.

Alternativement, vous pouvez ouvrir .rpm ou .flatpakref packages téléchargés depuis le 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 !

Rechercher un logiciel avec dnf

Avant de pouvoir installer une application, vous devrez peut-être confirmer qu'elle existe sur les serveurs de votre distribution. Généralement, la recherche du nom commun d'une application avec dnf suffit. Par exemple, supposons que vous ayez récemment lu un article sur Cockpit et que vous décidiez 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 correspondant s'appelle cockpit.x86_64 , mais le .x86_64 une partie du nom indique uniquement l'architecture du processeur avec laquelle il est compatible. Par défaut, votre système installe des packages avec des architectures de processeur 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'administration :

$ sudo dnf install cockpit

Le plus souvent, c'est le dnf typique workflow :rechercher et installer.

Parfois, cependant, les résultats de la 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 dnf pertinents sous-commandes, en fonction des informations recherchées.

Métadonnées du paquet

Si vous pensez que votre recherche vous a fermé au package que vous voulez, mais vous n'êtes pas encore sûr, il est souvent utile de jeter un coup d'œil aux métadonnées du package, telles que l'URL et la description du projet. Pour obtenir ces informations, utilisez l'agréable intuitif dnf info commande :

$ 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, le référentiel enregistré avec votre système qui 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 aux recherches de correspondances exactes. Vous pouvez utiliser les dnf provides commande pour savoir si quelque chose fournit ce que vous recherchez dans le cadre d'un package plus important :

$ 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-qt5

qt5-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 dans /usr/bin , afin que vous sachiez 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 paquet, vous pouvez utiliser le dnf repoquery commande avec le --list option. Cela examine les métadonnées du référentiel concernant 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 être longues, il est donc utile de diriger la commande via 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 jugées utiles par une autre application que vous installez. Dans le cas où deux packages nécessitent la même dépendance, dnf remove n'est pas supprimer la dépendance. Il n'est pas rare de se retrouver avec un paquet perdu 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 packages inutilisés :

$ dnf autoremove

Ce n'est pas nécessaire, mais c'est une étape de nettoyage qui me fait 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 dnf régulier utilisateur, il peut être utile de le savoir lorsque vous vous trouvez 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 commande. 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.


Linux
  1. Gestionnaires de packages Linux :dnf vs apt

  2. Gestion des packages Linux avec apt

  3. Utilisation d'AppImage pour la gestion des packages Linux

  4. Gestion des packages CentOS 8 avec DNF sur la ligne de commande

  5. Gestion avancée des packages dans Kali Linux

Commandes RPM sous Linux avec exemples

Gestion des packages Ubuntu avec apt

Comment convertir des packages Linux avec Alien

Gestion des processus Linux améliorée avec htop

Gestion des packages Linux avec YUM et RPM

Comment répertorier les packages installés sous Linux à l'aide de la gestion des packages