Hva du trenger å vite om Fedora sin Switch Fra Yum å DNF


Hvis du er en fan av Fedora, og du har oppgradert til å frigi 22, har du kanskje lagt merke til en stor endring under panseret. Den kjente (og langvarig) Yum pakkebehandleren er borte. I stedet er det mye kraftigere og intelligent Dandified Yum (DNF).
Stedet for bare å marsjere videre, som om DNF var der alle sammen, la oss ta en titt på hvorfor dette skjedde, hvorfor det er en god ting, og hvordan den nye pakkesystem brukes.
Før vi gjør dette, forstår de av dere som aldri røre kommandolinjen (som på en Fedora system kan være et minimum) vil ikke se noe annerledes. GUI-front-end restene (ganske mye) det samme-det handler fortsatt pek-og-klikk godhet. Hvis, derimot, er du en fan av å installere programvare fra kommandolinjen, vil du merke en rask flash av ny tekst når du går til å utstede kommandoen:

 yum install PACKAGENAMEInstead av å se en liste over avhengigheter, du vil først få en vennlig advarsel (figur 1), og deretter pakken vil installere vanlig. Grunnen til at prosessen vil fortsette på er at utviklerne har laget en wrapper som linker yum til DNF-dette ble gjort for å gjøre overgangen lettere for sluttbrukere-så utsteder yum kommandoen vil fortsatt arbeide (minst i overgangen). 
Men ikke alle funksjonene til Yum har allerede gjort overgangen. Selv om det er målet for skaperne av DNF å få hver og Yum plugin i orden, noen er ennå ikke klar for prime time. For eksempel, er Tim Lauridsen hardt arbeid bringer Yum Extender til DNF. Han har i dag en pre-release klar for å teste.
Men det store spørsmålet (for de som har ennå å dykke inn i DNF) er hvorfor skjedde dette?
Hvorfor?
Det var til slutt tre viktige årsaker Yum ble delte inn i DNF. Disse grunnene var langvarige og alvorlige nok til at Yum bare måtte gå. Grunnene var:
en udokumentert API-dette betydde mer arbeid for utviklere. For utviklere å gjøre det de trengte, var det ofte nødvendig å bla gjennom Yum kodebasen bare for å være i stand til å skrive en samtale. Dette betydde utvikling var veldig treg.
Python 3-Fedora var i ferd med å gjøre overgangen til Python 3 og Yum ikke ville overleve denne endringen, mens DNF kan kjøre med enten Python 2 eller 3.

Broken avhengighet løse algoritme-dette har vært en akilleshæl for Fedora pakkebehandleren i lang tid. DNF bruker en state-of-the-art Satisfiability (SAT) -basert avhengighet løser. Dette er samme type avhengighet løser brukes i SUSE og opensuse er zypper.
Å si det enkelt, Yum var foreldet og kunne ikke stå opp til påkjenningene av den moderne Fedora distribusjon. Anmeldelser Hvorfor er dette en god ting
Du må se på dette fra to forskjellige perspektiver: Sluttbrukeren og utbygger. Hvis du er en sluttbruker, overgangen fra Yum til DNF betyr én veldig enkel ting: en mer pålitelig opplevelse. Der dette pålitelighet kommer på er DNFs overlegen avhengighet løse. Det vil nå være en svært sjelden anledning at du går å installere en pakke, og systemet kan ikke løse en avhengighet. Systemet er enkelt smartere. Yum avhengighet algoritmen var, for alle praktiske formål, ødelagte. DNF er SAT-baserte avhengighet løser løser det problemet
. Sluttbrukere vil også se mye mindre minnebruk under pakkeinstallasjonen. Installasjoner og oppgraderinger vil også gå mye raskere. Det siste bit bør være av spesiell betydning. Kjører oppgraderinger med Yum verktøyet var begynt å vokse svært langsom (spesielt sammenlignet med storheter som apt-get og zypper).
Hvis du er en utvikler, skiftet til DNF betyr at du vil være i stand til å jobbe mye mer effektivt og pålitelig. Alle utsatte APIer dokumenteres. Et annet pluss for utviklere er at C vil bli gjennomført. Utviklerne har skapt Hawkeye og librepo (C og Python biblioteker for å laste ned pakker og metadata fra repositories). De vil også gi ut enda flere C-baserte APIer i fremtiden. Vurderer C er fortsatt slik en utbredt språk (det for tiden sitter på nr 2 på TIOBE indeksen), bør dette være en velkommen endring til utviklere.
Hvordan DNF brukes
Det er der den gode nyheten for sluttbrukere faller på plass. Migrering fra Yum til DNF vil bare utfordre din hukommelse og muskel minne. Når du åpner opp et terminalvindu for å kjøre en kommandolinje-installasjonen, vil tilbøyelighet være å utstede kommandoen yum install pakkenavn. Det er ikke lenger tilfelle. Samme dandified kommando vil bli DNF installere pakke.
Se hvor enkelt?
Det vil være hikke underveis. Ja, DNF en drop-in erstatning for Yum; og hvis du ikke var en Yum strøm bruker, er sjansen stor for at du ikke vil oppleve en eneste sak i migrasjon. Men det er problemer å bli funnet. La oss undersøke den gamle yum oppdatering --skip-brutt kommando. Når den brukes, vil denne kommandoen kjører oppdateringen, men hoppe over alle pakkene med brutte avhengigheter. DNF, på den annen side, hopper disse ødelagte pakker, lydløst, som standard. For å nå dette målet, er det ikke nødvendig å inkludere --skip-brutt flagg. Hvis du trenger å ha DNF rapport ødelagt emballasje, må du kjøre DNF oppdatering og deretter kjøre DNF check-oppdatering. Noen brukere er ikke fornøyd med dette problemet, ettersom det gir ekstra trinn til en gang enkel prosess. Til avanserte brukere, kan DNF ende opp som krever mer arbeid enn Yum. For vanlige brukere, derimot, vil DNF være litt mer enn utveksling bokstavene yum for DNF.
Migrasjon fra Yum til DNF kan være litt vanskelig for en stund, spesielt når uvitende brukere åpne opp en kommandolinje og forsøke å bruke Yum. Men selv da, får du en advarsel:
 Yum kommandoen er blitt frarådet, bruke DNF instead.See 'mann DNF' og 'mann yum2dnf' for mer information.To overføringstransaksjonen metadata fra yum til DNF, kjøre 'DNF migrate'It blir helt klart at noe har endret seg. Jeg tror imidlertid utviklerne kunne ha vært mye mer tydelig i sin advarsel enn å bare gå gamle skolen og si se "mannen DNF '. I stedet, noe mer i retning av: 
 The Yum kommandoen er ikke lenger i bruk. Vennligst erstatte "yum" med "DNF" i din kommando for å gjøre bruk av den nyere system. 

Ja, det er for enkelt for real-world bruk, men du skjønner poenget. Og, til slutt, er at alle sluttbrukere trenger å vite-erstatte ordet 'yum "med" DNF ", og du er flink til å gå.
Har Fedora teamet gått i riktig retning med migrasjon fra Yum til DNF? Hvis ikke, hvordan skal de har nærmet seg denne overgangen? Anmeldelser