GNU/Linux >> Tutoriales Linux >  >> Cent OS

Guía para principiantes sobre la gestión de secuencias de módulos de paquetes en CentOS/RHEL 8

Introducción a los flujos de aplicaciones

CentOS/RHEL 8.0 introduce el concepto de flujos de aplicaciones. Varias versiones de los componentes del espacio de usuario enviados con la distribución ahora se entregan al mismo tiempo. Es posible que se actualicen con más frecuencia que los paquetes del sistema operativo principal. Esto le brinda una mayor flexibilidad para personalizar Red Hat Enterprise Linux sin afectar la estabilidad subyacente de la plataforma o las implementaciones específicas.

Tradicionalmente, administrar versiones alternativas del paquete de software de una aplicación y sus paquetes relacionados significaba mantener diferentes repositorios para cada versión diferente. Para los desarrolladores que querían la última versión de una aplicación y los administradores que querían la versión más estable de la aplicación, esto creaba una situación que era tediosa de manejar. Este proceso se simplifica en Red Hat Enterprise Linux 8 utilizando una nueva tecnología llamada Modularidad. La modularidad permite que un solo repositorio aloje múltiples versiones del paquete de una aplicación y sus dependencias.

El contenido de CentOS/RHEL 8 se distribuye a través de dos repositorios de software principales:BaseOS y Application Stream (AppStream).

BaseOS

El repositorio de BaseOS proporciona el contenido principal del sistema operativo para Red Hat Enterprise Linux como paquetes RPM. Los componentes de BaseOS tienen un ciclo de vida idéntico al del contenido en versiones anteriores de CentOS/RHEL.

Flujo de aplicaciones

El repositorio de Application Stream proporciona contenido con diferentes ciclos de vida como módulos y paquetes tradicionales. Application Stream contiene partes necesarias del sistema, así como una amplia gama de aplicaciones previamente disponibles como parte de Red Hat Software Collections y otros productos y programas.

Nota :Tanto BaseOS como AppStream son una parte necesaria de un sistema CentOS/RHEL 8.

El repositorio de Application Stream contiene dos tipos de contenido:Módulos y paquetes RPM tradicionales. Un módulo describe un conjunto de paquetes RPM que van juntos. Los módulos pueden contener varios flujos para que varias versiones de aplicaciones estén disponibles para su instalación. Habilitar un flujo de módulo le da al sistema acceso a los paquetes RPM dentro de ese flujo de módulo.

Módulos

Un módulo es un conjunto de paquetes RPM que son un conjunto coherente que se debe unir. Por lo general, esto se organiza en torno a una versión específica de una aplicación de software o lenguaje de programación. Un módulo típico puede contener paquetes con una aplicación, paquetes con las bibliotecas de dependencias específicas de la aplicación, paquetes con la documentación de la aplicación y paquetes con utilidades auxiliares.

Flujos de módulos

Cada módulo puede tener uno o más flujos de módulos, que contienen diferentes versiones del contenido. Cada uno de los flujos recibe actualizaciones de forma independiente. Piense en el flujo de módulos como un depósito virtual en el depósito físico de flujo de aplicaciones. Para cada módulo, solo se puede habilitar uno de sus flujos y proporcionar sus paquetes.

Perfiles de módulos

Cada módulo puede tener uno o más perfiles. Un perfil es una lista de ciertos paquetes que se instalarán juntos para un caso de uso particular, como un servidor, cliente, desarrollo, instalación mínima u otro. La instalación de un perfil de módulo en particular simplemente instala un conjunto particular de paquetes del flujo de módulos. Posteriormente, puede instalar o desinstalar paquetes normalmente. Si no especifica un perfil, el módulo instalará su perfil predeterminado.

Administración de módulos usando YUM

La versión 4 de Yum, nueva en CentOS/RHEL 8, agrega soporte para las nuevas características modulares de Application Stream. Para manejar el contenido modular, se agregó el comando yum module. De lo contrario, yum funciona con módulos como lo hace con paquetes normales.

Módulos de listado

Para mostrar una lista de módulos disponibles, use la lista de módulos yum:

