Gestion des lots. Qu'est-ce qu'un gestionnaire de paquets ? Configuration de la mise en cache des packages

Nous allons comparer différents gestionnaires de packages Linux. Entre toutes les distributions Linux, l'une des choses qu'elles partagent est la nécessité d'installer de nouveaux packages logiciels sur le système. Selon la distribution, différents gestionnaires de packages sont disponibles pour vous permettre d'installer, de gérer et de supprimer facilement et rapidement des packages. Les gestionnaires de packages sont très efficaces pour simplifier les installations, avec des emplacements et des configurations d'installation communs. Dans cet article, nous discuterons des différents gestionnaires de packages disponibles, des distributions qu'ils peuvent utiliser et de ce qui les rend uniques. Nous examinerons les gestionnaires de packages basés sur Debian, les gestionnaires de packages RedHat Enterprise Linux (RHEL) et d'autres gestionnaires de packages conçus spécifiquement pour vous.

Gestionnaires de paquets basés sur Debian

Ubuntu et Debian sont considérés comme l'un des systèmes d'exploitation de bureau Linux les plus utilisés sur le marché aujourd'hui. Leurs gestionnaires de paquets sont séparés, le système de gestion de paquets de niveau le plus bas étant "dpkg", abréviation de "Debian Package". Il s'agit d'un logiciel de gestion de packages barebones, avec des outils pour installer, supprimer et créer des packages.

Ce qui manque à dpkg, ce sont des fonctionnalités plus avancées - des fonctionnalités telles que le téléchargement de packages depuis Internet ou l'installation automatique de dépendances ne sont pas possibles via dpkg. Pouvoir le faire depuis le Web est très utile car cela permet aux utilisateurs d'ajouter des référentiels pour les packages, ce qui augmente considérablement le choix. logiciel, qui peut être facilement installé sur le système. Il peut également simplifier considérablement le processus d'installation du logiciel car il peut facilement trouver et installer un package avec une seule commande.

Gestionnaire de paquets APT

C'est là que des interfaces comme apt et aptitude entrent en jeu. APT, abréviation de Advanced Package Tool, est beaucoup plus avancé en termes de fonctionnalités que dpkg. Il peut également installer, supprimer et créer des packages, mais ses fonctionnalités vont beaucoup plus loin. APT peut automatiquement mettre à jour vos packages, installer des dépendances et télécharger automatiquement vos packages depuis Internet. C'est l'un des gestionnaires de paquets les plus couramment installés sur les distributions modernes, avec Ubuntu, Debian et la plupart des autres systèmes d'exploitation basés sur Debian préinstallés.

Gestionnaire de package d'aptitude

Aptitude est très similaire à APT, offrant une grande partie des mêmes fonctionnalités. Mais il peut offrir quelques fonctionnalités supplémentaires, telles que des mises à jour sécurisées, permettant aux utilisateurs de mettre à jour leurs packages sans supprimer leurs packages existants du système. Un package est également disponible qui empêche mise à jour automatique certains forfaits.

Ces deux gestionnaires de paquets utilisent en fait dpkg pour les opérations de base et n'utilisent que leur propre logiciel pour télécharger et gérer les paquets.

Gestionnaires de packages RedHat Enterprise Linux (RHEL)

Gestionnaire de paquets RPM

RedHat et CentOS est l'un des systèmes d'exploitation de serveur les plus largement utilisés sur les serveurs aujourd'hui. Le principal logiciel de gestion de packages installé sur ces systèmes est RPM, ce qui réduit le travail de Red Hat Package Manager. Ce gestionnaire de packages effectue également des opérations de base telles que l'installation et la suppression de packages et, comme dpkg, ne peut pas non plus gérer les packages ni les installer directement à partir du Web.

Gestionnaire de paquets YUM

