Comparaison des principaux systèmes de gestion des packages Linux

Comparaison des principaux systèmes de gestion des packages Linux

L'une des principales différences entre les différentes distributions Linux est la gestion des packages. Plusieurs fois, c'est la raison pour laquelle quelqu'un s'éloigne d'une distribution à une autre, car il / elle n'aime pas la façon dont les logiciels sont installés ou parce qu'il y a un logiciel nécessaire qui n'est pas disponible dans les référentiels de la Distro. Si vous êtes un débutant dans le monde Linux et que vous vous interrogez sur les différences entre les distributions, ce sera un bon début. Si vous n'avez utilisé qu'une ou deux distributions pendant un certain temps et que vous voulez voir ce qui se passe de l'autre côté de la clôture, cet article pourrait également être pour vous. Enfin, si vous avez besoin d'une bonne comparaison et / ou d'un rappel sur les principaux systèmes PM, vous trouverez également quelque chose d'intéressant. Vous apprendrez les choses les plus importantes qu'un utilisateur attend d'un système PM, comme l'installation / désinstaller, la recherche et d'autres options avancées. Nous ne nous attendons pas à des connaissances spéciales de votre part, juste quelques concepts généraux Linux.

L'approche

Nous avons choisi comme termes pour la comparaison certains systèmes populaires des distributions populaires, et celles-ci seront DPKG / APT *, RPM / YUM, Pacman et Portage. Le premier est utilisé dans les systèmes basés à Debian, le régime est utilisé dans Fedora, OpenSuse ou Mandriva, mais Yum est Fedora / Red Hat uniquement, nous nous concentrerons donc sur cela.Gentoo est une distribution basée sur les sources, vous pourrez voir comment les choses se font à la fois dans les distributions binaires et source, pour une comparaison plus complète. Gardez à l'esprit que nous parlerons des interfaces de niveau supérieur à la gestion des emballages, E.g. Yum au lieu de RPM ou APT * au lieu de DPKG, mais nous ne couvrirons pas des outils graphiques comme Synaptic, car nous pensons que les outils CLI sont plus puissants et utilisables dans n'importe quel environnement, que ce soit graphique ou console uniquement.



Systèmes de gestion des emballages

La famille apte

En fait, APT devrait être capitalisé, car il s'agit d'un acronyme qui signifie Advanced Packaging Tool, mais comme les utilitaires réels sont uniquement en minuscules, nous nous référerons à eux comme ça. La famille APT est un frontend de DPKG dans la famille Debian Family of Linux Operating Systems, et également utilisé dans certaines ramifications OpenSolaris. Certaines de ces applications sont apt-get, apt-cache, apt-cdrom ou apt-file. Ce n'est pas une liste complète, mais tous les utilitaires les plus souvent utilisés sont là. Il y a aussi une aptitude qui, lorsqu'elle est invoquée sans arguments, présente un bon menu, malédises ou basé sur GTK, mais peut être utilisé avec des commandes / arguments comme les commandes apt- * pour gérer les logiciels sur votre ordinateur. Il pourrait être utile de noter que divers dérivés debians pourraient avoir changé certaines choses dans ces applications, mais cette partie traitera les outils qui se trouvent dans un système Debian standard.

apte vs aptitude

Puisque c'est Debian Vanilla dont nous parlons, je recommanderais des aptitudes au lieu d'apt- *. Mais il y en aurait d'autres qui recommanderaient le contraire. Nous vous suggérons de les essayer tous les deux et voyons ce que vous aimez le plus. Il n'y a pas beaucoup de différences entre les deux si vous êtes un débutant avec Debian ou des dérivés, mais avec le temps, vous remarquerez que vous préférerez l'un d'eux.Nous allons cependant vous montrer comment utiliser les deux, donc vous trouverez plus facile à choisir.

Installation de logiciels

L'installation du logiciel est simple, tout ce que vous avez à faire est

 # apt-get install $ logiciel