[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
Nota :use la sugerencia al final de la salida para ayudar a determinar qué flujos y perfiles están habilitados, deshabilitados, instalados, así como cuáles son los predeterminados.

Para enumerar los flujos de módulos para un módulo específico y recuperar su estado:

[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 

Para enumerar los paquetes instalados por el flujo de módulo predeterminado:

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

Nota :Sin especificar un flujo de módulo, la información del módulo yum muestra detalles del flujo de módulo predeterminado. Utilice el formato module-name:stream para ver un flujo de módulo específico. Agregue la opción –profile para mostrar información sobre los paquetes instalados por cada uno de los perfiles del módulo. Por ejemplo:

[user@host ~]$ yum module info --profile perl:5.24

Habilitación de flujos de módulos e instalación de módulos

Los flujos de módulos deben estar habilitados para instalar su módulo. Para simplificar este proceso, cuando se instala un módulo, habilita su flujo de módulos si es necesario. Los flujos de módulos se pueden habilitar manualmente usando yum module enable y proporcionando el nombre de la secuencia del módulo.

Nota :Solo se puede habilitar un flujo de módulo para un módulo determinado. Habilitar un flujo de módulo adicional deshabilitará el flujo de módulo original.

Instale un módulo utilizando la secuencia y los perfiles predeterminados:

[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!
Nota :Se podrían haber obtenido los mismos resultados ejecutando yum install @perl. La notación @ informa yum que el argumento es un nombre de módulo en lugar de un nombre de paquete.

Para verificar el estado del flujo del módulo y el perfil instalado:

[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 

Eliminación de módulos y deshabilitación de secuencias de módulos

Al eliminar un módulo, se eliminan todos los paquetes instalados por los perfiles del flujo de módulos habilitado actualmente y cualquier otro paquete y módulo que dependa de estos. Los paquetes instalados desde esta secuencia de módulos que no figuran en ninguno de sus perfiles permanecen instalados en el sistema y se pueden eliminar manualmente.

Nota :Quitar módulos y cambiar flujos de módulos puede ser un poco complicado. Cambiar la transmisión habilitada para un módulo es equivalente a restablecer la transmisión actual y habilitar la nueva transmisión. No cambia automáticamente ningún paquete instalado. Tienes que hacer eso manualmente. No se recomienda instalar directamente un flujo de módulo que sea diferente al que está instalado actualmente, ya que es posible que se ejecuten secuencias de comandos de actualización durante la instalación que romperían las cosas con el flujo de módulo original. Eso podría conducir a la pérdida de datos u otros problemas de configuración. Proceda con precaución

Para eliminar un módulo instalado:

[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! 

Después de eliminar el módulo, la secuencia del módulo aún está habilitada. Para verificar que la secuencia del módulo todavía está habilitada:

[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! 

Flujos de módulos de conmutación

Cambiar flujos de módulos generalmente requiere actualizar o degradar el contenido a una versión diferente. Para garantizar un cambio limpio, primero debe eliminar los módulos proporcionados por el flujo de módulos. Eso eliminará todos los paquetes instalados por los perfiles del módulo, y cualquier módulo y paquete de los que esos paquetes tengan dependencias.

Para habilitar un flujo de módulo diferente e instalar el módulo:

[user@host ~]$ sudo yum module install perl:5.24

Se habilitará la nueva transmisión del módulo y se deshabilitará la transmisión actual. Puede ser necesario actualizar o degradar paquetes del flujo de módulos anterior que no se enumeran en el nuevo perfil. Use yum distro-sync para realizar esta tarea si es necesario. También puede haber paquetes que permanezcan instalados desde el flujo de módulos anterior. Elimina los que usan yum remove.


Cent OS
  1. CentOS / RHEL 7:Guía para principiantes de firewalld

  2. CentOS/RHEL 7:no se puede iniciar/habilitar iptables

  3. CentOS / RHEL:Guía para principiantes de vsftpd (instalación y configuración)

  4. Guía para principiantes sobre el montaje automático de sistemas de archivos en CentOS/RHEL

  5. Guía para principiantes de NFS en CentOS / RHEL

Cómo instalar paquetes en RHEL 8 / CentOS 8 Linux System

Cómo instalar paquetes RPM en CentOS

Cómo instalar paquetes RPM en CentOS 8

Cómo instalar paquetes RPM en CentOS, RHEL y Fedora

Listar todos los paquetes instalados en RHEL y CentOS

CentOS / RHEL 7:Guía para principiantes de unidades de servicio systemd