Skip to content

Objetivos

  • Crear una cuenta en el portal Red Hat Developer.
  • Registrar y suscribir un servidor RHEL 9 utilizando una suscripción de Red Hat Developer.
  • Gestionar paquetes de software utilizando el gestor de paquetes dnf.
  • Administrar módulos y grupos de paquetes en RHEL 9 mediante dnf.

Entorno Inicial

  • Usuario: student
  • Máquina: servera
  • Contraseña inicial: student
  • Herramientas utilizadas: Shell Bash y utilidades básicas de Linux.

Pasos del Laboratorio

Prerequisitos

  1. Inicio de sesión

    • Inicia sesión en la máquina servera desde bastion como el usuario student utilizando la llave privada proporcionada:
    ssh student-#-servera
    

Parte 1: Creación de cuenta en Red Hat Developer

  1. Accedemos a developers.redhat.com

  2. Nos dirigimos al botón de Login y damos clic en el

Red Hat Developer 1

  1. Complementamos la información de registro de Red Hat

Red Hat Developer 2

  1. Damos clic en "Create my account"

Red Hat Developer 3

  1. Accedemos a access.redhat.com

  2. Ingresemos la información de la cuenta que creamos

    Red Hat Developer 4

    • Se solicitará la verificación de la cuenta.

    Red Hat Developer 5

  3. Verificamos la cuenta con el link de verificación en nuestro email.

Red Hat Developer 6

  1. Una vez verificada la cuenta, tendremos acceso a la suscripción de developers de Red Hat

Red Hat Developer 7

