27 DNF (Fork of Yum) kommandoer til RPM-pakkehåndtering i Linux


DNF aka Dandified YUM er en næste generation af pakkehåndtering til RPM-baseret distribution. Den blev først introduceret i Fedora 18, og den har erstattet Fedora 22.

DNF sigter mod at forbedre flaskehalse ved YUM, Performance, Memory Usage, Dependency Resolution, Speed og mange andre faktorer. DNF udfører pakkehåndtering ved hjælp af RPM, libsolv og hawkey-bibliotek. Selvom det ikke kommer installeret i CentOS og RHEL 7, kan du yum, dnf og bruge det sammen med yum.

Du kan godt lide at læse mere om DNF her:

  1. Årsager til at erstatte Yum med DNF

Den seneste stabile udgivelse af DNF er 1.0 (på tidspunktet for skrivning af indlægget), der blev udgivet den 11. maj 2015. Den (og alle tidligere versioner af DNF) er for det meste skrevet i Python og frigives under GPL v2-licens.

DNF er ikke tilgængelig i standardopbevaringsstedet for RHEL/CentOS 7. Fedora 22 leveres dog med DNF officielt implementeret.

For at installere DNF på RHEL/CentOS-systemer skal du først installere og aktivere epel-release repository.

# yum install epel-release
OR
# yum install epel-release -y

Selvom det ikke er etisk at bruge '-y' med yum, da det anbefales at se, hvad der installeres i dit system. Men hvis dette ikke betyder noget for dig, kan du bruge '-y' med yum til at installere alt automatisk uden brugerens indblanding.

Dernæst skal du installere DNF-pakke ved hjælp af yum-kommandoen fra epel-release repository.

# yum install dnf

Når dnf er installeret med succes, er det tid til at vise dig 27 praktisk brug af dnf-kommandoer med eksempler, der hjælper dig med at administrere pakker i RPM-baseret distribution let og effektivt.

Kontroller den version af DNF, der er installeret på dit system.

# dnf --version

Indstillingen 'ompolisering' med dnf-kommando viser alle aktiverede opbevaringssteder under dit system.

# dnf repolist

Indstillingen 'ompoliser alle' udskriver alle aktiverede/deaktiverede arkiver under dit system.

# dnf repolist all

Kommandoen “dnf list” viser alle tilgængelige pakker fra alle arkiver og installerede pakker på dit Linux-system.

# dnf list

Mens kommandoen “dnf list” viser alle de tilgængelige/installerede pakker fra alle arkiverne. Du har dog mulighed for kun at liste de installerede pakker ved hjælp af optionen "liste installeret" som vist nedenfor.

# dnf list installed

Tilsvarende vil indstillingen "liste til rådighed" angive alle de tilgængelige pakker, der kan installeres fra alle de aktiverede arkiver.

# dnf list available

Hvis det er tilfældet, har du ingen idé om den pakke, du vil installere, i en sådan situation kan du bruge 'søg' med dnf-kommandoen til at søge efter den pakke, der matcher ordet eller strengen (sig nano).

# dnf search nano

Indstillingen dnf “giver” find navnet på den pakke, der giver specifik fil/underpakke. For eksempel, hvis du gerne vil finde ud af, hvad der giver '/ bin/bash' på dit system?

# dnf provides /bin/bash

Lad os antage, at du vil vide oplysningerne om en pakke, inden du installerer den på systemet, kan du bruge "info" -kontakten til at få detaljerede oplysninger om en pakke (sig nano) som nedenfor.

# dnf info nano

For at installere en pakke kaldet nano skal du bare køre kommandoen nedenfor, den løser automatisk og installerer alle nødvendige afhængigheder for pakke nano.

# dnf install nano

Du kan kun opdatere en bestemt pakke (f.eks. Systemd) og lade alt på systemet være uberørt.

# dnf update systemd

Kontroller opdateringer for alle systempakker, der er installeret i systemet, simpelthen som.

# dnf check-update

Du kan opdatere hele systemet inklusive alle de installerede pakker med følgende kommandoer.

# dnf update
OR
# dnf upgrade

For at fjerne eller slette en uønsket pakke (f.eks. Nano) kan du bruge “fjern” eller “slet” -kontakten med dnf-kommandoen til at fjerne den.

