27 "DNF" (Fork of Yum) -komentoa RPM-pakettien hallintaan Linuxissa


DNF eli Dandified YUM on seuraavan sukupolven Package Manager RPM-pohjaiseen jakeluun. Se esiteltiin ensimmäisen kerran Fedora 18:ssa, ja se on korvannut YUM-apuohjelman äskettäisessä Fedora 22:n julkaisussa.

DNF pyrkii parantamaan YUM:n pullonkauloja, kuten suorituskykyä, muistin käyttöä, riippuvuuden resoluutiota, nopeutta ja monia muita tekijöitä. DNF suorittaa paketinhallinnan käyttämällä RPM-, libsolv- ja hawkey-kirjastoa. Vaikka sitä ei ole asennettu CentOS:ään ja RHEL 7:ään, voit yum, dnf ja käyttää sitä yumin rinnalla.

Saatat haluta lukea lisää DNF:stä täältä:

  1. Syyt Yumin korvaamiseen DNF:llä

DNF:n uusin vakaa julkaisu on 1.0 (julkaisua kirjoitettaessa), joka julkaistiin 11. toukokuuta 2015. Se (ja kaikki aiemmat DNF-versiot) on kirjoitettu pääosin Pythonilla ja se on julkaistu GPL v2 -lisenssillä.

DNF:n asennus

DNF ei ole saatavilla RHEL/CentOS 7 -oletustietovarastoon. Fedora 22 toimitetaan kuitenkin virallisesti toteutettuna DNF:n kanssa.

Jotta voit asentaa DNF:n RHEL/CentOS-järjestelmiin, sinun on ensin asennettava ja otettava käyttöön epel-release-arkisto.

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

Vaikka ei ole eettistä käyttää "-y" yumin kanssa, koska on suositeltavaa nähdä, mitä järjestelmääsi asennetaan. Jos tällä ei kuitenkaan ole sinulle paljon väliä, voit käyttää '-y':tä yumin kanssa asentaaksesi kaiken automaattisesti ilman käyttäjän väliintuloa.

Asenna seuraavaksi DNF-paketti yum-komennolla epel-release-arkistosta.

yum install dnf

Kun dnf on asennettu onnistuneesti, on aika näyttää sinulle 27 käytännön dnf-komentojen käyttöä ja esimerkkejä, jotka auttavat sinua hallitsemaan paketteja RPM-pohjaisessa jakelussa. helposti ja tehokkaasti.

1. Tarkista DNF-versio

Tarkista järjestelmääsi asennettu DNF-versio.

dnf --version

2. Listaa käytössä olevat DNF-varastot

Vaihtoehto 'repolist' dnf-komennolla näyttää kaikki käytössä olevat tietovarastot järjestelmässäsi.

dnf repolist

3. Listaa kaikki käytössä olevat ja käytöstä poistetut DNF-arkistot

Vaihtoehto 'repolist all' tulostaa kaikki järjestelmässäsi käytössä olevat/poistetut arkistot.

dnf repolist all

4. Listaa kaikki saatavilla olevat ja asennetut paketit DNF:n avulla

Komento "dnf list" näyttää kaikki saatavilla olevat paketit kaikista arkistoista ja asennetuista paketeista Linux-järjestelmässäsi.

dnf list

5. Listaa kaikki asennetut paketit DNF:n avulla

Vaikka "dnf list" -komento näyttää kaikki saatavilla olevat/asennetut paketit kaikista arkistoista. Voit kuitenkin listata vain asennetut paketit käyttämällä vaihtoehtoa "luettelo asennettuna" alla olevan kuvan mukaisesti.

dnf list installed

6. Listaa kaikki saatavilla olevat paketit DNF:n avulla

Vastaavasti luettelo saatavilla -vaihtoehto näyttää kaikki paketit, jotka voidaan asentaa kaikista käytössä olevista arkistoista.

dnf list available

7. Etsi paketti DNF:n avulla

Jos näin on, sinulla ei ole aavistustakaan paketista, jonka haluat asentaa. Tällaisessa tilanteessa voit käyttää 'search'-vaihtoehtoa dnf-komennolla etsiäksesi paketin, joka vastaa sanaa tai merkkijonoa (esim. nano ).

dnf search nano

8. Katso, mikä Tarjoaa tiedoston/alipaketin?

Dnf-vaihtoehto "tarjoaa" etsii paketin nimen, joka tarjoaa tietyn tiedoston/alipaketin. Jos esimerkiksi haluat selvittää, mikä järjestelmässäsi tarjoaa "/bin/bash"?

dnf provides /bin/bash

9. Hanki paketin tiedot DNF:n avulla

Oletetaan, että haluat tietää paketin tiedot ennen sen asentamista järjestelmään. Voit käyttää info-kytkintä saadaksesi yksityiskohtaisia tietoja paketista (esimerkiksi nanosta), kuten alla.

dnf info nano

10. Asenna DNF-paketti

Jos haluat asentaa paketin nimeltä nano, suorita alla oleva komento, joka ratkaisee ja asentaa automaattisesti kaikki tarvittavat riippuvuudet paketille nano.

dnf install nano

11. Paketin päivittäminen DNF:n avulla

Voit päivittää vain tietyn paketin (esim. systemd) ja jättää kaiken järjestelmän koskemattomaksi.

dnf update systemd

12. Tarkista järjestelmäpäivitykset DNF:n avulla

Tarkista kaikkien järjestelmään asennettujen järjestelmäpakettien päivitykset yksinkertaisesti.

dnf check-update