Parte 2: Suscripción de sistema RHEL

  1. Cambiar a superusuario

    • Usa el comando sudo -i para obtener privilegios de root:
    sudo -i
    
  2. Listar los repositorios disponibles

    • Ejecuta el siguiente comando para listar los repositorios configurados:
    dnf repolist
    
    • Resultado esperado: repositorios de RHEL para Google Cloud VMs.
    repo id                                                                                                   repo name
    google-cloud-sdk                                                                                          Google Cloud SDK
    google-compute-engine                                                                                     Google Compute Engine
    rhui-rhel-9-for-x86_64-appstream-rhui-debug-rpms                                                          Red Hat Enterprise Linux 9 for x86_64 - AppStream from RHUI (Debug RPMs)
    rhui-rhel-9-for-x86_64-appstream-rhui-rpms                                                                Red Hat Enterprise Linux 9 for x86_64 - AppStream from RHUI (RPMs)
    rhui-rhel-9-for-x86_64-appstream-rhui-source-rpms                                                         Red Hat Enterprise Linux 9 for x86_64 - AppStream from RHUI (Source RPMs)
    rhui-rhel-9-for-x86_64-baseos-rhui-debug-rpms                                                             Red Hat Enterprise Linux 9 for x86_64 - BaseOS from RHUI (Debug RPMs)
    rhui-rhel-9-for-x86_64-baseos-rhui-rpms                                                                   Red Hat Enterprise Linux 9 for x86_64 - BaseOS from RHUI (RPMs)
    rhui-rhel-9-for-x86_64-baseos-rhui-source-rpms                                                            Red Hat Enterprise Linux 9 for x86_64 - BaseOS from RHUI (Source RPMs)
    
  3. Instalar subscription-manager

    • Instala el paquete necesario para la gestión de suscripciones:
    dnf install -y subscription-manager
    
  4. Verificar la suscripción del sistema

    • Comprueba el estado de la suscripción:
    subscription-manager identity
    
    • Resultado esperado si no está registrado:
    This system is not yet registered. Try 'subscription-manager register --help' for more information.
    
  5. Registrar el sistema en Red Hat

    • Registra el sistema usando la cuenta creada en Red Hat Developer:
    subscription-manager register
    
    • Resultado esperado:
    Registering to: subscription.rhsm.redhat.com:443/subscription
    Username: USERNAME
    Password:
    The system has been registered with ID: xxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
    The registered system name is: student-0-servera
    
  6. Listar repositorios habilitados por la suscripción

    • Verifica los repositorios activos de la suscripción:
    subscription-manager repos --list-enabled
    
    • Resultado esperado:
    +----------------------------------------------------------+
        Available Repositories in /etc/yum.repos.d/redhat.repo
    +----------------------------------------------------------+
    Repo ID:   rhel-9-for-x86_64-baseos-rpms
    Repo Name: Red Hat Enterprise Linux 9 for x86_64 - BaseOS (RPMs)
    Repo URL:  https://cdn.redhat.com/content/dist/rhel9/$releasever/x86_64/baseos/os
    Enabled:   1    
    
    Repo ID:   rhel-9-for-x86_64-appstream-rpms
    Repo Name: Red Hat Enterprise Linux 9 for x86_64 - AppStream (RPMs)
    Repo URL:  https://cdn.redhat.com/content/dist/rhel9/$releasever/x86_64/appstream/os
    Enabled:   1
    
  7. Listar de nuevo los repositorios

    • Usa dnf para listar los repositorios actuales:
    dnf repolist
    
    • Resultado esperado: se encuentran tanto los repos de RHEL de google como los de la suscripción
    Updating Subscription Management repositories.
    repo id                                                                                                   repo name
    google-cloud-sdk                                                                                          Google Cloud SDK
    google-compute-engine                                                                                     Google Compute Engine
    rhel-9-for-x86_64-appstream-rpms                                                                          Red Hat Enterprise Linux 9 for x86_64 - AppStream (RPMs)
    rhel-9-for-x86_64-baseos-rpms                                                                             Red Hat Enterprise Linux 9 for x86_64 - BaseOS (RPMs)
    rhui-rhel-9-for-x86_64-appstream-rhui-debug-rpms                                                          Red Hat Enterprise Linux 9 for x86_64 - AppStream from RHUI (Debug RPMs)
    rhui-rhel-9-for-x86_64-appstream-rhui-rpms                                                                Red Hat Enterprise Linux 9 for x86_64 - AppStream from RHUI (RPMs)
    rhui-rhel-9-for-x86_64-appstream-rhui-source-rpms                                                         Red Hat Enterprise Linux 9 for x86_64 - AppStream from RHUI (Source RPMs)
    rhui-rhel-9-for-x86_64-baseos-rhui-debug-rpms                                                             Red Hat Enterprise Linux 9 for x86_64 - BaseOS from RHUI (Debug RPMs)
    rhui-rhel-9-for-x86_64-baseos-rhui-rpms                                                                   Red Hat Enterprise Linux 9 for x86_64 - BaseOS from RHUI (RPMs)
    rhui-rhel-9-for-x86_64-baseos-rhui-source-rpms                                                            Red Hat Enterprise Linux 9 for x86_64 - BaseOS from RHUI (Source RPMs)
    
  8. Buscar información de un paquete no disponible en BaseOS/AppStream

    • Intenta consultar un paquete que no esté habilitado:
    dnf info ansible-automation-platform-installer
    
    • Resultado esperado:
    Updating Subscription Management repositories.
    Last metadata expiration check: 0:00:16 ago on Mon 28 Apr 2025 11:21:21 PM UTC.
    Error: No matching Packages to list
    
  9. Listar todos los repositorios disponibles de la suscripción

    • Usa subscription-manager para listar todos los repos disponibles:
    subscription-manager repos --list
    
    • Ejemplo de salida:
    +----------------------------------------------------------+
        Available Repositories in /etc/yum.repos.d/redhat.repo
    +----------------------------------------------------------+
    Repo ID:   rhwa-nmo-1-for-rhel-9-x86_64-rpms
    Repo Name: Red Hat OpenShift Workload Availability - Node Maintenance Operator 1 for RHEL 9 x86_64 (RPMs)
    Repo URL:  https://cdn.redhat.com/content/dist/layered/rhel9/x86_64/rhwa-nmo/1/os
    Enabled:   0
    ...
    
  10. Habilitar el repositorio de Ansible Automation Platform

    • Habilita el repositorio necesario:
    subscription-manager repos --enable ansible-automation-platform-2.2-for-rhel-9-x86_64-rpms
    
  11. Consultar nuevamente el paquete

    • Vuelve a listar la información del paquete:
    dnf info ansible-automation-platform-installer
    
  12. Listar versiones disponibles del paquete

    • Muestra las diferentes versiones:
    dnf list ansible-automation-platform-installer --showduplicates
    
    • Resultado esperado:
    Updating Subscription Management repositories.
    Last metadata expiration check: 0:00:08 ago on Mon 28 Apr 2025 11:25:58 PM UTC.
    Available Packages
    ansible-automation-platform-installer.noarch                                                             2.2.0-5.el9ap                                                                    ansible-automation-platform-2.2-for-rhel-9-x86_64-rpms
    ansible-automation-platform-installer.noarch                                                             2.2.0-6.el9ap                                                                    ansible-automation-platform-2.2-for-rhel-9-x86_64-rpms
    ansible-automation-platform-installer.noarch                                                             2.2.0-7.el9ap                                                                    ansible-automation-platform-2.2-for-rhel-9-x86_64-rpms
    ansible-automation-platform-installer.noarch                                                             2.2.0-8.el9ap                                                                    ansible-automation-platform-2.2-for-rhel-9-x86_64-rpms
    ansible-automation-platform-installer.noarch                                                             2.2.1-1.el9ap                                                                    ansible-automation-platform-2.2-for-rhel-9-x86_64-rpms
    ansible-automation-platform-installer.noarch                                                             2.2.1-1.1.el9ap                                                                  ansible-automation-platform-2.2-for-rhel-9-x86_64-rpms
    ansible-automation-platform-installer.noarch                                                             2.2.1-3.el9ap                                                                    ansible-automation-platform-2.2-for-rhel-9-x86_64-rpms
    ansible-automation-platform-installer.noarch                                                             2.2.2-1.el9ap                                                                    ansible-automation-platform-2.2-for-rhel-9-x86_64-rpms
    
  13. Instalar una versión específica del paquete

    • Instala una versión que no sea la última:
    dnf install -y ansible-automation-platform-installer-2.2.0-5.el9ap
    
  14. Actualizar el paquete instalado

    • Usa dnf update para actualizar:
    dnf update -y ansible-automation-platform-installer
    
  15. Remover el paquete instalado

    • Elimina el paquete:
    dnf remove -y ansible-automation-platform-installer
    
  16. Remover la suscripción del sistema

    • Cancela el registro del sistema:
    subscription-manager unregister
    
    • Resultado esperado:
    Unregistering from: subscription.rhsm.redhat.com:443/subscription
    System has been unregistered.
    
  17. Listar los repositorios luego de remover la suscripción

    • Verifica los repositorios activos:
    dnf repolist
    
    • Resultado esperado:
    Updating Subscription Management repositories.
    Unable to read consumer identity    
    
    This system is not registered with an entitlement server. You can use subscription-manager to register.    
    
    repo id                                                                                                   repo name
    google-cloud-sdk                                                                                          Google Cloud SDK
    google-compute-engine                                                                                     Google Compute Engine
    rhui-rhel-9-for-x86_64-appstream-rhui-debug-rpms                                                          Red Hat Enterprise Linux 9 for x86_64 - AppStream from RHUI (Debug RPMs)
    rhui-rhel-9-for-x86_64-appstream-rhui-rpms                                                                Red Hat Enterprise Linux 9 for x86_64 - AppStream from RHUI (RPMs)
    rhui-rhel-9-for-x86_64-appstream-rhui-source-rpms                                                         Red Hat Enterprise Linux 9 for x86_64 - AppStream from RHUI (Source RPMs)
    rhui-rhel-9-for-x86_64-baseos-rhui-debug-rpms                                                             Red Hat Enterprise Linux 9 for x86_64 - BaseOS from RHUI (Debug RPMs)
    rhui-rhel-9-for-x86_64-baseos-rhui-rpms                                                                   Red Hat Enterprise Linux 9 for x86_64 - BaseOS from RHUI (RPMs)
    rhui-rhel-9-for-x86_64-baseos-rhui-source-rpms                                                            Red Hat Enterprise Linux 9 for x86_64 - BaseOS from RHUI (Source RPMs)
    