Comme les systèmes d'exploitation basés sur Debian, les systèmes d'exploitation RHEL ont également leur propre logiciel de gestion de paquets. YUM, abréviation de Yellow Dog Updater, est le choix le plus populaire en tant qu'interface RPM. Il ouvre beaucoup plus d'options pour les fichiers RPM via des référentiels, garde une trace de ce qui est installé sur le système, facilite la mise à jour, etc. C'est l'équivalent basé sur RHEL du gestionnaire de packages APT.

DNF, abréviation de Dandified Packaging Tool, est une version plus modernisée et étendue du gestionnaire YUM, incorporant des fonctionnalités YUM tout en améliorant les performances et l'utilisation des ressources. Pour le moment, seul Fedora utilise cette version de nouvelle génération de YUM, mais nous espérons qu'elle sera déployée sur d'autres systèmes d'exploitation à l'avenir.

Il existe plusieurs autres outils de gestion de paquets disponibles pour les systèmes basés sur RPM tels que up2date, urpmi et ZYpp. Cependant, ils ne sont pas aussi largement utilisés que YUM ou DNF.

Autres gestionnaires de paquets

Parfois, les développeurs créent des gestionnaires de packages personnalisés conçus pour leurs distributions Linux - ceux-ci sont généralement développés autour du système d'exploitation et ne se trouvent pas dans les distributions Linux traditionnelles.

Pacman est un gestionnaire de paquets trouvé dans Arch Linux. Pacman est le seul outil de gestion de paquets trouvé sur Arch, ce qui en fait un non-frontend. Arch Linux est une version évolutive du système d'exploitation, avec des mises à jour ajoutées chaque jour. Il n'y a que quelques commandes pacman pour rechercher, installer et supprimer des packages. Ce gestionnaire de packages peut se connecter à Internet et y acheter ses packages, ce qui le rend plus convivial. Cependant, pacman est conçu pour installer des logiciels à partir du référentiel Arch, ce qui rend impossible l'installation à partir de référentiels tiers.

Constructeur de package ABS

ABS, abréviation de Arch Build System, est un système d'outils conçu pour créer des packages logiciels installables pour Arch Linux à partir de code source. Il s'agit de plusieurs outils qui fonctionnent ensemble pour créer des packages. Ces outils sont tous des programmes indépendants comme makepkg, pacman, asp, etc. La façon de créer/installer un paquet en utilisant ABS est différente de la normale Répartition Linux. Au lieu d'installer des packages précompilés, vous devez créer un fichier PKGBUILD à partir d'une branche Svn ou Git à l'aide du package asp. À partir de là, vous utilisez la commande makepkg, qui utilise le fichier PKGBUILD pour télécharger et compiler le code source de votre système. Cela fait d'ABS une méthode légèrement moins intuitive d'installation de packages sur Arch Linux. Il a également plusieurs autres utilisations telles que le réglage forfaits existants ou construire et installer un noyau personnalisé.

Gestionnaire de paquets de ports

Portage est un gestionnaire de paquets pour Gentoo, un système d'exploitation non hacky qui doit être compilé à partir de zéro lorsqu'il est installé sur n'importe quel système. C'est l'un des gestionnaires de packages les plus avancés actuellement disponibles avec de nouvelles fonctionnalités et améliorations ajoutées.

Bien qu'il existe de nombreuses utilisations des logiciels de gestion de packages, beaucoup d'entre eux sont conçus pour effectuer les mêmes tâches. Il est donc préférable de vérifier et de voir quel programme de gestion de packages répondra le mieux à vos besoins.

PS. Si vous avez aimé cet article lors de la comparaison de différents gestionnaires de packages Linux, partagez-le avec vos amis sur dans les réseaux sociaux en utilisant les boutons sur la gauche, ou laissez simplement une réponse ci-dessous. Merci.

Mise à jour (9 avril 2018) : Correction de quelques inexactitudes concernant la boîte à outils du générateur de packages ABS.

Qu'est-ce qu'un gestionnaire de paquets ?