13. Päivitä kaikki järjestelmäpaketit DNF:n avulla

Voit päivittää koko järjestelmän, mukaan lukien kaikki asennetut paketit, seuraavilla komennoilla.

dnf update
OR
dnf upgrade

14. Poista/Poista paketti DNF:n avulla

Poistaaksesi tai poistaaksesi ei-toivotun paketin (kuten nano), voit poistaa paketin poista- tai erase-kytkimellä dnf-komennolla. .

dnf remove nano
OR
dnf erase nano

15. Poista orpopaketit DNF:n avulla

Riippuvuuden tyydyttämiseksi asennetut paketit voivat olla hyödyttömiä, jos muut sovellukset eivät käytä niitä. Poista nämä orpopaketit suorittamalla alla oleva komento.

dnf autoremove

16. Poista välimuistissa olevat paketit DNF:n avulla

Usein kohtaamme vanhentuneita otsikoita ja keskeneräisiä tapahtumia, jotka johtavat virheisiin dnf:n suorittamisen aikana. Voimme puhdistaa kaikki välimuistissa olevat paketit ja etäpakettitietoja sisältävät otsikot yksinkertaisesti suorittamalla.

dnf clean all

17. Pyydä apua tiettyyn DNF-komentoon

Saatat saada apua mihin tahansa tiettyyn dnf-komentoon (kuten clean) suorittamalla alla oleva komento.

dnf help clean

18. Listaa kaikki DNF-komennot ja -asetukset

Luettelo ohje kaikista käytettävissä olevista dnf-komennoista ja vaihtoehdoista yksinkertaisesti kirjoittamalla.

dnf help

19. Näytä DNF:n historia

Voit kutsua dnf-historiaa nähdäksesi luettelon jo suoritetuista dnf-komennoista. Näin voit olla tietoinen siitä, mitä on asennettu/poistettu aikaleimalla.

dnf history

20. Listaa kaikki ryhmäpaketit

Komento "dnf grouplist" tulostaa kaikki saatavilla olevat tai asennetut paketit. Jos mitään ei mainita, se listaa kaikki tunnetut ryhmät.

dnf grouplist

21. Asenna ryhmäpaketti DNF:n avulla

Pakettien ryhmän asentaminen ryhmäpaketiksi (kuten Oppimisohjelmistot) yksinkertaisesti nimellä.

dnf groupinstall 'Educational Software'

22. Päivitä ryhmäpaketti

Päivitetään ryhmäpaketti (kuten Oppimisohjelmisto) suorittamalla alla oleva komento.

dnf groupupdate 'Educational Software'

23. Poista ryhmäpaketti

Voimme poistaa ryhmäpaketin (kuten Oppimisohjelmistot) muodossa.

dnf groupremove 'Educational Software'

24. Asenna paketti tietystä arkistosta

DNF mahdollistaa minkä tahansa tietyn paketin (kuten phpmyadmin) asentamisen reposta (epel) niin yksinkertaisesti kuin

dnf --enablerepo=epel install phpmyadmin

25. Synkronoi asennetut paketit vakaaseen julkaisuun

Komento "dnf distro-sync" tarjoaa tarvittavat vaihtoehdot kaikkien asennettujen pakettien synkronoimiseksi viimeisimpään vakaaseen versioon, joka on saatavilla kaikista käytössä olevista arkistoista. Jos yhtään pakettia ei valita, kaikki asennetut paketit synkronoidaan.

dnf distro-sync

26. Asenna paketti uudelleen

Komento "dnf reinstall nano" asentaa uudelleen jo asennetun paketin (kuten nano).

dnf reinstall nano

27. Päivitä paketti alempaan versioon

Vaihtoehto "downgrade" alentaa nimetyn paketin (esim. acpid) alempaan versioon, jos mahdollista.

dnf downgrade acpid
Näytelähtö
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.

Havaintoni: DNF ei alentanut pakettia, kuten sen pitäisi. Se on myös raportoitu bugiksi.

Johtopäätös

DNF on huippuluokan Package Managerin YUM. Sillä on taipumus tehdä paljon prosessointia automaattisesti, mitä monet kokeneet Linux-järjestelmänvalvojat eivät tule kehumaan, kuten uskon. Esimerkkinä:

  1. DNF ei tunnista ---skip-broken, eikä vaihtoehtoa ole.
  2. Ei ole mitään muuta kuin resolvedep-komento, vaikka voit suorittaa dnf:n tarjoaman.
  3. Ei ole olemassa deplist-komentoa pakettiriippuvuuden löytämiseksi.
  4. Jätät repon pois, mikä tarkoittaa, että poissulkeminen koskee kaikkia toimintoja, toisin kuin yum, joka sulkee nämä repot pois vain asennuksen ja päivitysten yhteydessä jne.

Useat Linux-käyttäjät eivät ole tyytyväisiä Linux-ekosysteemin etenemiseen. Ensin Systemd poisti init system v:n ja nyt DNF korvaa YUM:n aikaisemmin Fedora 22:ssa ja myöhemmin RHEL:ssä ja CentOS:ssä.

Mitä mieltä sinä olet? ovat jakeluita ja koko Linux-ekosysteemi ei arvosta käyttäjiään ja liiku vastoin heidän tahtoaan. Myös IT-alalla sanotaan usein: "Miksi korjata, jos ei ole rikki?", eikä init System V ole rikki eikä YUM.

Tässä kaikki tältä erää. Kerro minulle arvokkaat ajatuksesi alla olevissa kommenteissa. Tykkää ja jaa meistä ja auta meitä leviämään.