Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
En este artículo se tratan las tareas comunes de administración de paquetes en Azure Linux, entre las que se incluyen:
- Dónde se encuentra la configuración del repositorio.
- Cómo se corresponden los comandos heredados del gestor de paquetes con DNF5.
- Cómo almacena en caché DNF los metadatos y resuelve los paquetes.
- Cómo se gestionan los kernels y otros paquetes que solo se instalan.
- Cómo habilitar actualizaciones desatendidas.
- Los comandos DNF más usados.
Note
Azure Linux 4.0 está ahora en preview y está estrictamente limitado a fines de evaluación y pruebas. No es adecuado para su uso en producción.
Configuración del repositorio
DNF5 lee las definiciones de repositorio de /etc/yum.repos.d/. El nombre del directorio se conserva de YUM por motivos de compatibilidad; DNF5 lee de este directorio.
Cada .repo archivo de ese directorio es un archivo de configuración de texto sin formato que indica a DNF dónde buscar paquetes, si se deben comprobar con GPG y si el repositorio está habilitado de forma predeterminada. El archivo de configuración principal de DNF es /etc/dnf/dnf.conf, que controla el comportamiento global, como la configuración de caché, el límite de solo instalación y la configuración del proxy.
Enlaces simbólicos de compatibilidad para comandos heredados
Azure Linux incluye vínculos simbólicos de compatibilidad para que los comandos heredados (yum, dnf (DNF4), microdnf, tdnf) se envíen a DNF5:
lrwxrwxrwx. 1 root root 4 yum -> dnf5
lrwxrwxrwx. 1 root root 4 microdnf -> dnf5
-rwxr-xr-x. 1 root root 1614408 dnf5
lrwxrwxrwx. 1 root root 4 dnf -> dnf5
lrwxrwxrwx. 1 root root 4 tdnf -> dnf5
Todos los subcomandos comunes funcionan a través de los vínculos simbólicos. Es posible que los casos perimetrales que dependían de mecanismos internos de DNF4 o de un comportamiento específico de microdnf dejen de hacerlo. Para más información sobre lo que ha cambiado, consulte los siguientes recursos:
Cómo resuelve DNF5 los paquetes
Al ejecutar un comando DNF, DNF5 realiza los pasos siguientes para determinar qué paquetes instalar, actualizar o quitar:
- Carga cada
.repoarchivo en/etc/yum.repos.d/y selecciona los repositorios marcados como habilitados. - Actualiza los metadatos del repositorio y lo almacena en caché localmente en
/var/cache/libdnf5. Los metadatos almacenados en caché incluyen la lista de paquetes, la información de versión y dependencia, las sumas de comprobación y las firmas. - Resuelve la instalación, eliminación o actualización solicitadas en los repositorios habilitados, elige las versiones del paquete y comprueba la integridad y las firmas antes de aplicar la transacción.
Los repositorios deshabilitados se ignoran a menos que los habilite explícitamente con --enablerepo=<repo-id> para un solo comando.
La /var/cache/libdnf5 memoria caché existe para que DNF no tenga que volver a descargar metadatos en cada invocación. Ejecute dnf clean all para vaciarlo (consulte Comandos DNF usados con frecuencia).
Paquetes de solo instalación y varias versiones instaladas
Algunos paquetes, en particular el kernel, se instalan en paralelo en lugar de actualizarse en su lugar. DNF5 controla esto a través de dos opciones de configuración en /etc/dnf/dnf.conf:
-
installonlypkgs: lista de nombres de paquetes que nunca se actualizan localmente. Los paquetes de kernel son la entrada canónica. -
installonly_limit: número máximo de versiones de un paquete de solo instalación que puede coexistir en el sistema. El valor predeterminado es3.
Cuando se instala una nueva versión y se supera el límite, DNF quita automáticamente la versión más antigua.
Para el kernel, esto le proporciona lo siguiente:
- Alternativa: Si un kernel nuevo no arranca, GRUB aún puede iniciar un kernel anterior que se sabe que funciona.
- Validación: Puede instalar y probar un nuevo núcleo sin eliminar el que está en ejecución.
- Coexistencia de variantes: puede instalar diferentes compilaciones de kernel (por ejemplo, con diferentes conjuntos de características) al mismo tiempo.
Cada versión del kernel es un RPM independiente, por lo que DNF realiza un seguimiento y los quita como cualquier otro paquete.
Actualizaciones desatendidas con dnf-automatic
dnf-automatic es un servicio que comprueba periódicamente si hay actualizaciones de paquetes, las descarga y, opcionalmente, las aplica. Se ejecuta mediante un temporizador systemd en lugar de ejecutarse como un demonio de larga duración.
Instalación de dnf-automatic
Instale dnf-automatic con el comando siguiente:
sudo dnf install -y dnf-automatic
Habilitación del dnf-automatic temporizador
Habilite el dnf-automatic temporizador inmediatamente y en los reinicios mediante el siguiente comando:
sudo systemctl enable --now dnf-automatic.timer
-
enableconfigura el temporizador para que se inicie en el arranque. -
--nowinicia el temporizador en la sesión actual.
Comprobación del estado del dnf-automatic temporizador
Compruebe que el temporizador está activo y vea cuándo se ejecutó por última vez con el siguiente comando:
systemctl status dnf-automatic.timer
La salida típica es similar al ejemplo siguiente:
● dnf5-automatic.timer - dnf-automatic timer
Loaded: loaded (/usr/lib/systemd/system/dnf5-automatic.timer; enabled; preset: disabled)
Active: active (waiting) since Thu 2026-03-26 14:36:54 UTC; 13min ago
Invocation: f6984eeceb7c40df99bca243f3da728c
Trigger: Fri 2026-03-27 06:34:18 UTC; 15h left
Triggers: ● dnf5-automatic.service
Se espera Active: active (waiting): el servicio subyacente es de acción única y solo se ejecuta cuando se activa el temporizador; después, finaliza. La Trigger: línea muestra la siguiente ejecución programada.
Enumerar la siguiente ejecución programada del dnf-automatic temporizador
Enumere la siguiente ejecución junto con cualquier otro temporizador mediante el siguiente comando:
systemctl list-timers dnf-automatic.timer
Ejemplo de resultado:
NEXT LEFT LAST PASSED UNIT ACTIVATES
Fri 2026-03-27 06:34:18 UTC 15h - - dnf5-automatic.timer dnf5-automatic.service
1 timers listed.
Pass --all to see loaded but inactive timers, too.
Configuración opcional de dnf-automatic
Puede configurar el comportamiento de actualización automática agregando el /etc/dnf/automatic.conf archivo. Este archivo controla si las actualizaciones solo se descargan, aplican automáticamente o están restringidas a actualizaciones solo de seguridad. Para obtener información completa sobre la configuración, consulte la documentación de dnf5-automatic.
Note
Las actualizaciones automáticas se instalan a través de dnf-automatic, pero el sistema no se reinicia automáticamente. Si se actualiza un kernel (u otro paquete necesario para reiniciar), la nueva versión no surte efecto hasta el siguiente reinicio. Después de las actualizaciones, compruebe si se requiere un reinicio y programe uno según corresponda.
Comandos DNF usados con frecuencia
Los siguientes comandos cubren la mayor parte de la administración diaria de paquetes en Azure Linux.
dnf clean all
dnf clean all quita todo lo que DNF tiene almacenado en caché en /var/cache/libdnf5. Úselo para:
- Recuperarse de metadatos dañados o obsoletos que provocan errores de transacción.
- Reduzca las imágenes de contenedor quitando la caché del paquete después de instalarlas en la misma capa
RUN. - Recuperar espacio en disco.
Ejemplo de contenedor:
RUN dnf install -y package1 package2 \
&& dnf clean all
dnf search
dnf search compara palabras clave con los nombres y los resúmenes de los paquetes. Por ejemplo:
dnf search lsof
Ejemplo de resultado:
Updating and loading repositories:
Azure Linux 4.0 - x86_64 - Microsoft 100% | 7.6 KiB/s | 4.8 KiB | 00m01s
Repositories loaded.
Matched fields: name (exact)
lsof.x86_64 A utility which lists open files on a Linux/UNIX system
dnf provides
dnf provides busca el paquete que posee un archivo, un comando o una funcionalidad concretos. Por ejemplo:
dnf provides lsof
Ejemplo de resultado:
Updating and loading repositories:
Repositories loaded.
lsof-4.98.0-8.azl4.20260303.x86_64 : A utility which lists open files on a Linux/UNIX system
Repo : @System
Matched From :
Provide : lsof = 4.98.0-8.azl4.20260303
dnf install
dnf install instala uno o varios paquetes junto con sus dependencias en tiempo de ejecución:
sudo dnf install lsof
Ejemplo de resultado:
Updating and loading repositories:
Repositories loaded.
Package Arch Version Repository Size
Installing:
lsof x86_64 4.98.0-8.azl4.20260303 azurelinux 578.5 KiB
Transaction Summary:
Installing: 1 package
Total size of inbound packages is 226 KiB. Need to download 226 KiB.
After this operation, 579 KiB extra will be used (install 579 KiB, remove 0 B).
Is this ok [y/N]: y
[1/1] lsof-0:4.98.0-8.azl4.20260303.x86_64 100% | 641.9 KiB/s | 226.0 KiB | 00m00s
[1/1] Total 100% | 640.1 KiB/s | 226.0 KiB | 00m00s
Running transaction
[1/3] Verify package files 100% | 500.0 B/s | 1.0 B | 00m00s
[2/3] Prepare transaction 100% | 23.0 B/s | 1.0 B | 00m00s
[3/3] Installing lsof-0:4.98.0-8.azl4.20260303.x86_64 100% | 3.0 MiB/s | 580.2 KiB | 00m00s
Complete!
dnf remove
dnf remove desinstala un paquete junto con todas las dependencias que se instalaron únicamente por ese paquete:
sudo dnf remove -y lsof
Ejemplo de resultado:
Package Arch Version Repository Size
Removing:
lsof x86_64 4.98.0-8.azl4.20260303 azurelinux 578.5 KiB
Transaction Summary:
Removing: 1 package
After this operation, 579 KiB will be freed (install 0 B, remove 579 KiB).
Is this ok [y/N]: y
Running transaction
[1/2] Prepare transaction 100% | 27.0 B/s | 1.0 B | 00m00s
[2/2] Removing lsof-0:4.98.0-8.azl4.20260303.x86_64 100% | 72.0 B/s | 11.0 B | 00m00s
Complete!
dnf upgrade
dnf upgrade actualiza los paquetes instalados a sus versiones disponibles más recientes.
sudo dnf upgrade
Cuando todo está actualizado, la salida es breve. Por ejemplo:
Updating and loading repositories:
Repositories loaded.
Nothing to do.
Tip
Pase -y a install, removeo upgrade en contextos no interactivos, como scripts, canalizaciones de CI y compilaciones de contenedor. Cualquier operación DNF que modifique el sistema requiere raíz, así que ejecútelo en sudo o como root.
Contenido relacionado
-
Utilidad de administración de paquetes DNF5: referencia de línea de comandos completa para
dnf5. - Cambios entre DNF y DNF5: lo que cambió de DNF4, incluidos los comandos eliminados y las diferencias de comportamiento.
- Migración a DNF5: guía para mover scripts y automatización de DNF4 a DNF5.