
te escapaste dnf updatealgo ha dejado de funcionar ahora. No desea pasar horas solucionando problemas y solo desea volver a la versión del paquete que estaba ejecutando antes.
Esto sucede con más frecuencia de lo que a la mayoría de los administradores de Linux les gustaría admitir. Quizás una nueva versión de Nginx introdujo cambios de configuración preestablecidos que dañaron su host virtual. Las actualizaciones de la biblioteca Python cambian las API en las que dependen sus scripts internos. O es posible que las actualizaciones principales ya no funcionen para controladores de terceros.
Desde una perspectiva DNF, todo se instaló correctamente, pero eso no siempre significa que su aplicación seguirá funcionando como se esperaba.
Cuando un paquete en una distribución basada en RHEL es un paquete independiente, es fácil degradarlo, pero cuando otros paquetes dependen de versiones más nuevas, las cosas se vuelven más desafiantes porque Mazmorras y luchadores También puede ser necesario degradar las dependencias relacionadas para mantener la coherencia del sistema.
En esta guía, aprenderá cómo verificar las versiones de paquetes disponibles, degradar un paquete de manera segura, evitar más actualizaciones, restaurar paquetes antiguos desde el caché RPM local e incluso revertir una transacción DNF completa si una actualización causa problemas.
Cómo maneja DNF las rebajas
Antes de comenzar a degradar un paquete, comprenda qué es útil DNF Hecho detrás de escena.
Cada vez que se instala, actualiza, elimina o degrada un paquete, DNF registra la operación como transaction en su base de datos histórica. Este historial le permite ver cambios anteriores y, en muchos casos, revertir toda la transacción en lugar de corregir manualmente un solo conjunto.
Cuando ejecuta una degradación de paquete, Mazmorras y luchadores No se trata sólo de sustituir el paquete antiguo por el nuevo. Primero comprueba si la versión anterior es compatible con el resto de los paquetes de software actualmente instalados en el sistema.
Si otro paquete depende de una versión más reciente, Mazmorras y luchadores Los conflictos se detectan dependiendo de la situación, puede:
- También degrade las dependencias requeridas.
- Rechace la degradación porque dañará otros paquetes instalados.
- Solicite confirmación antes de realizar otros cambios.
Por eso es necesario responder dos preguntas antes de realizar una degradación:
- ¿La versión que desea es compatible con los paquetes actualmente instalados en su sistema?
- ¿La versión anterior todavía está disponible en uno de los repositorios o cachés de paquetes nativos que habilitó?
Tomarse un momento para verificarlos primero puede evitarle más problemas de dependencia más adelante.
Consulta qué versiones están disponibles
Antes de degradar un paquete, verifique la versión instalada actualmente y si todavía hay versiones anteriores disponibles en los repositorios habilitados.
Para enumerar todas las versiones disponibles de un paquete, ejecute:
dnf list --showduplicates nginx
Ejemplo de salida:
Installed Packages nginx.x86_64 1:1.26.2-2.el10 @appstream Available Packages nginx.x86_64 1:1.24.0-4.el10 appstream nginx.x86_64 1:1.26.2-2.el10 appstream
este Installed Packages La sección muestra las versiones actualmente instaladas en su sistema.
este Available Packages La sección enumera todas las versiones actualmente disponibles en el repositorio que habilita. Si la versión que desea aparece aquí, puede degradarla.
De lo contrario, el repositorio ya no contendrá esa versión del paquete. No se preocupe, veremos cómo restaurar paquetes antiguos desde la caché RPM local más adelante en esta guía.
Si desea obtener más información sobre un paquete instalado, incluido el repositorio del que proviene, utilice:
dnf info nginx
Ejemplo de salida:
Installed Packages
Name : nginx
Epoch : 1
Version : 1.26.2
Release : 2.el10
Architecture : x86_64
Size : 1.7 M
Source : nginx-1.26.2-2.el10.src.rpm
Repository : @System
From repo : appstream
Summary : A high performance web server and reverse proxy server
License : BSD
Description : Nginx is a web server and a reverse proxy server for HTTP, SMTP,
: POP3 and IMAP protocols, with a strong focus on high concurrency,
: efficiency and low memory footprint.
Aviso Version, Releasey Epoch campo. Juntos identifican de forma única la versión del paquete. Si necesita degradar a una versión específica, utilizará esta información de versión en el comando de degradación.
dnf gestión de paquetes y configuración del repositorio, Más de 100 comandos básicos de Linux El curso sobre Pro TecMint lo cubre de principio a fin.Bajar a la versión anterior
Si solo desea volver a una versión anterior del paquete, use dnf downgrade Orden:
sudo dnf downgrade nginx
Ejemplo de salida:
Dependencies resolved. ================================================================================ Package Arch Version Repository Size ================================================================================ Downgrading: nginx x86_64 1:1.24.0-4.el10 appstream 42 k Transaction Summary ================================================================================ Downgrade 1 Package Total download size: 42 k Is this ok [y/N]: y
este sudo ejecución de comando Mazmorras y luchadores Tener privilegios de administrador, necesarios para instalar, eliminar o degradar paquetes del sistema.
este dnf downgrade El comando selecciona automáticamente la versión más alta disponible que sea anterior a la versión instalada actualmente. Revise el resumen de la transacción y si todo parece correcto, presione y para continuar.
Una vez que se complete la degradación, verifique que la versión requerida esté instalada:
nginx -v
Ejemplo de salida:
nginx version: nginx/1.24.0
Si la versión mostrada coincide con la versión que esperaba, la degradación se realizó correctamente.
importante: Antes de confirmar la transacción, verifique cuidadosamente la lista de paquetes que DNF planea degradar o eliminar de los estantes. Esto es normal para paquetes dependientes, p. nginx-core o nginx-filesystem fueron degradados juntos nginx. Sin embargo, si DNF desea eliminar un paquete del que dependen otras aplicaciones o servicios, cancele la operación e investigue los cambios de dependencia antes de continuar.
Si esto te salva de un incidente nocturno, Es posible que su equipo también lo necesite.
Bajar a una versión específica
Si necesita degradar a una versión que tiene más de una versión anterior, especifique el nombre del paquete seguido de la versión de destino:
sudo dnf downgrade nginx-1.24.0-4.el10
Ejemplo de salida:
Dependencies resolved. ================================================================================ Package Arch Version Repository Size ================================================================================ Downgrading: nginx x86_64 1:1.24.0-4.el10 appstream 42 k Transaction Summary ================================================================================ Downgrade 1 Package Total download size: 42 k Is this ok [y/N]: y Downloading Packages: nginx-1.24.0-4.el10.x86_64.rpm 42 kB/s | 42 kB 00:01 Running transaction check Transaction check succeeded. Running transaction test Transaction test succeeded. Running transaction Downgrading : nginx-1:1.24.0-4.el10.x86_64 1/2 Cleanup : nginx-1:1.26.2-2.el10.x86_64 2/2 Verifying : nginx-1:1.24.0-4.el10.x86_64 1/2 Verifying : nginx-1:1.26.2-2.el10.x86_64 2/2 Downgraded: nginx-1:1.24.0-4.el10.x86_64 Complete!
El resultado de la transacción es fácil de entender:
- Degradar Muestra la versión anterior del paquete que está instalando DNF.
- limpiar Muestra versiones más recientes que se han eliminado del sistema.
- Verificando Verifique que la degradación se haya completado correctamente y que la base de datos RPM sea coherente.
Una vez completada la transacción, verifique la versión instalada:
nginx -v
Si el resultado muestra la versión que solicitó, la degradación se realizó correctamente.
Bloquear versiones de paquetes de software mediante el bloqueo de versiones
Después de degradar un paquete, el siguiente dnf update Intentaremos instalar la última versión disponible nuevamente. Si desea mantener el paquete en su versión actual, utilice versionlock complemento.
sudo dnf install python3-dnf-plugins-core
Una vez que el complemento esté disponible, bloquee la versión actual del paquete:
sudo dnf versionlock add nginx
Para ver todos los paquetes bloqueados, ejecute:
sudo dnf versionlock list
Ejemplo de salida:
Last metadata expiration check: 0:02:31 ago on Mon Jun 29 11:14:08 2026. nginx-1:1.24.0-4.el10.*
este .* El último es un comodín que coincide con todas las arquitecturas para esa versión del paquete. Una vez fijado en su lugar, el futuro dnf update el comando se saltará nginxdejándola como tu versión fijada.
Cuando estés listo para recibir actualizaciones nuevamente, desbloquéala:
sudo dnf versionlock delete nginx
pista:Otra forma de evitar actualizaciones es agregar exclude=nginx llegar /etc/dnf/dnf.conf. Sin embargo, la exclusión bloquea todas las actualizaciones futuras del paquete hasta que elimine la configuración.
Bajar de categoría desde el archivo RPM local
A veces, la versión que necesita ya no está disponible en el repositorio que habilitó. Es posible que haya sido reemplazada por una versión más nueva, eliminada del repositorio o que esté utilizando un sistema que no tiene acceso a Internet.
Si todavía tienes el archivo RPM antiguo, puedes instalarlo directamente.
Primero, verifique si el paquete todavía está en la caché local de DNF:
find /var/cache/dnf -name "nginx*.rpm"
Ejemplo de salida:
/var/cache/dnf/appstream-3f8c21a9d4b72e01/packages/nginx-1.24.0-4.el10.x86_64.rpm
Si encuentra la versión requerida, instálela especificando la ruta completa al archivo RPM:
sudo dnf install /var/cache/dnf/appstream-3f8c21a9d4b72e01/packages/nginx-1.24.0-4.el10.x86_64.rpm
Ejemplo de salida:
Examining /var/cache/dnf/appstream-3f8c21a9d4b72e01/packages/nginx-1.24.0-4.el10.x86_64.rpm: 1:nginx-1.24.0-4.el10.x86_64 Marking nginx-1.24.0-4.el10.x86_64.rpm as an update to 1:nginx-1.26.2-2.el10.x86_64 Dependencies resolved. ================================================================================ Package Arch Version Repository Size ================================================================================ Downgrading: nginx x86_64 1:1.24.0-4.el10 @commandline 42 k Transaction Summary ================================================================================ Downgrade 1 Package Is this ok [y/N]: y ... Complete!
Incluso si instala el archivo RPM manualmente, Mazmorras y luchadores Reconoce que el paquete es anterior a la versión instalada y realiza una degradación en lugar de una instalación normal. También verifica las dependencias como cuando se instala desde un repositorio.
Si descargó el RPM de otro sistema o fuente externa, verifique su firma antes de instalar:
rpm --checksig nginx-1.24.0-4.el10.x86_64.rpm
Revertir una transacción completa usando el historial de DNF
Si una actualización del sistema daña varios paquetes, no es necesario degradar cada paquete individualmente. DNF conserva un historial de cada transacción, lo que permite deshacer actualizaciones completas con un solo comando.
Primero, revise sus transacciones DNF recientes:
sudo dnf history list
Ejemplo de salida:
ID | Command line | Date and time | Action(s) | Altered
-------------------------------------------------------------------------------
12 | update nginx | 2026-06-29 09:14 | Update | 1
11 | install httpd | 2026-06-28 14:22 | Install | 3
10 | update | 2026-06-27 08:00 | Update | 47
9 | install python3-flask | 2026-06-26 16:44 | Install | 5
Cada transacción tiene una identificación única. Utilizaría este ID si quisiera marcar o deshacer una acción específica.
Para ver exactamente qué cambió durante una transacción, ejecute:
sudo dnf history info 12
Ejemplo de salida:
Transaction ID : 12
Begin time : Sun Jun 29 09:14:22 2026
Begin rpmdb : 847:f3a2c...
End time : Sun Jun 29 09:14:38 2026 (16 seconds)
End rpmdb : 847:9b14d...
User : root
Return-Code : Success
Command Line : update nginx
Transaction performed with:
Installed rpm-4.19.1-1.el10.x86_64
Installed dnf-4.18.0-1.el10.noarch
Packages Altered:
Upgrade nginx-1:1.26.2-2.el10.x86_64 @appstream
nginx-1:1.24.0-4.el10.x86_64 @System
Este resultado muestra la transacción 12 Actualización de nginx de la versión 1.24.0 a 1.26.2.
Para deshacer la transacción, ejecute:
sudo dnf history undo 12
Después de confirmar la transacción, DNF revertirá el paquete a la versión anterior a la Transacción 12 de la aplicación.
Si solo desea deshacer la transacción DNF más reciente, no necesita buscar su ID:
sudo dnf history undo last
Manejar dependencias rotas después de la degradación
Si terminas en esta situación dnf Para negarse a instalar o actualizar algo debido a dependencias rotas, primero realice una verificación de coherencia:
sudo dnf check
Ejemplo de salida:
nginx-1:1.24.0-4.el10.x86_64 requires nginx-filesystem = 1:1.24.0-4.el10 nginx-filesystem-1:1.26.2-2.el10.x86_64 is a newer version
Este resultado le indica exactamente qué salió mal y por qué. en este caso, nginx fue degradado pero nginx-filesystem No, entonces no se cumple el requisito de versión.
También puedes solucionarlo degradando las dependencias:
sudo dnf downgrade nginx-filesystem
correr dnf check Verifique nuevamente que no haya otros daños:
sudo dnf check
Ningún resultado significa que el repositorio RPM es coherente y se satisfacen todas las dependencias.
¿Alguna vez utilizó la función de deshacer el historial de DNF para recuperarse de una actualización incorrecta o encontró una forma más rápida de localizar la versión correcta cuando el repositorio ya no la contiene? Compártelo en los comentarios a continuación..
Si este artículo fue útil, Con alguien de tu equipo.

![Instalar Alpine Linux en Virtual Box [Screenshot Tutorial]](https://muylinux.xyz/wp-content/uploads/2024/10/1730072488_Instalar-Alpine-Linux-en-Virtual-Box-Screenshot-Tutorial-220x150.png)







