Capítulo 2. Introducción a los módulos
Además de paquetes RPM individuales, el repositorio de AppStream contiene módulos. Un módulo es un conjunto de paquetes RPM que representan un componente y que normalmente se instalan juntos. Un módulo típico contiene paquetes con una aplicación, paquetes con las bibliotecas de dependencias específicas de la aplicación, paquetes con documentación para la aplicación y paquetes con utilidades de ayuda.
En las secciones siguientes se describen otras características para la organización y el manejo de los contenidos dentro de los módulos:
- Streams - organización del contenido por versión. Para más detalles, consulte Sección 2.1, “Flujos de módulos”.
- Perfiles: organización de los contenidos por objetivos. Para más detalles, consulte Sección 2.2, “Perfiles de los módulos”.
2.1. Flujos de módulos
Los flujos de módulos son filtros que pueden imaginarse como repositorios virtuales en el repositorio físico de AppStream. Los flujos de módulos representan versiones de los componentes de AppStream. Cada uno de los flujos recibe actualizaciones de forma independiente.
Los flujos de módulos pueden ser activos o inactivos. Los flujos activos dan al sistema acceso a los paquetes RPM dentro del flujo de módulos particular, permitiendo la instalación de la respectiva versión del componente. Los flujos están activos si se marcan como predeterminados o si se habilitan explícitamente mediante una acción del usuario.
Sólo un flujo de un módulo concreto puede estar activo en un momento dado. Por lo tanto, sólo se puede instalar una versión de un componente en un sistema. Se pueden utilizar diferentes versiones en contenedores separados.
Cada módulo puede tener un flujo por defecto. Los flujos por defecto facilitan el consumo de paquetes RHEL de la forma habitual sin necesidad de aprender sobre los módulos. El flujo por defecto está activo, a no ser que se haya desactivado todo el módulo o se haya activado otro flujo de ese módulo.
Algunos flujos de módulos dependen de otros flujos de módulos. Por ejemplo, los flujos de módulos perl-App-cpanminus, perl-DBD-MySQL, perl-DBD-Pg, perl-DBD-SQLite, perl-DBI, perl-YAML, y freeradius dependen de ciertos flujos de módulos perl.
Para seleccionar un flujo particular para una aplicación de usuario en tiempo de ejecución o una aplicación de desarrollador, considere lo siguiente:
- Funcionalidad requerida y qué versiones de los componentes la soportan
- Compatibilidad
- Duracióndel ciclo de vida y su plan de actualización
Para ver una lista de todos los módulos y flujos disponibles, consulte el manifiesto del paquete. Para conocer los cambios por componente, consulte las Notas de la versión.
Ejemplo 2.1. postgresql flujos de módulos
El módulo postgresql proporciona las PostgreSQL versiones de la base de datos 9.6, 10 y 12 en los respectivos flujos 9.6, 10 y 12. El flujo 10 es actualmente el predeterminado. Esto significa que el sistema intentará instalar el paquete postgresql-10.6 paquete si se le pide postgresql.
Recursos adicionales
- Para más información sobre las dependencias modulares, consulte Sección 6.1, “Dependencias modulares y cambios de flujo”.
- Para obtener instrucciones sobre cómo actualizar los flujos de módulos, consulte Sección 6.5, “Cambiar a un flujo posterior”.