Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
In dit artikel worden algemene pakketbeheertaken in Azure Linux behandeld, waaronder:
- Waar de configuratie van de opslagplaats zich bevindt.
- Hoe verouderde pakketbeheeropdrachten overeenkomen met DNF5.
- Hoe DNF metagegevens in de cache opsneert en pakketten oplost.
- Hoe kernels en andere pakketten met alleen installeren worden verwerkt.
- Updates zonder toezicht inschakelen.
- De meest gebruikte DNF-opdrachten.
Opmerking
Azure Linux 4.0 bevindt zich nu in preview en is strikt beperkt tot evaluatie- en testdoeleinden. Het is niet geschikt voor productiegebruik.
Configuratie van opslagplaats
DNF5 leest opslagplaatsdefinities van /etc/yum.repos.d/. De mapnaam blijft behouden van YUM voor compatibiliteit; DNF5 leest uit deze map.
Elk .repo bestand in die map is een configuratiebestand met tekst zonder opmaak waarmee DNF wordt aangegeven waar pakketten moeten worden gevonden, of ze moeten worden geverifieerd met GPG en of de opslagplaats standaard is ingeschakeld. Het belangrijkste DNF-configuratiebestand is /etc/dnf/dnf.conf, waarmee het algemene gedrag wordt bepaald, zoals cache-instellingen, de limiet voor alleen installeren en proxyconfiguratie.
Compatibiliteitssymlinks voor verouderde opdrachten
Azure Linux levert compatibele symlinks, zodat oudere commando's (yum, dnf (DNF4), microdnf, tdnf) allemaal naar DNF5 verwijzen:
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
De algemene subopdrachten werken allemaal via de symlinks. Randgevallen die afhankelijk waren van de interne werking van DNF4 of van microdnf-specifiek gedrag, werken mogelijk niet meer. Zie de volgende bronnen voor meer informatie over wat er is gewijzigd:
Hoe DNF5 pakketten oplost
Wanneer u een DNF-opdracht uitvoert, voert DNF5 de volgende stappen uit om te bepalen welke pakketten moeten worden geïnstalleerd, bijgewerkt of verwijderd:
- Laadt elk
.repobestand in/etc/yum.repos.d/en selecteert de opslagplaatsen die zijn gemarkeerd als ingeschakeld. - Vernieuwt de metagegevens van de opslagplaats en cachet deze lokaal onder
/var/cache/libdnf5. Metagegevens in de cache bevatten de pakketlijst, versie- en afhankelijkheidsgegevens, controlesommen en handtekeningen. - Verwerkt de aangevraagde installatie, verwijdering of upgrade aan de hand van de ingeschakelde pakketbronnen, kiest pakketversies en controleert de integriteit en handtekeningen voordat de transactie wordt uitgevoerd.
Uitgeschakelde repositories worden genegeerd, tenzij u deze expliciet inschakelt met --enablerepo=<repo-id> voor één enkele opdracht.
De /var/cache/libdnf5 cache bestaat zodat DNF bij elke aanroep geen metagegevens opnieuw hoeft te downloaden. Voer dnf clean all deze uit om deze leeg te maken (zie veelgebruikte DNF-opdrachten).
Pakketten die alleen worden geïnstalleerd en meerdere geïnstalleerde versies
Sommige pakketten, met name de kernel, worden naast elkaar geïnstalleerd in plaats van bijgewerkt. DNF5 bepaalt dit via twee instellingen in /etc/dnf/dnf.conf:
-
installonlypkgs: Lijst met pakketnamen die nooit ter plaatse worden geüpgraded. Kernelpakketten vormen het standaard toegangspunt. -
installonly_limit: Maximaal aantal versies van een pakket dat alleen wordt geïnstalleerd, dat tegelijkertijd op het systeem aanwezig kan zijn. De standaardwaarde is3.
Wanneer een nieuwe versie is geïnstalleerd en de limiet wordt overschreden, verwijdert DNF automatisch de oudste versie.
Voor de kernel krijgt u het volgende:
- Terugval: Als een nieuwe kernel niet kan worden opgestart, kan GRUB nog steeds een eerdere, bekende kernel starten.
- Validatie: U kunt een nieuwe kernel installeren en testen zonder de actieve kernel te verwijderen.
- Co-existentie van varianten: u kunt verschillende kernel-builds (bijvoorbeeld met verschillende functiesets) tegelijkertijd installeren.
Elke kernelversie is een afzonderlijk RPM-pakket, dus DNF houdt ze bij en verwijdert ze net als elk ander pakket.
Updates zonder toezicht met dnf-automatic
dnf-automatic is een service die periodiek controleert op, downloadt en eventueel pakketupdates toepast. Het wordt aangestuurd door een systeemtimer in plaats van te worden uitgevoerd als een langlevende daemon.
dnf-automatic installeren
Installeer dnf-automatic met behulp van de volgende opdracht:
sudo dnf install -y dnf-automatic
De dnf-automatic timer inschakelen
Schakel de dnf-automatic timer onmiddellijk en tijdens het opnieuw opstarten in met behulp van de volgende opdracht:
sudo systemctl enable --now dnf-automatic.timer
-
enableconfigureert de timer om bij het opstarten te starten. -
--nowstart de timer in de huidige sessie.
De status van de dnf-automatic timer controleren
Controleer of de timer actief is en kijk wanneer deze voor het laatst is uitgevoerd met behulp van de volgende opdracht:
systemctl status dnf-automatic.timer
Typische uitvoer ziet eruit zoals in het volgende voorbeeld:
● 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) wordt verwacht: de onderliggende service is een one-shot-service die alleen draait wanneer de timer afgaat en daarna stopt. De Trigger: regel toont de volgende geplande uitvoering.
De volgende geplande uitvoering van de dnf-automatic timer weergeven
Vermeld de volgende uitvoering naast andere timers met behulp van de volgende opdracht:
systemctl list-timers dnf-automatic.timer
Voorbeelduitvoer:
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.
Optionele configuratie van dnf-automatic
U kunt het gedrag van automatische updates configureren door het /etc/dnf/automatic.conf bestand toe te voegen. Dit bestand bepaalt of updates alleen worden gedownload, automatisch worden toegepast of beperkt tot alleen beveiligingsupdates. Zie de dnf5-automatische documentatie voor volledige configuratiedetails
Opmerking
Automatische updates worden geïnstalleerd via dnf-automatic, maar het systeem wordt niet automatisch opnieuw opgestart. Als een kernel (of een ander pakket dat opnieuw moet worden opgestart) wordt bijgewerkt, wordt de nieuwe versie pas van kracht nadat de volgende herstart is uitgevoerd. Na updates controleert u of opnieuw opstarten is vereist en plant u er zo nodig een.
Veelgebruikte DNF-opdrachten
De volgende opdrachten hebben betrekking op het merendeel van het dagelijkse pakketbeheer op Azure Linux.
dnf clean all
dnf clean all verwijdert alles wat DNF in de cache heeft opgeslagen onder /var/cache/libdnf5. Gebruik deze voor het volgende:
- Herstellen van beschadigde of verouderde metagegevens die transactiefouten veroorzaken.
- Verklein containerimages door de pakketcache na installaties in dezelfde
RUNlaag te verwijderen. - Maak schijfruimte vrij.
Containervoorbeeld:
RUN dnf install -y package1 package2 \
&& dnf clean all
dnf search
dnf search toetst trefwoorden aan pakketnamen en samenvattingen. Voorbeeld:
dnf search lsof
Voorbeelduitvoer:
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 zoekt het pakket dat eigenaar is van een bepaald bestand, een opdracht of een bepaalde mogelijkheid. Voorbeeld:
dnf provides lsof
Voorbeelduitvoer:
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 installeert een of meer pakketten samen met hun runtime-afhankelijkheden:
sudo dnf install lsof
Voorbeelduitvoer:
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 deïnstalleert een pakket samen met alle afhankelijkheden die specifiek voor dat pakket zijn meegeïnstalleerd:
sudo dnf remove -y lsof
Voorbeelduitvoer:
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 werkt geïnstalleerde pakketten bij naar de nieuwste beschikbare versies.
sudo dnf upgrade
Wanneer alles actueel is, is de uitvoer kort. Voorbeeld:
Updating and loading repositories:
Repositories loaded.
Nothing to do.
Tip
Geef -y door aan install, remove of upgrade in niet-interactieve contexten, zoals scripts, CI-pijplijnen en containerbuilds. Elke DNF-bewerking die het systeem wijzigt, vereist root, dus voer deze uit onder sudo of als root.
Verwante inhoud
-
DNF5-hulpprogramma voor pakketbeheer: volledige opdrachtregelverwijzing voor
dnf5. - Wijzigingen tussen DNF en DNF5: wat is gewijzigd van DNF4, inclusief verwijderde opdrachten en gedragsverschillen.
- Migreren naar DNF5: Richtlijnen voor het verplaatsen van scripts en automatisering van DNF4 naar DNF5.