Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
In diesem Artikel werden allgemeine Paketverwaltungsaufgaben unter Azure Linux behandelt, darunter:
- Wo die Repository-Konfiguration gespeichert ist.
- Wie veraltete Paketmanager-Befehle DNF5 zugeordnet werden.
- Wie DNF Metadaten zwischenspeichert und Pakete auflöst.
- Wie Kernel und andere Pakete, die nur installiert werden, behandelt werden.
- So aktivieren Sie unbeaufsichtigte Updates.
- Die am häufigsten verwendeten DNF-Befehle.
Note
Azure Linux 4.0 befindet sich jetzt in preview und ist streng auf Auswertungs- und Testzwecke beschränkt. Es ist nicht für den Produktionseinsatz geeignet.
Repository-Konfiguration
DNF5 liest Repositorydefinitionen aus /etc/yum.repos.d/. Der Verzeichnisname wird aus Kompatibilitätsgründen von YUM beibehalten; DNF5 liest aus diesem Verzeichnis.
Jede .repo Datei in diesem Verzeichnis ist eine Nur-Text-Konfigurationsdatei, die DNF angibt, wo Pakete gefunden werden sollen, ob sie mit GPG überprüft werden sollen und ob das Repository standardmäßig aktiviert ist. Die DNF-Hauptkonfigurationsdatei ist /etc/dnf/dnf.conf, die das globale Verhalten wie Cacheeinstellungen, den Reininstallationsgrenzwert und die Proxykonfiguration steuert.
Kompatibilitäts-Symlinks für veraltete Befehle
Azure Linux stellt Kompatibilitäts-Symlinks bereit, sodass Legacy-Befehle (yum, dnf (DNF4), microdnf, tdnf) alle an DNF5 weitergeleitet werden:
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
Die allgemeinen Unterbefehle funktionieren alle durch die Symlinks. Randfälle, die von den Interna von DNF4 oder von microdnf-spezifischem Verhalten abhängen, funktionieren möglicherweise nicht. Ausführliche Informationen dazu, was sich geändert hat, finden Sie in den folgenden Ressourcen:
So löst DNF5 Pakete auf
Wenn Sie einen DNF-Befehl ausführen, führt DNF5 die folgenden Schritte aus, um zu bestimmen, welche Pakete installiert, aktualisiert oder entfernt werden sollen:
- Lädt jede
.repoDatei in/etc/yum.repos.d/und wählt die als aktiviert markierten Repositorys aus. - Aktualisiert Repositorymetadaten, zwischenspeichert sie lokal unter
/var/cache/libdnf5. Zwischengespeicherte Metadaten umfassen die Paketliste, Versions- und Abhängigkeitsinformationen, Prüfsummen und Signaturen. - Löst die angeforderte Installation, Entfernung oder Aktualisierung für die aktivierten Repositorys auf, wählt Paketversionen aus und überprüft Integrität und Signaturen, bevor die Transaktion angewendet wird.
Deaktivierte Repositorys werden ignoriert, es sei denn, Sie aktivieren sie für einen einzelnen Befehl explizit mit --enablerepo=<repo-id>.
Der /var/cache/libdnf5 Cache ist vorhanden, sodass DNF keine Metadaten für jeden Aufruf erneut herunterladen muss. Führen Sie dnf clean all den Befehl aus, um ihn zu leeren (siehe Häufig verwendete DNF-Befehle).
Nur zur Installation vorgesehene Pakete und mehrere installierte Versionen
Einige Pakete, insbesondere der Kernel, werden nebeneinander installiert, anstatt an Ort und Stelle aktualisiert zu werden. DNF5 steuert dies über zwei Einstellungen in /etc/dnf/dnf.conf:
-
installonlypkgs: Liste der Paketnamen, die nie aktualisiert werden. Kernel-Pakete sind der maßgebliche Einstiegspunkt. -
installonly_limit: Maximale Anzahl von Versionen eines ausschließlich installierten Pakets, die gleichzeitig auf dem System vorhanden sein können. Der Standardwert lautet3.
Wenn eine neue Version installiert und der Grenzwert überschritten wird, entfernt DNF automatisch die älteste Version.
Für den Kernel ergibt sich Folgendes:
- Fallback: Wenn ein neuer Kernel nicht gestartet werden kann, kann GRUB weiterhin einen vorherigen, bekannten Kernel starten.
- Validierung: Sie können einen neuen Kernel installieren und testen, ohne das ausgeführte Kernel zu entfernen.
- Variant-Koexistenz: Sie können verschiedene Kernelbuilds (z. B. mit unterschiedlichen Featuresätzen) gleichzeitig installieren.
Jede Kernelversion ist eine separate RPM, dNF verfolgt und entfernt sie wie jedes andere Paket.
Unbeaufsichtigte Aktualisierungen mit dnf-automatic
dnf-automatic ist ein Dienst, der regelmäßig nach Paketaktualisierungen sucht, diese herunterlädt und optional anwendet. Sie wird durch einen systemd-Timer gesteuert, anstatt als dauerhaft laufender Daemon ausgeführt zu werden.
Installation von dnf-automatic
Installieren Sie dnf-automatic mit dem folgenden Befehl:
sudo dnf install -y dnf-automatic
Aktivieren des dnf-automatic Timers
Aktivieren Sie den dnf-automatic Timer sofort und über Neustarts, indem Sie den folgenden Befehl verwenden:
sudo systemctl enable --now dnf-automatic.timer
-
enablekonfiguriert den Timer, der beim Start gestartet werden soll. -
--nowstartet den Timer in der aktuellen Sitzung.
Überprüfen des Status des dnf-automatic Timers
Überprüfen Sie, ob der Timer aktiv ist, und sehen Sie, wann er zuletzt mit dem folgenden Befehl ausgeführt wurde:
systemctl status dnf-automatic.timer
Typische Ausgabe sieht wie im folgenden Beispiel aus:
● 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) ist zu erwarten: Der zugrunde liegende Dienst ist ein One-Shot-Dienst, der nur ausgeführt wird, wenn der Timer ausgelöst wird, und sich anschließend beendet. Die Trigger: Zeile zeigt die nächste geplante Ausführung an.
Listen Sie die nächste geplante Ausführung des dnf-automatic Timers auf
Listen Sie die nächste Ausführung zusammen mit anderen Timern mit dem folgenden Befehl auf:
systemctl list-timers dnf-automatic.timer
Beispielausgabe:
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.
Optionale Konfiguration von dnf-automatic
Sie können das Verhalten der automatischen Aktualisierung konfigurieren, indem Sie die /etc/dnf/automatic.conf Datei hinzufügen. Diese Datei steuert, ob Updates nur heruntergeladen, automatisch angewendet oder auf Sicherheitsupdates beschränkt sind. Vollständige Konfigurationsdetails finden Sie in der dnf5-automatischen Dokumentation
Note
Automatische Updates werden über dnf-automatic installiert, das System wird jedoch nicht automatisch neu gestartet. Wenn ein Kernel (oder ein anderes neu erforderliches Paket) aktualisiert wird, wird die neue Version erst nach dem nächsten Neustart wirksam. Überprüfen Sie nach Updates, ob ein Neustart erforderlich ist, und planen Sie einen nach Bedarf.
Häufig verwendete DNF-Befehle
Die folgenden Befehle decken den Großteil der täglichen Paketverwaltung auf Azure Linux ab.
dnf clean all
dnf clean all entfernt alles, was DNF unter /var/cache/libdnf5 im Cache gespeichert hat. Verwenden Sie es zu folgenden Zwecken:
- Wiederherstellen von beschädigten oder veralteten Metadaten, die Transaktionsfehler verursachen.
- Verkleinern Sie Container-Images, indem Sie den Paket-Cache nach der Paketinstallation im selben
RUN-Layer entfernen. - Geben Sie Speicherplatz frei.
Containerbeispiel:
RUN dnf install -y package1 package2 \
&& dnf clean all
dnf search
dnf search vergleicht Schlüsselwörter mit Paketnamen und Zusammenfassungen. Beispiel:
dnf search lsof
Beispielausgabe:
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 findet das Paket, das eine bestimmte Datei, einen bestimmten Befehl oder eine bestimmte Funktion besitzt. Beispiel:
dnf provides lsof
Beispielausgabe:
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 installiert ein oder mehrere Pakete zusammen mit ihren Laufzeitabhängigkeiten:
sudo dnf install lsof
Beispielausgabe:
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 deinstalliert ein Paket zusammen mit allen Abhängigkeiten, die ausschließlich dafür abgerufen wurden:
sudo dnf remove -y lsof
Beispielausgabe:
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 aktualisiert installierte Pakete auf ihre neuesten verfügbaren Versionen.
sudo dnf upgrade
Wenn alles aktuell ist, ist die Ausgabe kurz. Beispiel:
Updating and loading repositories:
Repositories loaded.
Nothing to do.
Tip
Übergeben Sie -y an install, remove oder upgrade in nicht interaktiven Kontexten wie Skripten, CI-Pipelines und Container-Builds. Jeder DNF-Vorgang, der Änderungen am System vornimmt, erfordert Root-Rechte. Führen Sie ihn daher mit sudo oder als root aus.
Verwandte Inhalte
-
DNF5-Paketverwaltungsprogramm: Vollständige Befehlszeilenreferenz für
dnf5. - Änderungen zwischen DNF und DNF5: Was sich von DNF4 geändert hat, einschließlich entfernter Befehle und Verhaltensunterschieden.
- Migrieren zu DNF5: Leitfaden zum Verschieben von Skripts und Automatisierung von DNF4 zu DNF5.