Flujo del módulo del paquete de gestión en RHEL8

Transmisión de aplicaciones CentOS/RHEL

Referencia: https://www.onitroad.com/jc/linux/pkg/pkg-mana/manage-package-module-streams-in-centos-rhel-8.html

CentOS/RHEL 8.0 introduce el concepto de flujos de aplicaciones.
Ahora se pueden enviar simultáneamente varias versiones de componentes del espacio de usuario incluidos con una distribución.
Es posible que se actualicen con más frecuencia que los paquetes principales del sistema operativo.
Esto nos brinda una mayor flexibilidad para personalizar Red Hat Enterprise Linux sin afectar la estabilidad subyacente de la plataforma o la implementación específica.

Tradicionalmente, gestionar versiones alternativas de un paquete de aplicación y sus paquetes relacionados significaba mantener un repositorio diferente para cada versión diferente.
Esto crea una situación de gestión engorrosa para los desarrolladores que necesitan la última versión de su aplicación y para los administradores que necesitan la versión más estable de su aplicación.
Red Hat Enterprise Linux 8 simplifica este proceso utilizando una nueva tecnología llamada modularización.
La modularidad permite que un único repositorio aloje múltiples versiones de un paquete de aplicación y sus dependencias.

El contenido de CentOS/RHEL 8 se distribuye a través de dos repositorios de software principales: BaseOSy 应用程序流 (AppStream).


son sistemas operativos

El repositorio de BaseOS proporciona el contenido principal del sistema operativo para Red Hat Enterprise Linux en forma de paquetes RPM.
El ciclo de vida de los componentes de BaseOS es el mismo que en versiones anteriores de CentOS/RHEL.


Flujo de aplicaciones

Application StreamEl repositorio proporciona contenido con diferentes ciclos de vida en forma de módulos y paquetes tradicionales.
Application StreamContiene partes esenciales del sistema, así como Red Hat Software Collectionsvarias aplicaciones ofrecidas anteriormente como parte de otros productos y programas.

Nota: BaseOSy AppStreamson componentes necesarios del sistema CentOS/RHEL 8.

Application StreamEl repositorio contiene dos tipos de contenido: 模块y paquetes RPM tradicionales.
Un módulo describe un conjunto de paquetes RPM que van juntos.
Un módulo puede contener varias secuencias para que varias versiones de la aplicación estén disponibles para su instalación.
Habilitar una secuencia de módulos permite que el sistema acceda a los paquetes RPM en la secuencia de módulos.


Introducción al módulo

Un módulo es un conjunto de paquetes RPM que pertenecen juntos como una colección consistente.
Normalmente, 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 un paquete con una aplicación, un paquete con dependencias específicas de la aplicación, un paquete con documentación de la aplicación y un paquete con herramientas auxiliares.


Flujos de módulos

Cada módulo puede tener una o más secuencias de módulos, y estas secuencias contienen diferentes versiones de contenido.
Cada transmisión recibe actualizaciones de forma independiente.
Piense en los flujos de módulos como repositorios virtuales dentro del repositorio físico del flujo de aplicaciones.
Para cada módulo, solo se puede habilitar una de sus transmisiones y sus paquetes están disponibles.


Perfiles de módulo

Cada módulo puede tener uno o más archivos de configuración.
Un archivo de configuración es una lista de ciertos paquetes que se instalan juntos para un caso de uso específico (como servidor, cliente, desarrollo, instalación mínima u otro).
La instalación de un perfil de módulo específico simplemente instala un conjunto específico de paquetes del flujo del módulo.
Luego podremos instalar o desinstalar el paquete con normalidad.
Si no especificamos un perfil, el módulo instalará su perfil predeterminado.


Utilice el módulo de gestión YUM

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


Ver información del módulo

# 列出可用的软件包
yum list available

# 为所选软件包搜索可用的 YUM 存储库
yum repoquery 软件包

Comandos de visualización de módulos de uso común

# 显示哪个模块提供软件包。
## 如果软件包不在任何模块之外,这个命令的输出就为空。
yum module provides package

