Instalar Software en Red Hat Enterprise Linux

Red Hat Enterprise LinuxBeginner
Practicar Ahora

Introducción

En este laboratorio, obtendrás experiencia práctica en la gestión de paquetes de software en sistemas Red Hat Enterprise Linux (RHEL) utilizando DNF. Empezarás comprendiendo el comando subscription-manager para el registro de soporte de Red Hat, incluso en un entorno simulado. Posteriormente, explorarás cómo recuperar e interpretar la información de los paquetes RPM, y luego dominarás la instalación y la eliminación de paquetes de software utilizando DNF.

Además, este laboratorio te guiará a través de la gestión de los repositorios de software DNF, incluyendo la adición, activación y desactivación de los mismos. Finalmente, aprenderás a ver y comprender el historial de transacciones de DNF, proporcionando una visión general completa de las operaciones de gestión de paquetes.

Nota: Este laboratorio requiere conectividad de red para descargar paquetes y acceder a los repositorios. Solo está disponible para usuarios de LabEx Pro.

Este es un Guided Lab, que proporciona instrucciones paso a paso para ayudarte a aprender y practicar. Sigue las instrucciones cuidadosamente para completar cada paso y obtener experiencia práctica. Los datos históricos muestran que este es un laboratorio de nivel principiante con una tasa de finalización del 91%. Ha recibido una tasa de reseñas positivas del 93% por parte de los estudiantes.

Registrar tu Sistema para Soporte de Red Hat

En este paso, aprenderás a registrar tu sistema para el soporte de Red Hat utilizando el comando subscription-manager. Aunque una suscripción completa de Red Hat no está disponible en este entorno simulado, comprender el comando subscription-manager es crucial para gestionar el software en sistemas Red Hat Enterprise Linux. Este comando te permite registrar tu sistema con Red Hat, adjuntar suscripciones y acceder a la red de entrega de contenido de Red Hat para paquetes de software y actualizaciones.

Primero, intentemos registrar el sistema utilizando un nombre de usuario ficticio. Esto demostrará el uso del comando, aunque el registro real requiere credenciales válidas de Red Hat.

sudo subscription-manager register --username labex

Se te pedirá una contraseña. Dado que este es un entorno simulado, puedes introducir cualquier contraseña o simplemente presionar Enter si el sistema lo permite. Es probable que el comando no se conecte al servicio de suscripción de Red Hat, lo cual se espera en este entorno de laboratorio. Lo importante es comprender la sintaxis del comando y su uso previsto.

Registrando en: subscription.rhsm.redhat.com:443/subscription
Contraseña:
Nombre de usuario o contraseña inválidos. Para crear un inicio de sesión, visita https://www.redhat.com/wapps/ugc/register.html (Código de error HTTP 401: No autorizado)

Finalmente, veamos cómo ver las suscripciones consumidas. Este comando muestra qué suscripciones están actualmente adjuntas a tu sistema.

sudo subscription-manager list --consumed

Dado que el sistema no está registrado, verás un mensaje indicando que no hay suscripciones consumidas.

No se encontraron grupos de suscripción consumidos.

A continuación, exploremos cómo se listarían normalmente las suscripciones disponibles para tu cuenta de Red Hat. Este comando te mostraría los diferentes grupos de suscripción asociados con tu cuenta de Red Hat.

sudo subscription-manager list --available

Dado que el sistema aún no está registrado, verás un mensaje de error indicando que primero se requiere el registro.

Este sistema aún no está registrado. Prueba 'subscription-manager register --help' para obtener más información.

Este ejercicio demuestra el uso básico de subscription-manager para el registro y la visualización de información de suscripción. Aunque la funcionalidad completa está limitada en este entorno simulado, estos comandos son fundamentales para gestionar el acceso al software en sistemas RHEL.

Explorar la Información de Paquetes RPM

En este paso, aprenderás a usar el comando rpm para investigar paquetes de software. RPM (Red Hat Package Manager) es el sistema de gestión de paquetes principal utilizado por Red Hat Enterprise Linux. Si bien dnf (que explorarás más adelante) es una herramienta de nivel superior para gestionar paquetes desde repositorios, rpm te permite consultar, verificar, instalar y desinstalar archivos .rpm individuales.

Primero, enumeremos todos los paquetes RPM instalados en tu sistema. Esto puede generar una lista muy larga, así que canalizaremos la salida a head para ver solo el principio.

rpm -qa | head

Verás una lista de nombres de paquetes, versiones y arquitecturas. Por ejemplo:

libgcc-11.4.1-3.el9.x86_64
crypto-policies-20240202-1.git283706d.el9.noarch
tzdata-2024a-1.el9.noarch
subscription-manager-rhsm-certificates-20220623-1.el9.noarch
redhat-release-9.4-0.4.el9.x86_64
setup-2.13.7-10.el9.noarch
filesystem-3.16-2.el9.x86_64
basesystem-11-13.el9.noarch
pcre2-syntax-10.40-5.el9.noarch
ncurses-base-6.2-10.20210508.el9.noarch

A continuación, averigüemos qué paquete proporciona un archivo específico. Usaremos /etc/yum.repos.d como ejemplo, que es un directorio que contiene archivos de configuración de repositorios DNF.