Directeur chargé d'emballage garde une trace des programmes installés sur votre ordinateur et vous permet d'installer facilement de nouveaux programmes, de mettre à niveau des programmes vers des versions plus récentes ou de supprimer des programmes que vous avez précédemment installés. Comme son nom l'indique, les gestionnaires de paquets s'occupent de paquets- ensembles de fichiers regroupés et pouvant être installés ou supprimés en groupe.

Souvent, un package n'est qu'un programme autonome. Par exemple, un client de messagerie instantanée gaiement se trouve dans le paquet Debian du même nom. En revanche, il est tout à fait normal que les programmes soient constitués de plusieurs packages interconnectés. Par exemple, un éditeur graphique gimp se compose non seulement du paquet gimp, mais aussi du paquet gimp-data ; des packages optionnels avec des modules complémentaires (contenant des données ésotériques, de la documentation, etc.) sont également disponibles. Plusieurs petits programmes connexes peuvent être inclus dans le même package, par exemple le package fileutils contient plusieurs commandes Unix courantes telles que ls , CP etc.

Certains packages nécessitent d'autres packages pour fonctionner. Sur Debian, les paquets peuvent dépendre d'autres forfaits recommander, suggérer, casser eux ou confronter avec eux.

    Si le package A dépend d'un autre package B, alors B est nécessaire au bon fonctionnement de A. Par exemple, le package gimp dépend du package gimp-data car il faut s'assurer que les fichiers de données nécessaires sont disponibles pour l'éditeur graphique GIMP.

    Si le package A recommande un autre package B, alors le package B fournit des fonctionnalités supplémentaires importantes au package A qui sont souhaitables dans la plupart des cas. Par exemple, le package mozilla-browser recommande le package mozilla-psm, qui ajoute la prise en charge du transfert de données sécurisé vers le navigateur Web Mozilla. Bien que le package mozilla-psm ne soit pas strictement requis pour que Mozilla fonctionne, la plupart des utilisateurs souhaitent que Mozilla prenne en charge le transfert sécurisé de données sensibles (telles que les numéros de carte de crédit).

    Si le package A propose un autre package B, alors le package B fournit des fonctionnalités qui peuvent améliorer le package A, mais ne sont pas nécessaires dans la plupart des cas. Par exemple, le package kmail propose le package gnupg, qui contient un programme de chiffrement pouvant être utilisé par KMail.

    Si le package A est en conflit avec un autre package B, les deux packages ne peuvent pas être installés en même temps. Par exemple, le package fb-music-hi est en conflit avec le package fb-music-low car il fournit des ensembles de musique alternatifs pour Frozen Bubble .

Le travail d'un gestionnaire de packages est de fournir une interface qui aide l'utilisateur à gérer l'ensemble des packages installés sur son système. aptitude fournit une telle interface basée sur le système de contrôle forfaits apt.

Les gestionnaires de packages facilitent l'utilisation du code de quelqu'un d'autre en fournissant ce code sous la forme de modules indépendants - packages. Ces packages sont connectés à leur code selon le principe des boîtes noires - c'est là que nous ne savons pas et peu nous importe comment tout fonctionne à l'intérieur de cette boîte, mais nous savons ce qu'elle fait. Grâce à cette architecture faiblement couplée, il devient possible de mettre à jour facilement le code de quelqu'un d'autre ou de remplacer un paquet par un autre avec des fonctionnalités similaires.

Comment fonctionnent les gestionnaires de paquets

Chaque gestionnaire de packages a un fichier de paramètres dans lequel nous devons spécifier les packages dont notre code dépend, afin que le gestionnaire de packages les télécharge et les installe dans notre système. Cependant, chaque package peut dépendre d'autres packages. Le gestionnaire de packages démêle ce système de dépendances et installe tout ce dont il a besoin, c'est pourquoi ils sont également appelés gestionnaires de dépendances. Voici un exemple : j'utilise le framework Twitter Bootstrap pour le travail et il a besoin de jQuery pour fonctionner. Donc, si je dis à mon gestionnaire de paquets d'installer Twitter Bootstrap, il installera automatiquement jQuery également.

