Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
Cet article traite des tâches courantes de gestion des packages sur Azure Linux, notamment :
- Endroit où réside la configuration du référentiel.
- Comment les commandes du gestionnaire de package héritées sont mappées à DNF5.
- Comment DNF met en cache les métadonnées et résout les packages.
- Comment les noyaux et d’autres packages d’installation uniquement sont gérés.
- Comment activer les mises à jour sans assistance.
- Commandes DNF les plus couramment utilisées.
Note
Azure Linux 4.0 est désormais disponible dans preview et est strictement limité aux fins d’évaluation et de test. Il n’est pas approprié pour une utilisation en production.
Configuration du référentiel
DNF5 lit les définitions de référentiel à partir de /etc/yum.repos.d/. Le nom du répertoire est conservé de YUM pour la compatibilité ; DNF5 lit à partir de ce répertoire.
Chaque .repo fichier de ce répertoire est un fichier de configuration en texte brut qui indique à DNF où rechercher des packages, s’il faut les vérifier avec GPG et si le référentiel est activé par défaut. Le fichier de configuration DNF principal est /etc/dnf/dnf.conf, qui contrôle le comportement global, tels que les paramètres de cache, la limite d’installation uniquement et la configuration du proxy.
Liens symboliques de compatibilité pour les commandes héritées
Azure Linux inclut des liens symboliques de compatibilité afin que les commandes héritées (yum, dnf (DNF4), microdnf, tdnf) redirigent toutes vers 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
Les sous-commandes courantes fonctionnent toutes par le biais des liens symboliques. Ce peut ne pas être le cas des cas limites qui dépendaient des éléments internes de DNF4 ou d’un comportement spécifique à microdnf. Pour plus d’informations sur ce qui a changé, consultez les ressources suivantes :
- Modifications entre DNF et DNF5
- Migration vers DNF5
- Modifications de l’interface CLI DNF par rapport à YUM
Comment DNF5 résout les packages
Lorsque vous exécutez une commande DNF, DNF5 effectue les étapes suivantes pour déterminer les packages à installer, mettre à niveau ou supprimer :
- Charge tous les fichiers
.repodans/etc/yum.repos.d/et sélectionne les référentiels marqués comme activés. - Actualise les métadonnées du référentiel, la mettant en cache localement sous
/var/cache/libdnf5. Les métadonnées mises en cache incluent la liste des packages, les informations de version et de dépendance, les sommes de contrôle et les signatures. - Résout l’installation, la suppression ou la mise à niveau demandées par rapport aux référentiels activés, sélectionne les versions du package et vérifie l’intégrité et les signatures avant d’appliquer la transaction.
Les référentiels désactivés sont ignorés, à moins de les activer explicitement avec --enablerepo=<repo-id> pour une seule commande.
Le /var/cache/libdnf5 cache existe afin que DNF n’ait pas à télécharger de métadonnées sur chaque appel. Exécutez-la dnf clean all pour la vider (voir commandes DNF fréquemment utilisées).
Packages d’installation uniquement et plusieurs versions installées
Certains paquets, notamment le noyau, sont installés en parallèle plutôt que mis à niveau sur place. DNF5 contrôle cela via deux paramètres dans /etc/dnf/dnf.conf:
-
installonlypkgs: liste des noms de packages qui ne sont jamais mis à jour sur place. Les packages de noyau sont l’entrée canonique. -
installonly_limit: nombre maximal de versions d’un package d’installation uniquement qui peut coexister sur le système. La valeur par défaut est3.
Lorsqu’une nouvelle version est installée et que la limite est dépassée, DNF supprime automatiquement la version la plus ancienne.
Pour le noyau, cela vous donne les informations suivantes :
- Secours : si un nouveau noyau ne parvient pas à démarrer, GRUB peut toujours lancer un noyau de travail connu précédent.
- Validation : vous pouvez installer et tester un nouveau noyau sans en supprimer l’exécution.
- Coexistence des variantes : vous pouvez installer en même temps différentes versions du noyau compilées (par exemple, avec différents ensembles de fonctionnalités).
Chaque version du noyau est un RPM distinct, de sorte que DNF effectue le suivi et les supprime comme n’importe quel autre package.
Mises à jour automatiques avec dnf-automatic
dnf-automatic est un service qui recherche régulièrement, télécharge et applique éventuellement des mises à jour de package. Il est piloté par un retardateur systemd plutôt que de s’exécuter comme un démon persistant.
Installer dnf-automatic
Installez dnf-automatic à l’aide de la commande suivante :
sudo dnf install -y dnf-automatic
Activer le dnf-automatic minuteur
Activez le dnf-automatic minuteur immédiatement et entre les redémarrages à l’aide de la commande suivante :
sudo systemctl enable --now dnf-automatic.timer
-
enableconfigure le minuteur pour démarrer au démarrage. -
--nowdémarre le minuteur dans la session active.
Vérifier l’état du dnf-automatic minuteur
Vérifiez que le minuteur est actif et voyez quand il a exécuté pour la dernière fois à l’aide de la commande suivante :
systemctl status dnf-automatic.timer
La sortie classique ressemble à l’exemple suivant :
● 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
Active: active (waiting) est attendu : le service sous-jacent est un service à exécution unique qui s’exécute uniquement lorsque le retardateur se déclenche, puis se termine. La Trigger: ligne affiche l’exécution planifiée suivante.
Lister la prochaine exécution planifiée du dnf-automatic temporisateur
Listez la prochaine exécution avec les autres temporisateurs à l’aide de la commande suivante :
systemctl list-timers dnf-automatic.timer
Exemple de sortie :
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.
Configuration facultative de dnf-automatic
Vous pouvez configurer le comportement de mise à jour automatique en ajoutant le /etc/dnf/automatic.conf fichier. Ce fichier contrôle si les mises à jour sont téléchargées, appliquées automatiquement ou limitées aux mises à jour de sécurité uniquement. Pour plus d’informations sur la configuration, consultez la documentation dnf5-automatic
Note
Les mises à jour automatiques sont installées via dnf-automatic, mais le système n’est pas redémarré automatiquement. Si un noyau (ou un autre package requis pour le redémarrage) est mis à jour, la nouvelle version ne prend effet qu’au prochain redémarrage. Après les mises à jour, vérifiez si un redémarrage est nécessaire et planifiez-en un le cas échéant.
Commandes DNF fréquemment utilisées
Les commandes suivantes couvrent la majeure partie de la gestion des packages quotidiens sur Azure Linux.
dnf clean all
dnf clean all supprime tout ce que DNF a mis en cache sous /var/cache/libdnf5. Utilisez-le pour :
- Récupérez des métadonnées endommagées ou obsolètes qui provoquent des erreurs de transaction.
- Réduisez la taille des images de conteneur en supprimant le cache des paquets après les installations dans la même
RUNcouche. - Récupérer de l’espace disque.
Exemple de conteneur :
RUN dnf install -y package1 package2 \
&& dnf clean all
dnf search
dnf search compare les mots-clés aux noms de paquets et aux résumés. Par exemple:
dnf search lsof
Exemple de sortie :
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 recherche le package propriétaire d’un fichier, d’une commande ou d’une fonctionnalité donnés. Par exemple:
dnf provides lsof
Exemple de sortie :
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 installe un ou plusieurs packages avec leurs dépendances d’exécution :
sudo dnf install lsof
Exemple de sortie :
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 désinstalle un package avec toutes les dépendances qui ont été extraites uniquement pour elle :
sudo dnf remove -y lsof
Exemple de sortie :
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 met à jour les packages installés vers leurs dernières versions disponibles.
sudo dnf upgrade
Lorsque tout est actif, la sortie est courte. Par exemple:
Updating and loading repositories:
Repositories loaded.
Nothing to do.
Conseil / Astuce
-y Passez à install, removeou upgrade dans des contextes non interactifs tels que des scripts, des pipelines CI et des builds de conteneur. Toute opération DNF qui modifie le système nécessite la racine, donc exécutez-la sous sudo ou sous root.
Contenu connexe
-
Utilitaire de gestion de package DNF5 : référence de ligne de commande complète pour
dnf5. - Modifications entre DNF et DNF5 : ce qui a changé de DNF4, y compris les commandes supprimées et les différences de comportement.
- Migration vers DNF5 : Conseils pour le déplacement de scripts et d’automatisation de DNF4 vers DNF5.