27 DNF (Fork of Yum) käsku RPM-i pakettide haldamiseks Linuxis


DNF ehk Dandified YUM on järgmise põlvkonna RPM-põhise levitamise paketihaldur. Esmakordselt tutvustati seda Fedora 18-s ja see on asendanud Fedora 22.

DNF-i eesmärk on parandada YUM-i kitsaskohti, nt jõudlust, mälukasutust, sõltuvuse lahendamist, kiirust ja paljusid muid tegureid. DNF teeb paketihaldust RPM-i, libsolvi ja hawkey-teegi abil. Kuigi see ei ole installitud CentOS-i ja RHEL 7-sse, saate yum, dnf ja kasutada seda koos yumiga.

DNF-i kohta võiksite lugeda siit:

  1. Põhjused, miks Yum asendatakse DNF-iga

Viimane stabiilne DNF-i väljaanne on 1.0 (postituse kirjutamise ajal), mis ilmus 11. mail 2015. See (ja kogu DNF-i varasem versioon) on enamasti kirjutatud Pythonis ja välja antud GPL v2-litsentsi all.

DNF pole RHEL/CentOS 7 vaikehoidlas saadaval. Kuid Fedora 22 laevad, mille DNF rakendab ametlikult.

DNF-i installimiseks RHEL/CentOS-süsteemidesse peate esmalt installima ja lubama epeli väljaandmise hoidla.

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

Kuigi pole eetiline kasutada ‘-y’ koos yum'iga, on soovitatav vaadata, mida teie süsteemi installitakse. Kui see aga teile suurt tähtsust ei oma, võite yum-iga kasutada sõna -y, et kõik automaatselt installida ilma kasutaja sekkumiseta.

Järgmisena installige DNF-i pakett, kasutades epeli vabastamise hoidlast käsku yum.

# yum install dnf

Kui dnf on edukalt installitud, on aeg näidata teile dnf-käskude 27 praktilist kasutamist koos näidetega, mis aitavad teil RPM-põhises jaotuses pakette hõlpsalt ja tõhusalt hallata.

Kontrollige oma süsteemi installitud DNF-i versiooni.

# dnf --version

Valik ‘repolist’ koos käsuga dnf kuvab kõik teie süsteemi all olevad lubatud hoidlad.

# dnf repolist

Valik ‘repolist all’ prindib kõik teie süsteemi lubatud/keelatud hoidlad.

# dnf repolist all

Käsk “dnf list” loetleb kõik saadaolevad paketid kõigist teie Linuxi süsteemi hoidlatest ja installitud pakettidest.

# dnf list

Kui käsk “dnf list” näitab kõiki saadaolevaid/installitud pakette kõigist hoidlatest. Kuid teil on võimalus loetleda ainult installitud paketid, kasutades valikut "installitud loend", nagu allpool näidatud.

# dnf list installed

Samamoodi loetleb valik „saadaolev loend” kõik paketid, mis on kõikidest lubatud hoidlatest installimiseks saadaval.

# dnf list available

Kui teil on inasi, pole teil aimu paketist, mille soovite installida, sellises olukorras võite kasutada sõna „otsing” koos käsuga dnf, et otsida paketti, mis vastab sõnale või stringile (ütleme nano).

# dnf search nano

Valik dnf “annab” leiab paketi nime, mis pakub konkreetset faili/alampaketti. Näiteks kui soovite leida, mis pakub teie süsteemis '/ bin/bash'?

# dnf provides /bin/bash

Oletame, et soovite enne paketi süsteemi installimist teada saada paketi teavet. Võite kasutada lülitit „info” paketi (näiteks nano) üksikasjaliku teabe saamiseks, nagu allpool kirjeldatud.

# dnf info nano

Nano-nimelise paketi installimiseks käivitage lihtsalt järgmine käsk: see lahendab ja installib automaatselt kõik paketi nano nõutavad sõltuvused.

# dnf install nano

Võite värskendada ainult kindlat paketti (ütleme systemd) ja kõik süsteemis olevad puutumata.

# dnf update systemd

Kontrollige kõigi süsteemi installitud süsteemipakettide värskendusi lihtsalt.

# dnf check-update

Võite kogu süsteemi, sealhulgas kõiki installitud pakette, värskendada järgmiste käskudega.