Parte 3: Gestión de módulos y grupos de paquetes

  1. Actualizar el sistema

    • Antes de instalar módulos o grupos, aseguramos que todo esté actualizado:
    dnf update -y
    
  2. Buscar módulos disponibles

    • En RHEL 9, varios programas se gestionan como módulos. Para ver los disponibles:
    dnf module list
    
    • Resultado esperado:
    Name             Stream        Profiles                                Summary
    php              8.0 [d]       common [d], devel, minimal              PHP scripting language
    nodejs           18 [d]        common [d], development, minimal        Javascript runtime
    
  3. Instalar un módulo específico

    • Supongamos que queremos instalar Node.js 18 como entorno de desarrollo:
    dnf module install nodejs:18
    
  4. Ver el historial de transacciones

    • DNF guarda el historial de cambios. Para verlo:
    dnf history
    
    • Resultado esperado:
    ID | Command line                      | Date and time    | Action(s)      | Altered
    -------------------------------------------------------------------------------
    34 | module install nodejs:18          | 2025-04-28 10:30 | Install        |    15
    
  5. Deshacer una instalación (rollback)

    • Si queremos revertir la instalación de Node.js:
    dnf history undo 34
    
  6. Buscar grupos de paquetes disponibles

    • Red Hat clasifica conjuntos de paquetes relacionados como grupos. Para listarlos:
    dnf group list
    
    • Resultado esperado:
    Available Environment Groups:
       Server with GUI
       Minimal Install
       Custom Operating System
    Available Groups:
       Development Tools
       Security Tools
       System Tools
    
  7. Instalar un grupo de paquetes

    • Ahora instalamos el grupo Development Tools que incluye compiladores, make, git, etc.:
    dnf group install "Development Tools"
    
  8. Ver detalles de un grupo antes de instalar

    • Si quieres ver qué paquetes incluye un grupo:
    dnf group info "Development Tools"
    
    • Resultado esperado:
    Group: Development Tools
     Description: A basic development environment.
     Mandatory Packages:
       gcc
       make
       git
     Optional Packages:
       strace
       valgrind
    
  9. Habilitar un flujo diferente de un módulo

    • Resetear el módulo:
    dnf module reset nodejs
    
  10. Eliminar un módulo instalado

    • Si quieres remover por completo:
    dnf module remove nodejs
    
    • Resultado esperado: No es posible remover el módulo porque ya fué eliminado con anterioridad.
  11. Regresa al usuario student:

    exit
    

Resultados Esperados

  • Se ha creado exitosamente una cuenta en el portal Red Hat Developer.
  • El servidor RHEL 9 ha sido registrado y suscrito utilizando una suscripción de Red Hat Developer.
  • Los paquetes de software han sido instalados, actualizados y eliminados correctamente utilizando dnf.
  • Los módulos y grupos de paquetes han sido gestionados de manera adecuada en el sistema RHEL 9.