Introduction à la gestion des packages en Linux

Introduction à la gestion des packages en Linux
Tous les systèmes d'exploitation dépendent d'un ensemble d'applications logicielles pour effectuer des tâches prévues par les utilisateurs. Au début, les applications ont été testées contre les bogues avant la libération pour offrir une meilleure expérience utilisateur. Maintenant, l'application logicielle est publiée dans l'intention d'appliquer les corrections de bogues dans de nouvelles versions. De plus, chaque application a son mise à jour, ou l'utilisateur a dû comprendre comment obtenir la version du logiciel amélioré.

Linux a adopté la pratique de gestion des logiciels en temps opportun en créant des formats d'emballage, des packages de logiciels et des outils d'installation uniques. Cet article explique comment le processus d'installation du package logiciel est passé de l'installation du package de tarball à la gestion des packages Deb et RPM.

Tarball

Un ajout de logiciel Linux Systems antérieur a obligé à l'utilisateur à télécharger le code source, à le compiler dans des fichiers binaires et à l'ajouter au système. Parfois, le logiciel a été mis à disposition par certains utilisateurs sous une forme compilée connue sous le nom de tarball. Un tarball contient plusieurs fichiers, y compris les exécutables, les fichiers de configuration, la documentation et les bibliothèques. De sorte que tous les fichiers sont compressés en un seul fichier pour un stockage et une distribution faciles.

Après l'installation du logiciel, les fichiers se sont répandus sur le système dans les répertoires pertinents. Cependant, la méthode de création de tarball peut sembler facile, mais le processus d'installation rend certaines tâches difficiles, par exemple:

Il oblige l'utilisateur à retrouver indépendamment / manuellement les dépendances du logiciel d'installation de telle sorte que le logiciel dépendante lui-même a certaines dépendances.

Étant donné que l'installation du package de tarball répartit les fichiers, il ne sera pas facile de localiser la documentation du package et les fichiers de configuration même si l'utilisateur connaît les commandes.

Il est difficile de localiser des fichiers pour désinstaller un logiciel.

L'absence de métadonnées dans Tar Balls laisse les utilisateurs confus sur les détails de la version après l'installation. Cela rend difficile le suivi des bogues et d'obtenir de nouvelles versions.

Pour surmonter ces problèmes, les emballages de logiciels dans les distributions Linux ont évolué en deux formats d'emballage appelés emballages Deb et RPM.

Emballage deb

Les distributions Linux basées à Debian et Debian utilisent l'emballage de logiciel Deb-base. Le .Les fichiers DEB incluent tous les fichiers pertinents avec des métadonnées dans un .format d'archives AR. Les métadonnées contient tous les détails logiciels pertinents impliquant la version, la description, les dépendances, les licences, etc. Les distributions Debian offrent plusieurs interfaces graphiques et outils basés sur les terminaux pour gérer .fichiers DEB. Certains d'entre eux incluent:

  • apte: Outil d'emballage avancé Ubuntu qui fournit une commande APT-GET pour rechercher et gérer l'installation du package.
  • aptitude: La commande est un outil de gestion des packages qui fournit une interface textuelle à exécuter à l'intérieur du terminal. Il effectue une installation, un retrait et une mise à niveau du pack.
  • Centre logiciel Ubuntu: Il s'agit d'une interface utilisateur graphique intuitive pour le début des utilisateurs de Linux pour rechercher et installer des packages.

Même si le centre de logiciels Ubuntu est intuitif, le système avancé de gestion des emballages surpasse tous les autres PMS pour les emballages Deb.

Emballage RPM

Le RPM (.RPM) Le format d'emballage est la préférence des distributions Linux SUSE, Fedora et Red et Rhel. Le package RPM est l'amalgame des fichiers pour fournir une visionneuse de photos, un traitement de texte ou d'autres logiciels pour les utilisateurs de distribution RHEL. Il contient également des fichiers de configuration, des métadonnées et d'autres documents requis pour créer le logiciel.