# dnf update
OR
# dnf upgrade

Soovimatu paketi (näiteks nano) eemaldamiseks või kustutamiseks võite selle eemaldamiseks kasutada lülitit „eemalda” või „kustuta” koos käsuga dnf.

# dnf remove nano
OR
# dnf erase nano

Need sõltuvuse rahuldamiseks installitud paketid võivad olla kasutud, kui neid muud rakendused ei kasuta. Nende orbupakettide eemaldamiseks käivitage järgmine käsk.

# dnf autoremove

Paljudel aegadel kohtame aegunud päiseid ja lõpetamata tehinguid, mis põhjustavad dnf-i käivitamisel vigu. Võime puhastada kõik vahemälus olevad paketid ja päised, mis sisaldavad kaugpakettide teavet, lihtsalt käivitades.

# dnf clean all

Võite saada abi mis tahes konkreetsest dnf-käsust (öelge puhas), lihtsalt käivitades alloleva käsu.

# dnf help clean

Kõigi saadaolevate dnf-käskude abi loetlemiseks tippige lihtsalt.

# dnf help

Võite juba dnf-i ajalukku helistada, et vaadata juba täidetud dnf-käskude loendit. Nii saate teada, mis ajatempliga installiti/eemaldati.

# dnf history

Käsk “dnf grouplist” prindib kõik saadaolevad või installitud paketid, kui midagi pole mainitud, loetleb see kõik teadaolevad rühmad.

# dnf grouplist

Grupipakettidena kokku pandud pakettide rühma (näiteks õppetarkvara) installimiseks lihtsalt.

# dnf groupinstall 'Educational Software'

Uuendame rühmapaketti (näiteks haridustarkvara), käivitades alloleva käsu.

# dnf groupupdate 'Educational Software'

Saame eemaldada rühmapaketi (ütleme haridustarkvara) kui

# dnf groupremove 'Educational Software'

DNF võimaldab repost (epelist) installida mis tahes konkreetse paketi (näiteks phpmyadmin) nii lihtsalt kui

# dnf --enablerepo=epel install phpmyadmin

Käsk “dnf distro-sync” pakub vajalikke võimalusi kõigi installitud pakettide sünkroonimiseks kõige uuema stabiilse versiooniga, mis on saadaval igast lubatud hoidlast. Kui ühtegi paketti pole valitud, sünkroonitakse kõik installitud paketid.

# dnf distro-sync

Käsk “dnf reinstall nano” installib juba installitud paketi (näiteks nano).

# dnf reinstall nano

Valik „alandada” alandab nimega paketi (näiteks acpid) võimaluse korral madalamale versioonile.

# 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.

Minu tähelepanek: DNF ei alandanud paketti nii, nagu peaks. Samuti on sellest teatatud kui veast.

Järeldus

DNF on kunstipaketi halduri YUM ülemine osa. See kipub palju töötlema automaatselt, mida paljud kogenud Linuxi süsteemiadministraatorid ei kiida, nagu ma usun. Näiteks:

  1. - skip-broken ei tunnusta DNF ja alternatiivi pole.
  2. Pole midagi muud nagu käsk ‘resolvedep’, kuid võite käivitada dnf-paketi.
  3. Paketisõltuvuse leidmiseks pole käsku deplist.
  4. Te välistate repo, see tähendab, et välistamine kehtib kõigi toimingute suhtes, erinevalt yumist, mis välistab need repod ainult installimise ja värskendamise ajal jne.

Mitmed Linuxi kasutajad pole Linuxi ökosüsteemi liikumisega rahul. Esimene Systemd eemaldas init system v ja nüüd asendab DNF varem YUM-i Fedora 22-s ning hiljem RHEL-is ja CentOS-is.

Mida sa arvad? on distributsioonid ja kogu Linuxi ökosüsteem ei väärtusta kasutajaid ja liigub vastu nende tahtmist. Samuti öeldakse IT-tööstuses sageli - "Miks parandada, kui pole katki?", Ega init System V pole katki ega YUM.

Praeguseks kõik. Palun andke teada oma väärtuslikest mõtetest allpool toodud kommentaarides. Meeldib ja jaga meid ning aitab meil levida.