rpm -qf /etc/yum.repos.d

La salida mostrará el paquete propietario de este directorio.

redhat-release-9.4-0.4.el9.x86_64

Ahora, obtengamos información detallada sobre un paquete instalado. Usaremos el paquete dnf como ejemplo.

rpm -qi dnf

Este comando proporciona una gran cantidad de información, incluyendo el nombre del paquete, versión, lanzamiento, arquitectura, tamaño, resumen, URL, licencia y una descripción detallada.

(Salida del comando)

También puedes listar todos los archivos instalados por un paquete. Esto puede ser útil para comprender qué coloca un paquete en tu sistema.

rpm -ql dnf | head -n 10

Esto mostrará los primeros 10 archivos instalados por el paquete dnf.

(Salida del comando)

Para ver solo los archivos de configuración instalados por un paquete, usa la opción -qc. Veamos el paquete openssh-clients.

rpm -qc openssh-clients

Esto mostrará los archivos de configuración relacionados con los clientes SSH.

(Salida del comando)

Finalmente, para ver la información del registro de cambios de un paquete, usa --changelog. Esto puede proporcionar información sobre el historial de actualizaciones y correcciones de un paquete. Veamos el paquete audit.

rpm -q --changelog audit | head -n 5

Si el paquete no está instalado, verás un mensaje de error:

package audit is not installed

Puedes probar con un paquete instalado en su lugar. Por ejemplo, con el paquete setup:

rpm -q --changelog setup | head -n 5

Estos comandos rpm son herramientas poderosas para comprender los paquetes instalados en tu sistema y los archivos que contienen.

Instalar y Eliminar Paquetes de Software con DNF

En este paso, aprenderás a usar dnf (Dandified YUM) para gestionar paquetes de software. dnf es el gestor de paquetes predeterminado en Red Hat Enterprise Linux 9 y se utiliza para instalar, actualizar y eliminar paquetes de software, así como para gestionar repositorios de software. Gestiona automáticamente las dependencias, lo que facilita mucho la gestión de software en comparación con rpm solo.

Primero, enumeremos todos los paquetes disponibles e instalados que tienen "http" en su nombre. Esto te dará una idea de qué paquetes están relacionados con los servicios HTTP.

sudo dnf list 'http*'

Verás una lista de paquetes, indicando si están instalados o disponibles para su instalación.

(Salida del comando)

Ahora, busquemos paquetes que contengan "servidor web" en su nombre, resumen o descripción. La opción search all es útil para una búsqueda más amplia.

sudo dnf search all 'web server'

Este comando devolverá una lista de paquetes que coincidan con los términos de búsqueda.

(Salida del comando)

Obtengamos información detallada sobre el paquete httpd, que es el servidor HTTP Apache.

sudo dnf info httpd

Esto mostrará detalles completos sobre el paquete, incluyendo su tamaño, licencia y descripción.

(Salida del comando)

Ahora, instalemos el paquete httpd. Necesitarás privilegios sudo para esta operación.

sudo dnf install httpd -y

La bandera -y responde automáticamente "sí" a cualquier solicitud, lo que es útil para scripts, pero úsalo con precaución en entornos de producción.

(Salida del comando)

Puedes verificar que httpd esté instalado consultando rpm:

rpm -q httpd
(Salida del comando)

Ahora, eliminemos el paquete httpd.

sudo dnf remove httpd -y

Esto eliminará el paquete httpd y cualquier dependencia que ya no sea necesaria por otros paquetes instalados.

(Salida del comando)

Puedes confirmar su eliminación:

rpm -q httpd
(Salida del comando)

Esto demuestra los comandos básicos de dnf para instalar y eliminar paquetes de software.

Administrar Repositorios de Software DNF

En este paso, aprenderás a administrar repositorios de software DNF. Los repositorios son ubicaciones donde se almacenan los paquetes de software y desde donde dnf los recupera. Comprender cómo listar, habilitar, deshabilitar y añadir repositorios es crucial para controlar qué software está disponible en tu sistema.

Primero, enumeremos todos los repositorios DNF configurados y su estado (habilitado o deshabilitado).

sudo dnf repolist all

Verás una lista de identificadores de repositorio, nombres y su estado actual.

(Salida del comando)

El comando dnf config-manager es una herramienta poderosa para administrar las configuraciones de repositorios. Puedes utilizarlo para habilitar o deshabilitar repositorios. Por ejemplo, intentemos habilitar un repositorio de depuración hipotético. Aunque este repositorio específico podría no existir o ser accesible en este entorno de laboratorio, el comando demuestra la sintaxis.

sudo dnf config-manager --enable rhel-9-server-debug-rpms

Verás mensajes sobre la gestión de suscripciones y un error indicando que el repositorio no se encuentra, lo cual es esperado en este entorno.

(Salida del comando)

Ahora, intentemos deshabilitar un repositorio. Usaremos rhel-9-for-x86_64-appstream-rpms como ejemplo. Nota: Este nombre de repositorio específico no existe en este entorno UBI, pero el comando demuestra la sintaxis.