# dnf remove nano
OR
# dnf erase nano

Disse pakker, der blev installeret for at tilfredsstille afhængighed, kan være ubrugelige, hvis de ikke bruges af andre applikationer. For at fjerne disse forældreløse pakker skal du udføre nedenstående kommando.

# dnf autoremove

Meget tid støder vi på forældede overskrifter og ufærdige transaktioner, hvilket resulterer i fejl under udførelse af dnf. Vi renser muligvis alle cachelagrede pakker og overskrifter indeholdende fjernpakkeoplysninger ved blot at udføre.

# dnf clean all

Du kan få hjælp til en hvilken som helst specifik dnf-kommando (siger ren) bare ved at udføre nedenstående kommando.

# dnf help clean

For at liste hjælp på alle tilgængelige dnf-kommandoer og valgmulighed skal du blot skrive.

# dnf help

Du kan ringe til dnf-historik for at se på listen over allerede udførte dnf-kommandoer. På denne måde kan du være opmærksom på, hvad der blev installeret/fjernet med tidsstempel.

# dnf history

Kommandoen “dnf grouplist” udskriver alle tilgængelige eller installerede pakker. Hvis der ikke er noget der nævnes, vil den liste alle kendte grupper.

# dnf grouplist

At installere en gruppe af pakker samlet som gruppepakke (f.eks. Uddannelsessoftware) som.

# dnf groupinstall 'Educational Software'

Lad os opdatere en gruppepakke (f.eks. Uddannelsessoftware) ved at udføre nedenstående kommando.

# dnf groupupdate 'Educational Software'

Vi kan fjerne gruppepakken (f.eks. Uddannelsessoftware) som.

# dnf groupremove 'Educational Software'

DNF gør det muligt at installere en hvilken som helst specifik pakke (f.eks. Phpmyadmin) fra en repo (epel) så enkelt som,

# dnf --enablerepo=epel install phpmyadmin

Kommandoen "dnf distro-sync" giver nødvendige muligheder for at synkronisere alle installerede pakker til den seneste stabile version tilgængelig fra ethvert aktiveret lager. Hvis der ikke er valgt nogen pakke, synkroniseres alle installerede pakker.

# dnf distro-sync

Kommandoen “dnf reinstall nano” geninstallerer en allerede installeret pakke (f.eks. Nano).

# dnf reinstall nano

Indstillingen "nedgradering" nedgraderer den navngivne pakke (f.eks. Acpid) til lavere version, hvis det er muligt.

# dnf downgrade acpid
Using metadata from Wed May 20 12:44:59 2015
No match for available package: acpid-2.0.19-5.el7.x86_64
Error: Nothing to do.

Min bemærkning: DNF nedgraderer ikke pakken, som den skal. Det er også blevet rapporteret som en fejl.

Konklusion

DNF er den øverste del af slutningen af art Package Manager YUM. Det har en tendens til at udføre en masse behandling automatisk, som ikke vil blive rost af mange erfarne Linux-systemadministratorer, som jeg tror. Som et eksempel:

  1. - skipsbrudt genkendes ikke af DNF, og der er intet alternativ.
  2. Der er intet som kommandoen 'resolvedep', men du kan køre dnf giver.
  3. Der er ingen 'deplist' -kommando for at finde pakkeafhængighed.
  4. Du ekskluderer en repo, betyder, at udelukkelsen gælder for alle operationer, i modsætning til yum, som kun udelukker disse repoer på tidspunktet for installation og opdateringer osv.

Flere Linux-brugere er ikke glade for, hvordan Linux Ecosystem bevæger sig. Første Systemd fjernede init system v og nu erstatter DNF YUM tidligere i Fedora 22 og senere i RHEL og CentOS.

Hvad synes du? er distributioner, og hele Linux-økosystemet værdsætter ikke dets brugere og bevæger sig mod deres vilje. Det siges også ofte i it-branchen - "Hvorfor rette, hvis ikke ødelagt?", Og hverken init System V er brudt eller YUM.

Det er alt for nu. Lad mig vide dine værdifulde tanker i kommentarerne nedenfor. Synes godt om og del os og hjælp os med at blive spredt.