Quels gestionnaires de paquets utiliser

J'utilise trois gestionnaires de packages différents dans mon travail :

  • est un gestionnaire de paquets pour le monde PHP. J'utilise pour charger le code PHP de quelqu'un d'autre ;

Nous comparerons différents gestionnaires de packages sous Linux. Entre toutes les distributions Linux, l'une des choses qu'elles partagent est la nécessité de pouvoir installer de nouveaux packages logiciels sur le système. Selon la distribution, différents gestionnaires de packages sont disponibles, permettant à l'utilisateur d'installer, de gérer et de supprimer des packages rapidement et facilement. Les gestionnaires de packages sont très bons pour optimiser les installations, avec des emplacements et des configurations d'installation communs. Dans cet article, nous discuterons des différents gestionnaires de packages disponibles, des distributions sur lesquelles ils peuvent être utilisés et de ce qui rend chacun unique. Nous couvrirons les gestionnaires de packages basés sur , les principaux gestionnaires de packages RedHat Enterprise Linux (RHEL) et d'autres gestionnaires de packages personnalisés.

Debian - Gestionnaires de paquets basés sur Debian

gestionnaire de paquets dpkg

Ubuntu et Debian sont considérés comme l'un des systèmes d'exploitation grand public basés sur Linux les plus utilisés sur le marché aujourd'hui. Leurs gestionnaires de paquets sont génériques, avec le système de gestion de paquets de niveau le plus bas "Dpkg", abréviation de "Debian Package". Il s'agit d'un squelette de logiciel de gestion de packages, avec des outils pour installer, supprimer et créer des packages.

Dpkg manque de fonctionnalités plus avancées − Fonctionnalité, comme le téléchargement de packages depuis Internet ou l'installation automatique de dépendances n'est pas possible via DPKG. Pouvoir le faire à partir du Web est très utile car cela permet aux utilisateurs d'ajouter des référentiels de packages, ce qui augmente considérablement le choix de logiciels pouvant être facilement installés sur le système. Il peut également simplifier considérablement le processus d'installation du logiciel en étant capable de trouver et d'installer facilement un package avec une seule commande.

Pacman est le gestionnaire de paquets pour Arch Linux. Pacman est le seul outil de gestion de paquets trouvé sur Arch, ce qui en fait pas une interface. Arch Linux est une version du système d'exploitation où des mises à jour sont ajoutées chaque jour. Il n'y a que quelques commandes pacman pour rechercher, installer et supprimer des packages. Ce gestionnaire de packages peut se connecter à Internet et y acheter ses packages, ce qui le rend plus convivial. Cependant, pacman est conçu pour installer des logiciels à partir du référentiel Arch, ce qui rend impossible l'installation à partir de référentiels tiers.

ABS, abréviation de Arch Build System, est un système d'outils conçu pour créer des packages logiciels installables pour Arch Linux à partir de la source. Il se compose de plusieurs outils qui fonctionnent ensemble pour créer des packages - tous ces outils sont des programmes indépendants tels que makepkg, pacman, asp, etc. La méthode de création/installation d'un package à l'aide d'ABS est différente de celle d'une distribution Linux classique. Au lieu d'installer des packages précompilés, vous devez créer un fichier PKGBUILD à partir d'une branche Svn ou Git à l'aide du package asp. À partir de là, vous utilisez la commande makepkg, qui utilise le fichier PKGBUILD pour télécharger et compiler le code source de votre système. Cela fait d'ABS une méthode légèrement moins intuitive d'installation de packages sur Arch Linux. Il a plusieurs autres utilisations, telles que la personnalisation de packages existants ou la construction et l'installation de votre propre noyau.

mob_info