GNU/Linux >> Tutoriels Linux >  >> Cent OS

Guide du débutant pour la gestion des flux de module de package dans CentOS/RHEL 8

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]nstalled
Remarque :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 prudence

Pour 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.


Cent OS
  1. Comment supprimer les packages orphelins sur CentOS Linux

  2. Comment extraire le package 7z dans CentOS/RHEL/Fedora ?

  3. CentOS / RHEL 7 :Guide du débutant sur systemd

  4. CentOS / RHEL :Guide du débutant pour vsftpd (installation et configuration)

  5. Comment changer de flux de modules dans CentOS/RHEL 8

Comment installer des packages sur le système Linux RHEL 8 / CentOS 8

Comment installer des packages RPM sur CentOS

Comment installer les packages RPM sur CentOS 8

Comment installer les packages RPM dans CentOS, RHEL et Fedora

Répertorier tous les packages installés dans RHEL et CentOS

CentOS / RHEL 7 :Guide du débutant sur les unités de service systemd