sudo dnf config-manager --disable rhel-9-for-x86_64-appstream-rpms

Verás mensajes de gestión de suscripciones y un error indicando que el repositorio no existe en este entorno.

(Salida del comando)

Verifiquemos que este nombre de repositorio no exista en el sistema actual:

sudo dnf repolist all | grep rhel-9-for-x86_64-appstream-rpms

Como se esperaba, no habrá salida, ya que este repositorio no existe en el entorno UBI.

(Sin salida)

Probemos el mismo comando de habilitación para confirmar que el repositorio no existe:

sudo dnf config-manager --enable rhel-9-for-x86_64-appstream-rpms

De nuevo, verás el mismo mensaje de error:

(Salida del comando)

El comando dnf config-manager --add-repo también se puede usar para agregar nuevos repositorios especificando una URL. Para demostración, intentaremos agregar una URL de repositorio EPEL (Extra Packages for Enterprise Linux) común. Aunque esto podría no configurar completamente el repositorio (ya que a menudo requiere una clave GPG y un archivo .repo específico), muestra la capacidad del comando.

sudo dnf config-manager --add-repo="https://dl.fedoraproject.org/pub/epel/9/Everything/x86_64/"

Verás una salida indicando que se ha creado un nuevo archivo .repo.

(Salida del comando)

Puedes inspeccionar el archivo .repo recién creado en /etc/yum.repos.d/. El nombre del archivo se derivará de la URL.

ls /etc/yum.repos.d/

Deberías ver un archivo como dl.fedoraproject.org_pub_epel_9_Everything_x86_64_.repo junto con los archivos de repositorio existentes.

(Salida del comando)

Finalmente, eliminemos el archivo de configuración del repositorio que acabamos de agregar para limpiar.

sudo rm /etc/yum.repos.d/dl.fedoraproject.org_pub_epel_9_Everything_x86_64_.repo

Este paso te ha mostrado cómo listar, habilitar, deshabilitar y agregar repositorios DNF, habilidades esenciales para administrar las fuentes de software en RHEL.

Ver el Historial de Transacciones de DNF

En este paso, aprenderás a visualizar el historial de transacciones de las operaciones de DNF. dnf mantiene un registro detallado de todas las instalaciones, eliminaciones y actualizaciones de paquetes. Este historial es invaluable para la resolución de problemas, la auditoría e incluso para revertir cambios si es necesario.

Primero, visualicemos el resumen de todas las transacciones DNF que se han realizado en tu sistema.

sudo dnf history

Verás una tabla que enumera cada transacción con un ID, la línea de comandos utilizada, la fecha y hora, la(s) acción(es) realizada(s) y el número de paquetes modificados.

ID     | Línea de comandos              | Fecha y hora    | Acción(es)      | Modificados
--------------------------------------------------------------------------------
     3 | install httpd             | 2024-04-22 08:00 | Instalar        |   10
     2 | remove httpd              | 2024-04-22 08:01 | Eliminar         |    6
     1 |                           | 2024-04-22 07:50 | Instalar        |  767 EE

La columna ID es particularmente importante, ya que permite hacer referencia a transacciones específicas. Por ejemplo, si deseas ver información detallada sobre una transacción específica, puedes usar dnf history info <ID>. Veamos los detalles de la última transacción (que debería ser la eliminación de httpd del paso anterior). Puedes encontrar el ID en la salida de dnf history. En el ejemplo anterior, es 2.

sudo dnf history info 2

Este comando proporciona un desglose completo de la transacción seleccionada, incluyendo los paquetes eliminados, sus versiones y el motivo de la acción.

(Salida del comando)

Una de las características más poderosas del historial de DNF es la capacidad de deshacer o rehacer transacciones. Por ejemplo, para deshacer la eliminación de httpd, usarías dnf history undo <ID>. Deshagamos la transacción de eliminación de httpd (usando el ID de la salida de dnf history, por ejemplo, 2).

sudo dnf history undo 2 -y

Este comando volverá a instalar el paquete httpd y sus dependencias que fueron eliminadas en esa transacción específica.

(Salida del comando)

Puedes verificar que httpd ahora está instalado de nuevo:

rpm -q httpd
(Salida del comando)

Finalmente, eliminemos httpd de nuevo para dejar el sistema en un estado limpio para futuros laboratorios.

sudo dnf remove httpd -y
(Salida del comando)

Este paso ha demostrado cómo usar dnf history para ver, inspeccionar e incluso revertir transacciones DNF, proporcionando capacidades potentes para la administración del sistema.

Resumen

En este laboratorio, aprendimos habilidades esenciales para administrar paquetes de software en Red Hat Enterprise Linux utilizando DNF. Comenzamos comprendiendo el comando subscription-manager, crucial para registrar sistemas con Red Hat y acceder a su red de entrega de contenido, aunque no fue posible el registro completo en el entorno simulado.

Posteriormente, exploramos cómo consultar información sobre paquetes RPM, instalar y eliminar software utilizando DNF, administrar repositorios de software DNF y visualizar el historial de transacciones de DNF. Estos pasos proporcionaron una visión general completa de las capacidades de DNF para la administración eficiente de software.