Le RPM Package Manager combine les binaires et tous les fichiers requis disponibles via des fournisseurs de logiciels en amont dans un package RPM. Avant d'inclure des packages dans le référentiel, ils sont signés afin que les utilisateurs puissent vérifier leur validité. Maintenant, l'utilisateur peut accéder à ces packages pour l'installation à partir de référentiels placés à l'intérieur des CD ou des répertoires via des serveurs NFS ou FTP.

Le nom du package RPM en dit long sur le logiciel. Par exemple, saisissez la commande suivante pour découvrir les détails du package RPM actuellement installé de Firefox:

[fedora @ fedora] $ RPM -Q Firefox
Firefox-87.0-12.FC34.x86_64
  • 87.0: représente un numéro de version attribué par Mozilla Project
  • 12: représente le nombre de fois que Red Hat reconstruit le package au même numéro de version.
  • FC34.x86_64: représente que le package est construit et compilé pour l'architecture Fedora Linux et X86 64 bits.

Pour trouver plus de détails sur le package, interrogez la base de données locale RPM en utilisant la commande rpm avec l'option -QI:

[fedora @ fedora] $ rpm -Qi Firefox
Nom: Firefox
Version: 87.0
Libération: 12.FC34
Architecture: x86_64
Date d'installation: ven 23 avril 2021 06:58:19 HAE
Groupe: non spécifié
Taille: 261285879
Licence: MPLV1.1 ou gplv2 + ou lgplv2+
Signature: RSA / SHA256, mar 13 avril 2021 04:59:11 AM HAE, ID clé 1161Ae6945719A39
RPM de source: Firefox-87.0-12.FC34.SRC.RPM
Date de construction: lun 12 avril 2021 04:56:26 AM HAE
Build Host: BuildHW-X86-10.IAD2.fedoraproject.org
Packager: Fedora Project
Vendeur: Fedora Project
URL: https: // www.mozilla.org / firefox /
URL de bug: https: // bugz.fedoraproject.org / firefox
Résumé: navigateur Web Mozilla Firefox
Description :
Mozilla Firefox est un navigateur Web open source conçu pour les normes
Conformité, performance et portabilité.

La sortie ci-dessus représente désormais le package construit et les dates d'installation, la taille, les licences du groupe de packages Firefox et de nombreux autres détails. Même si RPM a été la première commande d'outil d'emballage RPM pour la mise à jour de l'installation, la requête, la suppression des packages, etc., il a quelques inconvénients fondamentaux.

Dépendance Hell: L'installation du package RPM échoue en l'absence de dépendances tout en racontant les composants requis. De plus, le package dépendant lui-même a certaines dépendances nécessaires pour faire le travail.

Emplacement du RPMS: Le RPM Package Manager prévoit de recevoir l'emplacement du package avant l'installation. Si le package est disponible dans le dossier actuel, il nécessite une entrée de Firefox-87.0-12.FC34.x86_64.RPM, s'il est sur le serveur, il nécessite un exemple http: //.com / firefox-87.0-12.FC34.x86_64.RPM.

Alors qu'à ce moment-là, les emballages logiciels basés sur Deb pourraient résoudre automatiquement le problème des dépendances. Cependant, après la popularité croissante des forfaits RPM, les problèmes ont été résolus avec l'installation de Yum.

Projet miam

L'installation de Yellowdog Updater Modified (YUM) a été introduite pour gérer les dépendances des packages RPM en considérant chaque package RPM dans le cadre d'un grand référentiel logiciel. De sorte que le problème de traiter les dépendances concerne la distribution Linux ou le logiciel tiers.

Il résout les problèmes avec le concept que les référentiels peuvent s'appuyer les uns sur les autres. Par exemple, si un utilisateur installe un package à partir de la RPMFusion.Référentiel org, qui nécessite une commande / outil du référentiel Fedora principal, il a également accès à cela. Par conséquent, il sera téléchargé et installé en attendant.

Conclusion

Les articles fournissent un bref historique de la façon dont le système de gestion des emballages Linux a évolué. Nous avons discuté .deb et .Systèmes d'emballage logiciel basés sur RPM pour les distributions Linux basées sur Debian et Rhel, leurs outils les plus couramment utilisés. Nous discutons également de l'évolution des systèmes de gestion des emballages à partir des problèmes rencontrés au cours des premières étapes de développement.