ou, est-ce que vous choisissez des aptitudes,

 # aptitude installer $ logiciel 


Si vous recevez des messages vous indiquant que le logiciel souhaité n'est pas trouvé, assurez-vous d'avoir mis à jour votre index de package avec la commande de mise à jour:

 # mise à jour apt-get

ou

 # mise à jour d'aptitude 

Nous ne voulons pas gaspiller de l'espace ici, donc à moins que ce soit spécifié, les commandes sont les mêmes pour apt-get et aptitude. En parlant d'aptitude, voici à quoi cela ressemble lorsqu'il est invoqué sans arguments:

Nous vous invitons à jouer un peu avec des aptitudes, des malédises-version ou non, pour voir toutes les commandes disponibles et quelles options vous avez.

Logiciel de mise à jour

Contrairement à d'autres systèmes PM, la famille APT nécessite deux étapes pour mettre à jour le logiciel installé sur votre système, dont le premier que nous avons déjà montré. Ceci est considéré comme un avantage des partisans et une perte de temps par les opposants, qui pensent qu'une seule commande aurait été plus facile (comme la commande de mise à jour de Yum). Nous, comme d'habitude, ne prenons pas parti et ne vous recommandons pas de créer votre propre opinion. Donc, sans plus tarder, voici comment on met à jour un système Debian:

 # apt-get update && apt-get upgrade

Maintenant, voici la partie délicate: il y a aussi une commande de mise à niveau Dist, et l'aptitude prend également en charge la mise à niveau complète, qui sont différentes de la commande de mise à niveau en ce qu'ils sont plus intelligents et plus, disons invasifs, en ce qu'ils le feront, Par exemple, supprimez les anciens packages lorsque des mises à niveau importantes sont disponibles. Cela dépend aussi du type de Debian que vous courez. Sur un système stable, vous pouvez vivre avec la commande de mise à niveau paisiblement, mais sur un système de tests mixte / instable, nous recommandons la mise à niveau distante.



Recherche de logiciels

Vous ne connaissez pas le nom exact du package que vous souhaitez installer? Vous pouvez soit installer Bash-Completion et faire «l'aptitude à installer $ first_letters + onglet», soit utiliser les fonctions de recherche offertes par les outils APT. Tu peux faire

 $ apt-cache Search $ search_term

Ou, avec aptitude,

 $ aptitude search $ search_term 

Encore une fois, assurez-vous de faire une mise à jour à l'avance afin que le gestionnaire de packages sache ce qui est disponible.

Suppression du logiciel

Aptitude, ainsi qu'apt-get, prend en charge les commandes de supprimer et de purge pour se débarrasser du logiciel installé. Bien que la suppression prenne en charge la fonction de base de la désinstallation, Purge va plus loin et supprime également les fichiers de configuration spécifiques au (s) package. C'est à vous, l'utilisateur, de décider d'un cas au cas quand utiliser la suppression et quand utiliser la purge, selon la tâche à accomplir.

Miam

Certains d'entre vous se souviennent peut-être des vieux jours sombres de la dépendance au régime. Eh bien, maintenant, grâce à Yum, ces jours sont une chose du passé et l'installation logicielle est devenue plus simple. Tout comme les autres gestionnaires de packages, YUM prend en charge des fonctions de base comme l'installation ou la suppression des logiciels, ainsi qu'un tas d'autres options utiles.

Installation de logiciels

