Instalación de versiones alternativas de RPM en Fedora

Modularidad permite Fedora para proporcionar versiones alternativas de paquetes RPM en los repositorios. Varias aplicaciones diferentes, tiempos de ejecución de idiomas y herramientas están disponibles en múltiples versiones, creadas de forma nativa para cada una. Fedora liberar.

los Fedora Magazine ya ha cubierto Modularidad en Fedora 28 Server Edition hace aproximadamente un año. En ese entonces, era solo un repositorio opcional con contenido adicional y, como sugiere el título, solo estaba disponible para Server Edition. Mucho ha cambiado desde entonces, y ahora La modularidad es una parte central de la Fedora distribución . Y algunos paquetes se han movido completamente a módulos. Al momento de escribir, de los 49,464 paquetes RPM binarios en Fedora 30 — 1.119 (2,26%) provienen de un módulo ( más sobre los números ).

Conceptos básicos de modularidad

Debido a que tener demasiados paquetes en varias versiones puede resultar abrumador (y difícil de administrar), los paquetes se agrupan en módulos que representan una aplicación, un tiempo de ejecución de lenguaje o cualquier otro grupo sensible.

Los módulos a menudo vienen en múltiples arroyos – por lo general representa una versión principal del software. Disponible en paralelo, pero solo se puede instalar un flujo de cada módulo en un sistema determinado.

Y para no abrumar a los usuarios con demasiadas opciones, cada Fedora lanzamiento viene con un conjunto de predeterminados — por lo que las decisiones solo deben tomarse cuando se desee.

Finalmente, para simplificar la instalación, los módulos se pueden instalar opcionalmente usando predefinidos perfiles en base a un caso de uso. Un módulo de base de datos, para examplepodría instalarse como cliente, servidor o ambos.

Modularidad en la práctica

Cuando instala un paquete RPM en su Fedora sistema, lo más probable es que provenga de un flujo de módulos. La razón por la que quizás no te hayas dado cuenta es uno de los principios básicos de la modularidad: permanecer invisible hasta que haya una razón para saberlo.

Comparemos las siguientes dos situaciones. Primero, instale el popular administrador de ventanas de mosaico i3 y, segundo, instale el administrador de ventanas minimalista dwm:

                      $ 
                      
                        sudo dnf install i3
                      
                      
...
Done!

Como era de esperar, el comando anterior instala el paquete i3 y sus dependencias en el sistema. Aquí no pasó nada más. Pero, ¿y el otro?

                      $ 
                      
                        sudo dnf install dwm
                      
                      
...
Enabling module streams:
dwm 6.1
...
Done!

Se siente igual, pero algo sucedió en segundo plano: se habilitó el flujo del módulo dwm predeterminado (6.1) y se instaló el paquete dwm del módulo.

Para ser transparente, hay un mensaje sobre la habilitación automática del módulo en la salida. Pero aparte de eso, el usuario no necesita saber nada sobre modularidad para poder usar su sistema como siempre lo ha hecho.

Pero, ¿y si lo hacen? Veamos cómo se podría haber instalado una versión diferente de dwm en su lugar.

Use el siguiente comando para ver qué flujos de módulos están disponibles:

                      $ 
                      
                        sudo dnf module list
                      
                      
...
dwm latest ...
dwm 6.0 ...
dwm 6.1 [d] ...
dwm 6.2 ...
...
Hint: [d]efault, [e]nabled, [x]disabled, [i]nstalled

El resultado muestra que hay cuatro flujos del módulo dwm, siendo 6.1 el predeterminado.

Para instalar el paquete dwm en una versión diferente, desde la transmisión 6.2 para example — habilite la transmisión y luego instale el paquete usando los dos comandos siguientes:

                      $ 
                      
                        sudo dnf module enable dwm:6.2
                      
                      
...
Enabling module streams:
dwm 6.2
...
Done!
$ sudo dnf install dwm
...
Done!

Finalmente, echemos un vistazo a los perfiles, con PostgreSQL como example.

                      $ 
                      
                        sudo dnf module list
                      
                      
...
postgresql 9.6 client, server ...
postgresql 10 client, server ...
postgresql 11 client, server ...
...

Para instalar PostgreSQL 11 como servidor, use el siguiente comando:

                      $ 
                      
                        sudo dnf module install postgresql:11/server
                      
                    

Tenga en cuenta que, además de habilitar, los módulos se pueden instalar con un solo comando cuando se especifica un perfil.

Es posible instalar varios perfiles a la vez. Para agregar las herramientas del cliente, use el siguiente comando:

                      $ 
                      
                        sudo dnf module install postgresql:11/client
                      
                    

Hay muchos otros módulos con múltiples flujos disponibles para elegir. En el momento de escribir este artículo, había 83 flujos de módulos en Fedora 30. Eso incluye dos versiones de MariaDB, tres versiones de Node.js, dos versiones de Ruby y muchas más.

por favor refiérase a documentación de usuario oficial para Modularity para un conjunto completo de comandos, incluido el cambio de un flujo a otro.

Related Posts