# 显示模块的详细信息。
yum module info module-name

Listar módulos

# 显示可用模块的列表
yum module list

# 列出特定模块的模块流并检索它们的状态:
yum module list perl

Nota: Utilice las indicaciones al final del resultado para ayudar a determinar qué flujos y perfiles están habilitados, deshabilitados, instalados y cuáles son los predeterminados.

# 显示默认模块流的详细信息
yum module info

# 列出默认模块流安装的包:
yum module info perl

Nota: Cuando no se especifica ningún flujo de módulo, se muestran los detalles del flujo de módulo predeterminado.

# 使用默认流列出由模块的配置集安装的软件包。
yum module info --profile module-name

# 指定流显示由模块的配置集安装的软件包。
## module-name:stream 格式查看特定的模块流。
## -profile 选项以显示有关每个模块配置文件安装的包的信息。
yum module info --profile perl:5.24

Habilite la transmisión de módulos e instale módulos

La transmisión de módulos debe estar habilitada para poder instalar sus módulos.
Para simplificar este proceso, cuando se instala un módulo, habilita sus flujos de módulos cuando sea necesario.

# 启用模块流
yum module enable module-name:stream

Nota: Solo se puede habilitar una secuencia de módulo para un módulo determinado.
Al habilitar el flujo del módulo agregado, se deshabilitará el flujo del módulo original.

# 使用默认流和配置文件安装模块
yum module install -y perl

NOTA: Se puede lograr el mismo resultado ejecutando yum install @perl.
El símbolo @ le dice a yum que el parámetro es el nombre de un módulo en lugar de un nombre de paquete.

Para verificar el estado del flujo del módulo y los archivos de configuración instalados:

# 显示模块的当前状态
yum module list perl

Eliminar módulos y deshabilitar el flujo de módulos

Al eliminar un módulo, se eliminan todos los paquetes instalados mediante los archivos de configuración del flujo de módulos actualmente habilitado, así como cualquier otro paquete y módulo que dependa de estos.
Los paquetes instalados desde esta secuencia de módulos no aparecen en ninguno de sus archivos de configuración, 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 una transmisión habilitada por un módulo equivale a restablecer la transmisión actual y habilitar una nueva.
No cambia automáticamente ningún paquete instalado.
Tenemos que hacer esto manualmente.
No se recomienda instalar directamente una secuencia de módulos que sea diferente de la secuencia de módulos instalada actualmente, ya que se pueden ejecutar secuencias de comandos de actualización durante el proceso de instalación, lo que alterará la situación de la secuencia de módulos original.
Esto puede causar pérdida de datos u otros problemas de configuración.
Proceda con precaución

Para eliminar un módulo instalado:

# 删除已安装的模块
yum module remove -y perl

Después de quitar un módulo, el flujo del módulo permanece habilitado.
Para verificar que la transmisión del módulo aún esté habilitada:

# 移除模块后,模块流仍处于启用状态。
# 要验证模块流是否仍然启用:
yum module list perl

Desactivar módulo

# 禁用模块
yum module disable perl

flujo del módulo de intercambio

Cambiar las secuencias de módulos a menudo requiere actualizar o degradar el contenido a una versión diferente.
Para garantizar un cambio limpio, primero debemos eliminar los módulos proporcionados por el flujo de módulos.
Esto eliminará todos los paquetes instalados por el archivo de configuración del módulo, así como cualquier módulo y paquete del que dependan esos paquetes.

Para habilitar diferentes flujos de módulos e instalar módulos:

# 启用不同的模块流并安装模块
yum module install -y perl:5.24

Se habilitarán las nuevas secuencias de módulos y se deshabilitarán las secuencias actuales.
Puede que sea necesario actualizar o degradar paquetes en flujos de módulos anteriores que no figuran en el nuevo archivo de configuración.
Si es necesario, utilice yum distro-sync para realizar esta tarea.
También puede haber paquetes instalados de flujos de módulos anteriores.
Utilice yum remove para eliminarlos.

Supongo que te gusta

Origin blog.csdn.net/omaidb/article/details/131849257
Recomendado
Clasificación