Qu’est-ce qu’un gestionnaire de packages sous Linux ? 

L’un des principaux points sur lesquels les distributions Linux diffèrent les unes des autres est la gestion des packages. Dans cette partie de la série Linux jargon buster, vous découvrirez les packages et les gestionnaires de packages sous Linux. Vous apprendrez ce que sont les packages, quels sont les gestionnaires de packages et comment fonctionnent-ils et quels types de gestionnaires de packages sont disponibles.

Qu’est-ce qu’un gestionnaire de packages sous Linux ?

En termes plus simples, un gestionnaire de packages est un outil qui permet aux utilisateurs d’installer, de supprimer, de mettre à niveau, de configurer et de gérer des packages logiciels sur un système d’exploitation. Le gestionnaire de paquets peut être une application graphique comme un centre logiciel ou un outil en ligne de commande comme apt-get ou pacman .

Vous me trouverez souvent en train d’utiliser le terme « package » dans des tutoriels et des articles sur It’s FOSS. Pour comprendre le gestionnaire de packages, vous devez comprendre ce qu’est un package.

Qu’est-ce qu’un forfait ?

Un package fait généralement référence à une application, mais il peut s’agir d’une application graphique, d’un outil de ligne de commande ou d’une bibliothèque de logiciels (requise par d’autres logiciels). Un paquet est essentiellement un fichier d’archive contenant l’exécutable binaire, le fichier de configuration et parfois des informations sur les dépendances.

Autrefois, les logiciels étaient installés à partir de leur code source . Vous feriez référence à un fichier (généralement nommé readme) et verriez de quels composants logiciels il a besoin, l’emplacement des binaires. Un script de configuration ou un makefile est souvent inclus. Vous devrez compiler le logiciel ou vous-même et gérer vous-même toutes les dépendances (certains logiciels nécessitent l’installation d’autres logiciels).

READ  Linux Cinnamon contre Linux MATE 2022

Pour se débarrasser de cette complexité, les distributions Linux ont créé leur propre format d’emballage pour fournir aux utilisateurs finaux des fichiers binaires prêts à l’emploi (logiciels précompilés) pour l’installation de logiciels ainsi que des métadonnées (numéro de version, description) et des dépendances.

C’est comme faire un gâteau plutôt que d’acheter un gâteau.

Vers le milieu des années 90, Debian a créé le format d’empaquetage .deb ou DEB et Red Hat Linux a créé le système d’empaquetage .rpm ou RPM (abréviation de Red Hat Package Manager). La compilation du code source existe toujours mais elle est facultative maintenant.

Pour interagir avec ou utiliser les systèmes d’empaquetage, vous avez besoin d’un gestionnaire de paquets.

Comment fonctionne le gestionnaire de paquets ?

Veuillez garder à l’esprit que le gestionnaire de packages est un concept générique et qu’il n’est pas exclusif à Linux. Vous trouverez souvent un gestionnaire de paquets pour différents logiciels ou langages de programmation. Il existe un gestionnaire de packages PIP uniquement pour les packages Python . Même l’éditeur Atom a son propre gestionnaire de paquets .

Étant donné que cet article se concentre sur Linux, je vais prendre les choses du point de vue de Linux. Cependant, la plupart des explications ici pourraient également être appliquées au gestionnaire de packages en général.

J’ai créé ce diagramme (basé sur SUSE Wiki) afin que vous puissiez facilement comprendre le fonctionnement d’un gestionnaire de packages.

Presque toutes les distributions Linux ont des référentiels de logiciels qui sont essentiellement une collection de packages logiciels. Oui, il pourrait y avoir plus d’un référentiel. Les référentiels contiennent des progiciels de différents types.

READ  Pourquoi utiliser Linux en 2022 ?

Les référentiels ont également des fichiers de métadonnées qui contiennent des informations sur les packages telles que le nom du package, le numéro de version, la description du package et le nom du référentiel, etc. C’est ce que vous voyez si vous utilisez la commande apt show dans Ubuntu/Debian.

Le gestionnaire de packages de votre système interagit d’abord avec les métadonnées. Le gestionnaire de packages crée un cache local de métadonnées sur votre système. Lorsque vous exécutez l’option de mise à jour du gestionnaire de packages (par exemple apt update), il met à jour ce cache local de métadonnées en se référant aux métadonnées du référentiel.

Lorsque vous exécutez la commande d’installation de votre gestionnaire de packages (par exemple apt install package_name), le gestionnaire de packages se réfère à ce cache. S’il trouve les informations du package dans le cache, il utilise la connexion Internet pour se connecter au référentiel approprié et télécharge d’abord le package avant de l’installer sur votre système.

Un package peut avoir des dépendances. Cela signifie qu’il peut nécessiter l’installation d’autres packages. Le gestionnaire de packages s’occupe souvent des dépendances et les installe automatiquement avec le package que vous installez.

Gestionnaire de packages gérant les dépendances sous Linux
Gestionnaire de packages gérant les dépendances sous Linux

De même, lorsque vous supprimez un package à l’aide du gestionnaire de packages, il supprime automatiquement ou vous informe que votre système contient des packages inutilisés qui peuvent être nettoyés.

Outre les tâches évidentes d’installation et de suppression, vous pouvez utiliser le gestionnaire de packages pour configurer les packages et les gérer selon vos besoins. Par exemple, vous pouvez empêcher la mise à niveau d’une version de package à partir des mises à jour système régulières. Il y a beaucoup plus de choses dont votre gestionnaire de paquets pourrait être capable.

READ  6 distributions Linux pour remplacer Windows 11 et 10

Différents types de gestionnaires de packages

Les gestionnaires de packages diffèrent en fonction du système d’emballage, mais le même système d’emballage peut avoir plusieurs gestionnaires de packages.

Par exemple, RPM a des gestionnaires de packages Yum et DNF . Pour DEB, vous avez apt-get, des gestionnaires de packages basés sur la ligne de commande aptitude .

Voir les packages par dépôts Synaptic
Gestionnaire de paquets Synaptic

Les gestionnaires de packages ne sont pas nécessairement basés sur la ligne de commande. Vous disposez d’outils graphiques de gestion de packages comme Synaptic . Le centre de logiciels de votre distribution est également un gestionnaire de paquets même s’il exécute apt-get ou DNF en dessous.

Conclusion

Je ne veux pas entrer dans plus de détails sur ce sujet parce que je peux continuer encore et encore. Mais cela s’écartera de l’objectif du sujet qui est de vous donner une compréhension de base du gestionnaire de packages sous Linux.

J’ai omis les nouveaux formats d’emballage universels comme Snap et Flatpak pour l’instant.

J’espère que vous comprenez un peu mieux le système de gestion de paquets sous Linux. Si vous êtes toujours confus ou si vous avez des questions sur ce sujet, veuillez utiliser le système de commentaires. Je vais essayer de répondre à vos questions et si besoin, mettre à jour cet article avec de nouveaux points.

5/5 - (1 vote)

Mises à jour de la newsletter

Saisissez votre adresse e-mail ci-dessous pour vous abonner à notre newsletter

Laisser un commentaire