Introduction aux flux d'applications
CentOS/RHEL 8.0 introduit le concept de flux d'application. Plusieurs versions des composants de l'espace utilisateur livrés avec la distribution sont désormais livrées en même temps. Ils peuvent être mis à jour plus fréquemment que les principaux packages du système d'exploitation. Cela vous offre une plus grande flexibilité pour personnaliser Red Hat Enterprise Linux sans affecter la stabilité sous-jacente de la plate-forme ou des déploiements spécifiques.
Traditionnellement, la gestion des versions alternatives du package logiciel d'une application et de ses packages associés signifiait la maintenance de référentiels différents pour chaque version différente. Pour les développeurs qui voulaient la dernière version d'une application et les administrateurs qui voulaient la version la plus stable de l'application, cela créait une situation fastidieuse à gérer. Ce processus est simplifié dans Red Hat Enterprise Linux 8 grâce à une nouvelle technologie appelée Modularité. La modularité permet à un référentiel unique d'héberger plusieurs versions du package d'une application et de ses dépendances.
Le contenu CentOS/RHEL 8 est distribué via deux référentiels logiciels principaux :BaseOS et Application Stream (AppStream).
BaseOS
Le référentiel BaseOS fournit le contenu du système d'exploitation de base pour Red Hat Enterprise Linux sous forme de packages RPM. Les composants BaseOS ont un cycle de vie identique à celui du contenu des versions précédentes de CentOS/RHEL.
Flux de candidature
Le référentiel Application Stream fournit du contenu avec des cycles de vie variables sous forme de modules et de packages traditionnels. Le flux d'applications contient les parties nécessaires du système, ainsi qu'une large gamme d'applications précédemment disponibles dans le cadre des collections de logiciels Red Hat et d'autres produits et programmes.
Remarque :BaseOS et AppStream font partie intégrante d'un système CentOS/RHEL 8.Le référentiel Application Stream contient deux types de contenu :les modules et les packages RPM traditionnels. Un module décrit un ensemble de packages RPM qui vont ensemble. Les modules peuvent contenir plusieurs flux pour rendre plusieurs versions d'applications disponibles pour l'installation. L'activation d'un flux de module permet au système d'accéder aux packages RPM au sein de ce flux de module.
Modules
Un module est un ensemble de packages RPM qui forment un ensemble cohérent qui va ensemble. Généralement, cela s'organise autour d'une version spécifique d'une application logicielle ou d'un langage de programmation. Un module typique peut contenir des packages avec une application, des packages avec les bibliothèques de dépendances spécifiques de l'application, des packages avec la documentation de l'application et des packages avec des utilitaires d'assistance.
Flux de modules
Chaque module peut avoir un ou plusieurs flux de module, qui contiennent différentes versions du contenu. Chacun des flux reçoit des mises à jour indépendamment. Considérez le flux de module comme un référentiel virtuel dans le référentiel physique du flux d'application. Pour chaque module, un seul de ses flux peut être activé et fournir ses packages.
Profils de module
Chaque module peut avoir un ou plusieurs profils. Un profil est une liste de certains packages à installer ensemble pour un cas d'utilisation particulier, comme pour un serveur, un client, un développement, une installation minimale ou autre. L'installation d'un profil de module particulier installe simplement un ensemble particulier de packages à partir du flux de module. Vous pouvez ensuite installer ou désinstaller les packages normalement. Si vous ne spécifiez pas de profil, le module installera son profil par défaut.
Gestion des modules à l'aide de YUM
La version 4 de Yum, nouvelle dans CentOS/RHEL 8, ajoute la prise en charge des nouvelles fonctionnalités modulaires d'Application Stream. Pour gérer le contenu modulaire, la commande yum module a été ajoutée. Sinon, yum fonctionne avec les modules un peu comme avec les packages normaux.
Modules de liste
Pour afficher une liste des modules disponibles, utilisez yum module list :
[user@host ~]$ yum module list Red Hat Enterprise Linux 8.0 AppStream - AppStream HTB (RPMs) Name Stream Profiles Summary 389-ds 1.4 default 389 Directory Server (base) ant 1.10 [d] common [d] Java build tool container-tools 1.0 [d] common [d] Common tools and dependencies for container runtimes ...output omitted... Hint: [d]efault, [e]nabled, [x]disabled, [i]nstalledRemarque :utilisez l'indice à la fin de la sortie pour vous aider à déterminer quels flux et profils sont activés, désactivés, installés, ainsi que ceux qui sont les valeurs par défaut.
Pour répertorier les flux de modules d'un module spécifique et récupérer leur état :
[user@host ~]$ yum module list perl Red Hat Enterprise Linux 8 for x86_64 - AppStream HTB (RPMs) Name Stream Profiles Summary perl 5.24 common [d], minimal Practical Extraction and Report Language perl 5.26 [d] common [d], minimal Practical Extraction and Report Language
Pour répertorier les packages installés par le flux de module par défaut :
[user@host ~]$ yum module info perl Name : perl Stream : 5.26 [d][a] Version : 820181219174508 Context : 9edba152 Profiles : common, minimal Default profiles : default Repo : rhel-8-fo r-x86_64-appstream-htb-rpms Summary : Practical Extraction and Report Language ...output omitted... Artifacts : perl-4:5.24.4-401.module+el8+2464+d274aed1.x86_64 : perl-Algorithm-Diff-0:1.1903-9.module+el8+2464+d274aed1.noarch : perl-Archive-Tar-0:2.30-1.module+el8+2464+d274aed1.noarch ...output omitted...
Remarque :Sans spécifier de flux de module, yum module info affiche les détails du flux de module par défaut. Utilisez le format module-name:stream pour afficher un flux de module spécifique. Ajoutez l'option –profile pour afficher des informations sur les packages installés par chacun des profils du module. Par exemple :
[user@host ~]$ yum module info --profile perl:5.24
Activation des flux de modules et installation des modules
Les flux de module doivent être activés afin d'installer leur module. Pour simplifier ce processus, lorsqu'un module est installé, il active son flux de module si nécessaire. Les flux de modules peuvent être activés manuellement à l'aide de yum module enable et en fournissant le nom du flux de module.
Remarque :Un seul flux de module peut être activé pour un module donné. L'activation d'un flux de module supplémentaire désactivera le flux de module d'origine.Installez un module en utilisant le flux et les profils par défaut :
[user@host ~]$ sudo yum module install -y perl Dependencies resolved. ================================================================================ Package Arch Version Repository Size ================================================================================ Installing group/module packages: perl x86_64 4:5.26.3-416.el8 rhel-8-for-x86_64-appstream-htb-rpms 72 k Installing dependencies: ...output omitted... Running transaction Preparing : 1/1 Installing : perl-Exporter-5.72-396.el8.noarch 1/155 Installing : perl-Carp-1.42-396.el8.noarch 2/155 ...output omitted... Installed: perl-4:5.26.3-416.el8.x86_64 perl-Encode-Locale-1.05-9.el8.noarch ...output omitted... Complete!Remarque :Les mêmes résultats auraient pu être obtenus en exécutant yum install @perl. La notation @ informe yum que l'argument est un nom de module au lieu d'un nom de package.
Pour vérifier l'état du flux de modules et du profil installé :
[user@host ~]$ yum module list perl Red Hat Enterprise Linux 8.0 AppStream - AppStream HTB (RPMs) Name Stream Profiles Summary perl 5.24 common, minimal Practical Extraction and Report Language perl 5.26 [d][e] common [i], minimal Practical Extraction and Report Language Hint: [d]efault, [e]nabled, [x]disabled, [i]nstalled
Suppression de modules et désactivation des flux de modules
La suppression d'un module supprime tous les packages installés par les profils du flux de module actuellement activé, ainsi que tous les autres packages et modules qui en dépendent. Les packages installés à partir de ce flux de module qui ne sont répertoriés dans aucun de ses profils restent installés sur le système et peuvent être supprimés manuellement.
Remarque :Supprimer des modules et changer de flux de modules peut être un peu délicat. Changer le flux activé pour un module équivaut à réinitialiser le flux actuel et à activer le nouveau flux. Il ne modifie pas automatiquement les packages installés. Vous devez le faire manuellement. L'installation directe d'un flux de module différent de celui qui est actuellement installé n'est pas recommandée, car des scripts de mise à niveau pourraient s'exécuter pendant l'installation, ce qui endommagerait le flux de module d'origine. Cela pourrait entraîner une perte de données ou d'autres problèmes de configuration. Procéder avec prudencePour supprimer un module installé :
[user@host ~]$ sudo yum module remove -y perl Dependencies resolved. ===================================================================================================== Package ArchVersion Repository Size ===================================================================================================== Removing: perl x86_644:5.26.3-416.el8 @rhel-8-for-x86_64-appstream-htb-rpms 0 Removing unused dependencies: ...output omitted... Running transaction Preparing : 1/1 Erasing : perl-4:5.26.3-416.el8.x86_64 1/155 Erasing : perl-CPAN-2.18-397.el8.noarch 2/155 ...output omitted... Removed: perl-4:5.26.3-416.el8.x86_64 dwz-0.12-9.el8.x86_64 ...output omitted... Complete!
Une fois le module supprimé, le flux de module est toujours activé. Pour vérifier que le flux de modules est toujours activé :
[user@host ~]$ yum module list perl Red Hat Enterprise Linux 8.0 AppStream - AppStream HTB (RPMs) Name Stream Profiles Summary perl 5.24 common [d], minimal Practical Extraction and Report Language perl 5.26 [d][e] common [d], minimal Practical Extraction and Report Language Hint: [d]efault, [e]nabled, [x]disabled, [i]nstalled
[user@host ~]$ sudo yum module disable perl ...output omitted... Dependencies resolved. ================================================================================= Package Arch Version Repository Size ================================================================================= Disabling module streams: perl 5.26 Is this ok [y/N]: y Complete!
Commutation des flux de modules
Changer de flux de modules nécessite généralement une mise à niveau ou une rétrogradation du contenu vers une version différente. Pour garantir un commutateur propre, vous devez d'abord supprimer les modules fournis par le flux de modules. Cela supprimera tous les packages installés par les profils du module, ainsi que tous les modules et packages dont ces packages dépendent.
Pour activer un flux de module différent et installer le module :
[user@host ~]$ sudo yum module install perl:5.24
Le nouveau flux de module sera activé et le flux actuel désactivé. Il peut être nécessaire de mettre à jour ou de rétrograder des packages du flux de module précédent qui ne sont pas répertoriés dans le nouveau profil. Utilisez la distribution yum-sync pour effectuer cette tâche si nécessaire. Il peut également y avoir des packages qui restent installés à partir du flux de module précédent. Supprimez ceux qui utilisent yum remove.