Les commandes de base pour la gestion des logiciels sont plus ou moins les mêmes que celles dont nous avons parlé ci-dessus, dans la partie Debian. Donc, si, par exemple, vous souhaitez installer Jed, l'éditeur de texte, faites simplement

 # Yum Installer les plugins chargés de Jed: Auto-update-debuginfo, Langpacks, Presto, Refresh-PackageKit Configuration des dépendances de résolution du processus d'installation -> Exécution de vérification des transactions ---> Package Jed.i686 0: 0.99.19-3.FC15 sera installé -> Traitement Dépendance: Slang-slsh pour le package: Jed-0.99.19-3.FC15.i686 -> Exécution de chèques de transaction ---> Package Slang-slsh.i686 0: 2.2.4-1.FC16 sera installé -> Traitement Dépendance: libonig.donc.2 pour le paquet: Slang-Slsh-2.2.4-1.FC16.i686 -> Exécution de chèques de transaction ---> Package Oniguruma.i686 0: 5.9.2-2.Le FC15 sera installé -> Dépendance de résolution de dépendance finie Résolus résolus ================================================================================= ======================================== Pack ==============================================. =========================== Installation: Jed i686 0.99.19-3.FC15 Fedora 795 K Installation pour les dépendances: Oniguruma i686 5.9.2-2.FC15 Fedora 125 K Slang-Slsh i686 2.2.4-1.FC16 Fedora 165 K Résumé de la transaction ======================================================================================= ================================.1 m taille installée: 1.1 m est-ce OK [O / N]: Y Téléchargement des packages: (1/3): Jed-0.99.19-3.FC15.i686.RPM | 795 KB 00:02 (2/3): Oniguruma-5.9.2-2.FC15.i686.RPM | 125 KB 00:00 (3/3): Slang-Slsh-2.2.4-1.FC16.i686.RPM | 165 KB 00:00 --------------------------------------------- ----------------------------------- Total 268 Ko / s | 1.1 MB 00:04 Exécution de la vérification des transactions en cours d'exécution de test de transaction Test de transaction a réussi à exécuter l'installation de la transaction: oniguruma-5.9.2-2.FC15.I686 1/3 Installation: Slang-slsh-2.2.4-1.FC16.I686 2/3 Installation: Jed-0.99.19-3.FC15.i686 3/3 installé: Jed.i686 0: 0.99.19-3.Dépendance FC15 installée: Oniguruma.i686 0: 5.9.2-2.FC15 Slang-slsh.i686 0: 2.2.4-1.FC16 complet!

C'est à quoi ressemble la sortie complète sur ma machine Fedora 16. Yum prend également en charge la commande localeinstall, qui est très utile si vous avez un package RPM téléchargé localement et que vous souhaitez l'installer. Nous recommandons l'utilisation du package localinstall contre «RPM -I $» car le package est ajouté à la base de données YUM afin que vous ayez un environnement moins chaotique.



Logiciel de mise à jour

Comme dit précédemment, les commandes sont assez similaires dans une certaine mesure, mais avec miam, vous n'avez pas deux commandes distinctes comme vous l'avez avec APT *. Ainsi, une simple «mise à jour Yum» mettra à jour les données du référentiel et Passez à la mise à jour correct si des versions plus récentes du logiciel sont trouvées. Vous pouvez voir s'il y a quelque chose de nouveau en utilisant la commande de damier, qui est proche de la «mise à jour de l'aptitude» car elle met à jour les données du repo mais ne fait rien d'autre.

Recherche de logiciels

Jusqu'à récemment, je n'aimais pas la commande de recherche de Yum parce qu'elle a donné trop de résultats, certains sans rapport avec ce que je voulais. Il semble qu'il y en ait d'autres avec les mêmes problèmes, donc les développeurs ont changé la fonction de recherche pour imprimer uniquement les résultats pertinents et ont ajouté la commande «Rechercher All» pour imiter l'ancien comportement.

Suppression du logiciel

Si je veux supprimer les logiciels, bien sûr, la commande est «Yum supprime». Cela supprimera le package et ses dépendances. Si vous souhaitez ne pas emprunter cette voie, c'est-à-dire que vous voulez conserver les dépendances (nous recommandons beaucoup de soin ici), vous devriez taper

 # yum - Nodeps supprimer Jed 

