Administración del Software
Gestión de paquetes y repositorios en sistemas Linux (RPM y Flatpak)
1. Configurar el acceso a los repositorios de RPM
Los repositorios son fuentes de software que se definen mediante archivos .repo en /etc/yum.repos.d/. Son esenciales para que dnf pueda resolver dependencias automáticamente.
Donde cada campo significa:
- [id-del-repo] → Identificador del repositorio.
- name → Nombre descriptivo.
- baseurl → Enlace directo al servidor donde se encuentran los paquetes RPM (Si es local: baseurl=file:///RUTA-MONTAJE).
- enabled → Define si el repositorio está activo (1) o ignorado (0).
- gpgcheck → Indica si el sistema debe validar la firma de seguridad de los paquetes (1) o no (0).
- gpgkey → URL de la clave pública del proveedor para verificar la autenticidad del software.
Comandos de mantenimiento tras añadir un repo:
dnf clean all→ Limpia la caché.dnf makecache→ Regenera la caché.dnf repolist→ Comprueba los repositorios activos.
Por último, podríamos gestionar repositorios a través de comandos:
- dnf config-manager --add-repo=URL → Añade un nuevo repositorio desde una URL.
- dnf config-manager --set-enabled [id-del-repo] → Habilita un repositorio.
- dnf config-manager --set-disabled [id-del-repo] → Deshabilita un repositorio.
- sudo rm /etc/yum.repos.d/[nombre-archivo].repo → Elimina el repositorio borrando su archivo.
2. Instalar y eliminar paquetes de software RPM
Los gestores de paquetes principales en sistemas modernos son RPM y DNF. RPM permite gestionar paquetes pero no resuelve dependencias automáticamente, mientras que DNF sí lo hace. Yum está obsoleto.
Comandos más utilizados de RPM:
- rpm -ivh paquete.rpm → Instalar un paquete RPM localmente.
- rpm -Uvh paquete.rpm → Actualiza (o instala) un paquete rpm.
- rpm -e nombre_paquete → Eliminar un paquete instalado.
- rpm -V nombre_paquete → Verificar la integridad de los archivos.
- rpm -qa → Listar todos los paquetes instalados.
- rpm -qf → Consulta a qué paquete pertenece un archivo del sistema..
- rpm -qi nombre_paquete → Mostrar información detallada de un paquete instalado.
- rpm -ql paquete → Lista los archivos que existen en un paquete.
Comandos más utilizados de DNF:
- dnf install paquete → Instalar un paquete.
- dnf download paquete → Descargar un paquete .rpm.
- dnf remove paquete → Eliminar un paquete.
- dnf upgrade paquete → Actualizar el paquete.
- dnf search paquete → Buscar paquetes.
- dnf list (installed) → Lista todos los paquetes (instalados).
- dnf repoquery paquete → Busca los paquetes disponibles.
- dnf info paquete → Información de un paquete (similar a qi).
- dnf provides → Indica qué paquete pertenece a un comando o archivo (similar a qf).
Dentro de dnf podemos ver su historial con dnf history y deshacer acciones con dnf history undo Nº.
Para extraer archivos concretos de un paquete RPM usamos rpm2cpio junto con cpio -idv:
3. Configurar el acceso a los repositorios de Flatpak
Flatpak es un sistema de distribución de aplicaciones aisladas mediante contenedores de usuario. Los repositorios pueden añadirse mediante:
- flatpak remote-add --if-not-exists flathub URL → Añadir repositorios
- flatpak remotes → Listar repositorios configurados
- flatpak remote-delete → Eliminar repositorios
Esto se crea para el usuario actual; para todos los usuarios añadiremos --system.
En el examen RHCSA nos podrían pedir añadir un repositorio oficial de RED HAT :
Si --auth-file falla, usamos la configuración manual: cp $XDG_RUNTIME_DIR/containers/auth.json /etc/flatpak/oci-auth.json y chmod 644 /etc/flatpak/oci-auth.json.
4. Instalar y eliminar paquetes de software Flatpak
Una vez configurado un repositorio Flatpak, podemos gestionar aplicaciones de forma sencilla y segura. Las aplicaciones Flatpak usan nombres de dominio invertidos (ej: org.mozilla.firefox) para su gestión.
- flatpak install app → Instalar una aplicación
- flatpak update app → Actualizar una aplicación
- flatpak info app → Información de una aplicación
- flatpak list → Listar aplicaciones instaladas
- flatpak run app → Lanzar una aplicación
- flatpak ps app → Ver las aplicaciones que están corriendo
- flatpak uninstall app → Eliminar una aplicación
- flatpak search app → Buscar una aplicación