Översikt över pakethantering på Azure Linux

Azure Linux använder DNF5 som pakethanterare och levererar programvara som RPM-paket. Den här artikeln beskriver detaljerna i hur Azure Linux paketeras, vad som är nytt i DNF5 och var du ska titta när sökvägar eller verktyg fortfarande bär YUM-era-namn.

Note

Azure Linux 4.0 finns nu i förhandsversion och är strikt begränsad till utvärderings- och testningsändamål. Den är inte lämplig för produktionsanvändning.

DNF5

DNF5 är den senaste större versionen av DNF, pakethanteraren som underhålls av den överordnade RPM-programvaruhanteringscommunityn. Jämfört med DNF4 tillhandahåller DNF5:

  • Snabbare beroendeupplösning.
  • Minskad minnesanvändning.
  • En förbättrad intern arkitektur.
  • Fullständig bakåtkompatibilitet med befintliga YUM-lagringsplatskonfigurationer.

Kommandoradsytan ligger avsiktligt nära yum och dnf 4, så befintliga skript och CI-pipelines fungerar vanligtvis utan ändringar. Kommandona dnf och yum på Azure Linux tillhandahålls av DNF5.

RPM-paket

Programvara på Azure Linux levereras som RPM-paket. Varje .rpm filpaket:

  • Binärfiler, bibliotek, skript och andra nyttolastfiler.
  • Konfigurationsfiler som har markerats med %config så att de klarar uppgraderingar.
  • Metadata: namn, version, version, arkitektur, beroenden, fillista, signaturer och ändringslogg.

DNF löser beroenden, hämtar de filer som krävs .rpm från konfigurerade lagringsplatser, verifierar deras signaturer och ger dem till rpm biblioteket för att installera eller uppgradera. Du kan interagera med installerade paket direkt med (rpmtill exempel rpm -qa, , rpm -qf <path>rpm -V <pkg>), men för installationer och uppgraderingar använder du DNF så att beroendematchningen förblir korrekt.

YUM, DNF och DNF5

RPM-baserade distributioner har gått igenom tre generationer av klientdelsverktyg:

YUM → DNF → DNF5

Varje generation behöll lagringsplatsformatet på disk kompatibelt, så därför ser du fortfarande sökvägar och namn som /etc/yum.repos.d/ och yum.conf på dagens Azure Linux-system. De är alias i DNF5, inte separata verktyg, och du kan använda något av namnen i skript.

Mer information om DNF5 och RPM-ekosystemet finns i följande resurser: