DNF - The Next Generation Package Management Utility for RPM-baserte distribusjoner


En fersk nyhet trekker oppmerksomheten til mange Linux-brukere, fagfolk og elever om at «DNF» (står for ingenting offisielt) kommer til å erstatte «YUM» pakkeadministrasjonsverktøy i distribusjoner nemlig Fedora, CentOS, RedHat, etc. som bruker RPM Package Manager.

Nyheten var ganske overraskende, og mer eller mindre en pakkehåndtering er knyttet til identiteten til en Linux-distribusjon som er ansvarlig for å installere, oppdatere og fjerne pakker.

YUM (står for Yellowdog Updater, Modified) er et gratis og åpen kildekode-kommandolinjebasert verktøy utgitt under GNU General Public License og er primært skrevet i Python-programmeringsspråket. YUM ble utviklet for å administrere og oppdatere RedHat Linux ved Duke University, senere fikk det bred anerkjennelse og ble pakkebehandler for RedHat Enterprise Linux, Fedora, CentOS og annen RPM-basert Linux-distribusjon. Det kalles ofte «Din pakkebehandler», uoffisielt ofte av Linux-profesjonelle.

Les også

  1. YUM (Yellowdog Updater, endret) – 20 kommandoer for pakkebehandling
  2. RPM (Red Hat Package Manager) – 20 praktiske eksempler på RPM-kommandoer

Ideen om å erstatte Yum med DNF

Ale¨ Kozumplík, utvikleren av DNF-prosjektet er en RedHat-ansatt. Han sier:

«For første gang i år 2009 mens han jobbet med «Anaconda» – Systeminstallasjonsprogrammet, hadde han innsikt i Linux. Han ønsket å jobbe med et helt annet prosjekt som lot ham utforske pakkeverktøyet til Fedora.»

Ale¨ Kozumplík sa – han har vært lei av å forklare at DNF står for ingenting, det er et pakkebehandlernavn, så det er det, ingenting annet. Det må hete noe som ikke er i konflikt med YUM, og derfor ble det kalt DNF.

Short comings of Yum som førte til grunnleggelsen av DNF:

  1. Avhengighetsoppløsning av YUM er et mareritt og ble løst i DNF med SUSE-biblioteket 'libsolv' og Python-omslag sammen med C Hawkey.
  2. YUM har ikke et dokumentert API.
  3. Det er vanskelig å bygge nye funksjoner.
  4. Ingen støtte for andre utvidelser enn Python.
  5. Lavere minnereduksjon og mindre automatisk synkronisering av metadata – en prosess som tar tid.

Ale¨ Kozumplík, sier at han ikke har noe annet valg enn å forkaste YUM og utvikle DNF. YUM-pakkens vedlikeholder var ikke klar til å implementere disse endringene. YUM har omtrent 59000 LOC, mens DNF har 29000 LOC (Codelinjer).

DNF-utviklingen

DNF viste sin tilstedeværelse i Fedora 18 for første gang. Fedora 20 var den første Linux-distribusjonen som ønsker brukere velkommen til å bruke funksjonaliteten til DNF i stedet for YUM.

De tekniske utfordringene DNF står overfor som nå er – å implementere alle funksjonene til YUM. For en vanlig bruker tilbyr DNF pakkenedlasting, installering, oppdatering, nedgradering og sletting. Imidlertid er det fortsatt liten eller ingen støtte for funksjoner som - hoppe over ødelagte pakker under installasjon, feilsøking, detaljerte utdata, aktiver repo, ekskluder pakker under installasjon, etc.

DNF og forgjengerens sammenligning:

  1. Ingen effekt av –skip-broken-bryteren.
  2. Kommandooppdatering=Oppgrader
  3. Kommandoen resolvedep er utilgjengelig
  4. Alternativet skip_if_unavailable er PÅ som standard
  5. Avhengighetsløsningsprosessen er ikke synlig på kommandolinjen.
  6. Parallelle nedlastinger i fremtidig utgivelse.
  7. Angre historikk
  8. Delta RPM
  9. Bash fullføring
  10. Automatisk fjerning osv.

DNF-integrasjon med fedora og senere i kommersielt miljø blir avhørt fra tid til annen av RHEL. Den siste versjonen er DNF 0.6.0 ble utgitt 12. august 2014.

Testing av DNF-kommandoer

Installer dnf på fedora eller nyere på RHEL/CentOS ved å bruke yum-kommandoen.

yum install dnf

Synopsis for bruk.

dnf [options] <command> [<argument>]

Installer en pakke.

dnf install <name_of_package>

Slett en pakke.

dnf remove <name_of_package>

Oppdater og oppgrader systemet.

dnf update
dnf upgrade

Merk: Som sagt ovenfor update=upgrade. Så. skal denne pakken implementere noe som rullende utgivelse? – Et fremtidig spørsmål.

Standardplasseringen for dnf-konfigurasjonsfilen: /etc/dnf/dnf.conf.

Prosjektets fremtid

Dette prosjektet tar sikte på å gi mer åpenhet og dokumentere prosjektet fullt ut. Prosjektet er et veldig spedbarn og støtte fra samfunnet er nødvendig for å integrere prosjektet. Mange funksjoner må fortsatt porteres, og det vil ta tid. DNF vil bli offisielt utgitt med Fedora 22.

Det er alt for nå. Jeg kommer snart igjen med en interessant artikkel. Inntil da, følg med og koble til. Ikke glem å gi oss din verdifulle tilbakemelding i kommentarene nedenfor.