GNU/Linux >> Tutoriels Linux >  >> Linux

Gestionnaires de packages Linux :dnf vs apt

Il existe de nombreuses façons d'obtenir des applications sur un système Linux. Certains, comme Flatpak et les conteneurs, sont nouveaux. D'autres, comme DEB et RPM, sont des formats classiques qui ont résisté à l'épreuve du temps.

Il n'y a pas d'installateur universel pour n'importe quel système d'exploitation. Aujourd'hui, tous les principaux systèmes d'exploitation utilisent un mélange de magasins d'applications (à la fois propriétaires et tiers), d'installation par glisser-déposer et d'assistants d'installation, car il existe d'innombrables développeurs fournissant des logiciels. Différents développeurs ont des exigences différentes pour le code qu'ils fournissent, et cela informe la méthode d'installation qu'ils choisissent chacun.

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

Linux a été le pionnier du concept de gestionnaire de paquets , une commande pour installer, gérer et désinstaller des applications. Deux commandes courantes du gestionnaire de packages sont apt et dnf . Le apt La commande gère les packages DEB, tandis que dnf gère les packages RPM. Les deux ne sont pas strictement exclusifs l'un de l'autre en théorie, bien qu'en pratique, une distribution Linux utilise généralement l'un ou l'autre. Il est théoriquement possible d'exécuter les deux sur un même système, mais les installations de packages se chevaucheraient, la gestion des versions serait difficile et les commandes seraient redondantes les unes par rapport aux autres. Cependant, si vous travaillez dans un environnement Linux mixte, interagissant avec des postes de travail exécutant une distribution et des serveurs exécutant une autre, vous devrez peut-être connaître les deux.

Recherche d'applications

Avant de pouvoir installer une application avec un gestionnaire de packages, vous devez connaître le nom du package. Généralement, le nom de l'application et le nom du package sont identiques. Le processus pour vérifier le nom du paquet que vous souhaitez installer est exactement le même sur dnf et apt :

$ sudo dnf search zsh
======Nom Exactement Correspondant :zsh ======
zsh.x86_64 :Shell interactif puissant
[...]

Avec apt :

$ sudo apt search zsh
Tri... Terminé
Recherche plein texte... Terminé
csh/stable 20110502-4+deb10u1 amd64
  Shell avec C-like syntaxe

ddgr/stable 1.6-1 all
  DuckDuckGo depuis le terminal

direnv/stable 2.18.2-2 amd64
  Utilitaire pour définir un répertoire spécifique variables d'environnement

draai/stable 20180521-1 all
  Lecteur de musique en ligne de commande pour MPD
[...]

Pour obtenir des résultats pertinents de apt plus tôt dans la recherche, vous pouvez utiliser regex :

apt search ^zsh
Tri... Terminé
Recherche plein texte... Terminé
zsh/stable 5.7.1-1 amd64
  shell avec de nombreuses fonctionnalités

Rechercher le package d'une application

Certaines commandes sont fournies avec d'autres commandes, le tout dans un seul package. Lorsque cela se produit, vous pouvez utiliser votre gestionnaire de packages pour savoir quel package fournit ce dont vous avez besoin. Le dnf et apt les commandes divergent sur la façon dont elles recherchent ce type de métadonnées.

Sur dnf :

$ sudo dnf fournit pgrep
procps-ng-3.3.15-6.el8.x86_64 :utilitaires de surveillance du système et des processus
Repo        :baseos
Matched from:
Filename :/usr/bin/pgrep

Le apt la commande utilise une sous-commande, apt-file . Pour utiliser apt-file , vous devez d'abord l'installer puis lui demander de mettre à jour son cache :

$ sudo apt install apt-file
Lecture des listes de packages... Terminé
Création de l'arborescence des dépendances      
Lecture des informations d'état... Terminé
Les packages supplémentaires suivants seront installés :
  libapt-pkg-perl libexporter-tiny-perl liblist-moreutils-perl libregexp-assemble-perl
Les NOUVEAUX packages suivants seront installés :
  apt-file libapt-pkg-perl libexporter -tiny-perl liblist-moreutils-perl libregexp-assemble-perl
0 mis à jour, 5 nouvellement installés, 0 à supprimer et 14 non mis à jour.
Besoin d'obtenir 297 Ko d'archives.
Après cette opération, 825 ko d'espace disque supplémentaire seront utilisés.
Voulez-vous continuer ? [O/n] y

$ sudo apt-file update
[...]

Vous pouvez utiliser apt-file pour rechercher une commande. Vous pouvez jeter un très large filet en recherchant simplement la commande, mais si vous connaissez le chemin attendu de la commande, c'est plus précis :

$ sudo apt-file search /usr/bin/pgrep
pgreplay :/usr/bin/pgreplay              
procps :/usr/bin/pgrep

Installer des applications

L'installation d'applications est essentiellement identique avec apt et dnf :

$ sudo apt install zsh 

Avec dnf , vous pouvez installer un seul package en utilisant la même option :

$ sudo dnf install zsh 

De nombreuses distributions basées sur RPM comportent des groupes d'installation , qui rassemblent des applications parfois superficiellement liées dans une cible facilement installable. Par exemple, le groupe Design Suite dans Fedora contient des applications créatives populaires. De nombreux artistes qui veulent une application créative voudront probablement des applications similaires, et l'installation de l'ensemble du groupe est un moyen simple et rapide de démarrer de manière sensée la création d'un studio numérique. Vous pouvez afficher les groupes disponibles avec la group list (utilisez -v pour voir les noms de groupe sans espaces) :

$ sudo dnf group list -v
[...]
Groupes disponibles :
   Gestion des conteneurs (container-management)
   Outils de développement RPM (rpm-development-tools )
   Design Suite (suite de conception)
   Outils de développement (développement)
[...]

Installer un groupe RPM à l'aide de l'group install sous-commandes :

$ sudo dnf group install design-suite 

Vous pouvez utiliser le @ notation pour réduire la frappe :

$ sudo dnf install @design-suite 

Mise à jour des applications

L'un des avantages d'utiliser un gestionnaire de paquets est qu'il connaît tous les applications qu'il a déjà installées. Cela signifie que vous n'avez pas à rechercher les versions mises à jour des applications. Au lieu de cela, vous pouvez demander à votre gestionnaire de packages de rechercher des mises à jour.

Les sous-commandes utilisées par dnf et apt sont légèrement différents. Parce que apt conserve un cache d'informations qui nécessite une mise à jour régulière, il utilise la fonction upgrade sous-commande pour les mises à jour de l'application :

$ sudo apt upgrade 

En revanche, dnf met à jour les métadonnées à chaque fois que vous utilisez la commande, donc le update et upgrade les sous-commandes sont interchangeables :

$ sudo dnf upgrade 

C'est la même chose que :

$ sudo dnf upgrade 

Supprimer des applications

Si vous avez déjà essayé de supprimer manuellement une application sur n'importe quelle plate-forme, vous savez qu'il reste inévitablement des fichiers, tels que des fichiers de préférences, des actifs ou des icônes, dispersés sur votre disque dur après la suppression de l'application. Un autre avantage de l'utilisation d'un gestionnaire de packages est que votre gestionnaire de packages connaît chaque fichier installé avec un package :

$ sudo dnf remove zsh 

Le remove la sous-commande est également utilisée pour apt :

$ sudo apt remove zsh 

Supprimer un paquet avec apt ne supprime pas les fichiers de configuration utilisateur modifiés, au cas où vous auriez supprimé le package par accident. Si vous voulez apt supprimer une application et ses fichiers de configuration, utilisez purge sur une application que vous avez précédemment supprimée :

$ sudo apt purge zsh 

Les deux apt et dnf (même avec purge ) ne supprimez pas les fichiers de données ou de configuration de votre répertoire personnel. Pour supprimer des données de votre répertoire personnel, vous devez le faire manuellement (cela se trouve généralement dans ~/.config et ~/.local ).

Gestion des packages d'apprentissage

Si votre distribution Linux de choix favorise apt ou dnf , les objectifs des commandes sont globalement identiques. Ils vous aident à installer, mettre à jour et supprimer des packages. Ces deux, étant les gestionnaires de paquets les plus courants, reflètent en grande partie les éléments syntaxiques les plus importants les uns des autres, il est donc assez facile de basculer entre eux.

Chacun a des fonctionnalités avancées, telles que la gestion du référentiel, qui divergent considérablement, mais celles-ci ont tendance à ne pas être exécutées aussi fréquemment que la séquence classique de search et install .

Quel que soit le gestionnaire de paquets que vous utilisez le plus souvent, vous pouvez télécharger notre aide-mémoire apt et notre aide-mémoire dnf afin d'avoir la syntaxe la plus importante à portée de main lorsque vous en avez le plus besoin.


Linux
  1. Gestion des packages Linux avec apt

  2. 5 raisons d'utiliser les gestionnaires de packages Linux

  3. Comment créer un package RPM Linux

  4. Linux - Installer les en-têtes sur Kali ?

  5. Désinstaller des programmes sous Linux

Comment utiliser pkgsrc sous Linux

Comment utiliser apt Package Manager sur Ubuntu Linux

Comment installer un package RPM sur RHEL 8 / CentOS 8 Linux

Commande apt sous Linux

Commande RPM sous Linux

15 exemples de commandes apt dans Ubuntu / Debian Linux