Le wiki de Yum dit ceci à propos de -nodeps Alors encore, soyez prudent: «-Nodeps n'est utilisé que lorsqu'un paquet ou un système est gravement cassé. En règle générale, si vous constatez que vous ne pouvez pas mettre la vis dans le trou avec un pilote à vis, vous ne devez pas aller chercher un marteau."Bien sûr, vous êtes censé lire le manuel Yum, qui explique toutes les options que vous pouvez utiliser. Comme avec les éditeurs de texte, le gestionnaire de packages est un outil souvent utilisé, il est donc impératif que vous le sachiez afin que vous puissiez être plus efficace.

Pac-Man

Le gestionnaire de packages d'Arch Linux est un nouveau venu relatif, car la distribution est également plus récente, mais cela ne signifie pas qu'il manque de fonctionnalités que l'on peut trouver dans Yum ou Zypper, pour prendre deux exemples aléatoires.Une différence entre Pacman et le gestionnaire de packages susmentionné est qu'il n'offre pas de commandes comme la mise à jour ou la suppression. Au lieu de cela, on utilise des arguments à une seule lettre pour obtenir diverses fonctions offertes par Pacman (mais vous pouvez également utiliser des options longues à double dash, mais les courtes sont plus populaires). Une autre différence serait, et il n'y a pas de subjectivité impliquée, que Pacman est plus rapide. En fait, c'est l'une des raisons pour lesquelles j'utilise Arch pour mes ordinateurs plus âgés et plus faibles.

Installation de logiciels

Pour installer Jed sur un système Arch, on peut taper

 # Pacman -s Jed

Le -s signifie Sync et est également utilisé pour d'autres fonctions, telles que la recherche de logiciels ou la mise à jour. Au début, cela peut sembler un peu illogique, mais les explications dans la page manuelle seront en lumière.



Logiciel de mise à jour

Pacman offre le choix de simplement mettre à jour les données du référentiel et / ou la mise à niveau du logiciel existant. Les deux options sont utilisées conjointement avec -s et sont accessibles avec -y (réadosive de rafraîchissement) et -U (logiciel de mise à niveau). Par conséquent, pour mettre à niveau les packages installés, on ferait

 # Pacman -syu

Vous pouvez vérifier les mises à jour en omettant -U, et si tous les référentiels sont signalés comme à jour, vous pouvez être certain qu'il n'y a pas de mises à jour.

Recherche de logiciels

Vous aurez à nouveau besoin de rechercher des logiciels, en y ajoutant une minuscule:

 # Pacman -SS Jed

Suppression du logiciel

Enfin, le drapeau -S est hors scène, et il est remplacé par -r plus le nom du package que vous souhaitez supprimer (e.g. Jed, puisque c'est notre exemple pour aujourd'hui et nous voulons être cohérents). Il y a aussi un drapeau de nodeps, raccourci par -d, si vous en avez besoin. Pacman propose d'autres options utiles, générale et spécifique à l'opération, alors n'oubliez pas qu'il existe une commande «Man Pacman».

Portage

Certains peuvent dire que Portage n'est pas un système majeur de gestion des packages, mais je vous prie personnellement de différer. Bien que Gentoo ne soit pas aussi populaire qu'avant, il a sa «place bien établie dans le monde Linux et n'a pas l'intention d'aller n'importe où, avec des utilisateurs qui en jurent et n'utiliseraient rien d'autre. Bien que cela, tout comme Pacman, ne soit pas aussi facile à utiliser que Yum, il offre de nombreuses capacités avancées et ne demande qu'une petite tranche de votre temps pour apprendre.



Installation de logiciels

Tout d'abord, si vous êtes nouveau dans Gentoo et Portage, nous vous recommandons d'utiliser les longues options, au lieu des courtes (comme-help vs. -H), car ils sont plus descriptifs. Après s'être habitué, vous pouvez enregistrer un certain typage en utilisant des options courtes. Deuxièmement, bien que nous ne parlions que de Portage, ce nom est réellement utilisé pour la suite d'outils liés au package. Vous utiliserez Emerge comme principal outil de gestion des packages, mais il existe d'autres outils que vous utiliserez, tous mentionnés dans la page manuelle. Assurez-vous que vous avez utilisé -Sync avant d'installer le premier package, car c'est l'équivalent de la commande de mise à jour d'aptitude. Ensuite, émergez simplement le package que vous souhaitez:

 # émerger Jed

Oui, c'est aussi simple. N'oubliez pas qu'Emerge est un outil vraiment complexe et puissant, et nous ne vous montrerons pas toutes les options possibles, juste les bases, mais quel que soit le besoin que vous pourriez avoir, c'est probablement là.

Logiciel de mise à jour

Tout comme Apt * ou Pacman, Emerge fait la mise à jour en deux étapes: la mise à jour d'abord des données du package d'un hôte distant avec -Sync, puis de la mise à niveau du logiciel installé avec

 # émerger - le monde de la mise à jour - du monde en profondeur 

La commande de mise à niveau comme ci-dessus est la version simple, mais il existe également d'autres options que vous pouvez / devez utiliser lors de la mise à niveau, d'autant plus que Gentoo est basé sur la source. Par exemple, si vous avez modifié certains drapeaux d'utilisation après la dernière mise à niveau, il est très recommandé d'utiliser -newuse afin que d'émerger soit conscient desdites modifications et éventuellement de recompiler certains des packages (ou tous) en conséquence. Vous pouvez également utiliser -ask si vous voulez un message de confirmation avant le début de la mise à niveau ou -verbose pour une sortie plus détaillée. Ainsi, toutes les commandes et options décrites ci-dessus se traduiront par (vous remarquerez que c'est le formulaire court):

 # émerge -udnav monde 

Portage n'est pas seulement un outil complexe, il est également bien documenté. Vous obtiendrez les bases de nous, mais le reste vous obtiendrez du Guide de Portage.

Recherche de logiciels

Emerge Offre -Search et -searhdesc pour la tâche, et nous expliquerons quelles sont les différences. Voici un exemple: -search'ing pour Jed nous donne la catégorie que jed est dans (appreurs, et les catégories de portage sont similaires à celles que l'on trouve dans les ports BSD / PKGSRC), les informations de licence, les versions, etc. L'utilisation de -SearchDesc donne beaucoup de résultats, car, comme son nom l'indique, Emerge recherchera également le texte dont vous avez besoin dans les descriptions, mais il faut également plus de temps pour donner les résultats dont vous avez besoin. Une comparaison approximative serait la différence entre la recherche de Yum contre la recherche.

Suppression du logiciel

Étant donné que l'installation de logiciels s'appelle Emerging in Gentoo-Speak, il est naturel de dire qu'un logiciel dénonce lors de la désinstallation. Le comportement par défaut consiste à laisser les dépendances seules, en quelque sorte ce que fait -Nodeps dans YUM / RPM. Voici où -Pelean vient jouer: il supprime toutes les dépendances du pack vous faites.

Conclusion

Il est à noter que seules les fonctions de base des systèmes PM mentionnés ont été traitées ici. Nous laissons le reste comme un exercice à l'utilisateur, car tous ces outils sont capables de beaucoup plus, comme la liste des packages installés ou la recherche du package dans lequel un certain fichier appartient. Nous vous recommandons de configurer une machine de test, peut-être dans un environnement virtuel, et de jouer avec votre PM de choix, car c'est la façon sûre et testée d'apprendre.

Tutoriels Linux connexes:

  • Choses à installer sur Ubuntu 20.04
  • Choses à faire après l'installation d'Ubuntu 20.04 Focal Fossa Linux
  • Une introduction à l'automatisation Linux, des outils et des techniques
  • Choses à faire après l'installation d'Ubuntu 22.04 Jammy Jellyfish…
  • Téléchargement Linux
  • Ubuntu 20.04 Guide
  • Choses à installer sur Ubuntu 22.04
  • Meilleure distribution Linux pour les développeurs
  • Mint 20: Mieux que Ubuntu et Microsoft Windows?
  • Commandes Linux: les 20 meilleures commandes les plus importantes que vous devez…