Weboldal keresés

27 'DNF' (Fork of Yum) parancs az RPM-csomagkezeléshez Linuxban


A DNF más néven Dandified YUM egy következő generációs csomagkezelő az RPM alapú terjesztéshez. Először a Fedora 18-ban mutatták be, és felváltotta a YUM segédprogramot a Fedora 22 legutóbbi kiadásában.

A DNF célja a YUM szűk keresztmetszete, azaz a teljesítmény, a memóriahasználat, a függőségi felbontás, a sebesség és sok más tényező javítása. A DNF csomagkezelést végez RPM, libsolv és hawkey könyvtár használatával. Bár a CentOS és RHEL 7 rendszerben nem telepítve érkezik, yum, dnf és yum mellett használhatod.

A DNF-ről itt olvashat bővebben:

  1. A Yum DNF-re cserélésének okai

A DNF legújabb stabil kiadása az 1.0 (a bejegyzés írásakor), amely 2015. május 11-én jelent meg. Ez (és a DNF összes korábbi verziója) többnyire Python nyelven íródott, és GPL v2 licenc alatt került kiadásra.

DNF telepítése

A DNF nem érhető el az RHEL/CentOS 7 alapértelmezett tárolójában. A Fedora 22 azonban hivatalosan bevezetett DNF-el érkezik.

A DNF telepítéséhez RHEL/CentOS rendszereken először telepítenie kell és engedélyeznie kell az epel-release tárolót.

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

Bár nem etikus a „-y” használata a yum-mal, mivel ajánlatos megnézni, hogy mi van telepítve a rendszerére. Ha azonban ez nem számít sokat, használhatja az „-y”-t a yum-mal, hogy mindent automatikusan telepítsen a felhasználó beavatkozása nélkül.

Ezután telepítse a DNF-csomagot a yum paranccsal az epel-release tárolóból.

yum install dnf

A dnf sikeres telepítése után itt az ideje, hogy bemutassuk a 27 dnf parancsok gyakorlati használatát olyan példákkal, amelyek segítenek a csomagok kezelésében RPM alapú terjesztésben egyszerűen és hatékonyan.

1. Ellenőrizze a DNF verziót

Ellenőrizze a rendszerére telepített DNF verzióját.

dnf --version

2. Az engedélyezett DNF-tárolók listázása

A dnf paranccsal rendelkező „repolist” opció megjeleníti az összes engedélyezett adattárat a rendszerben.

dnf repolist

3. Sorolja fel az összes engedélyezett és letiltott DNF-tárolót

Az „összes újrapolisztizálása” opció kinyomtatja az összes engedélyezett/letiltott adattárat a rendszerben.

dnf repolist all

4. DNF használatával listázza ki az összes elérhető és telepített csomagot

A „dnf list” parancs felsorolja az összes elérhető csomagot az összes tárolóból és a Linux rendszeren telepített csomagokból.

dnf list

5. DNF használatával listázza ki az összes telepített csomagot

Míg a „dnf list” parancs megjeleníti az összes elérhető/telepített csomagot az összes adattárból. Lehetősége van azonban arra, hogy csak a telepített csomagokat listázza ki a „telepített listázás” opcióval, az alábbiak szerint.

dnf list installed

6. Sorolja fel az összes elérhető csomagot DNF használatával

Hasonlóképpen, az „elérhető lista” opció felsorolja az összes telepíthető csomagot az összes engedélyezett tárolóból.

dnf list available

7. Keressen egy csomagot DNF segítségével

Ha igen, akkor fogalma sincs a telepíteni kívánt csomagról, ilyen helyzetben használhatja a 'search' opciót a dnf paranccsal, hogy megkeresse a szónak vagy karakterláncnak megfelelő csomagot (mondjuk nano ).

dnf search nano

8. Nézze meg, mi biztosít fájlt/alcsomagot?

A „provides” dnf opció megkeresi annak a csomagnak a nevét, amely adott fájlt/alcsomagot biztosít. Például, ha meg szeretné találni, hogy mi biztosítja a „/bin/bash” fájlt a rendszerén?

dnf provides /bin/bash

9. Kérje le a csomag részleteit a DNF használatával

Tételezzük fel, hogy meg akarja ismerni egy csomag információit, mielőtt telepíti a rendszerre, használhatja az „info” kapcsolót, hogy részletes információkat kapjon egy csomagról (mondjuk a nanoról), az alábbiak szerint.

dnf info nano

10. Telepítsen egy csomagot DNF-fel

A nano nevű csomag telepítéséhez egyszerűen futtassa az alábbi parancsot, amely automatikusan feloldja és telepíti a nano csomag összes szükséges függőségét.

dnf install nano

11. Csomag frissítése DNF használatával

Frissíthet csak egy adott csomagot (mondjuk a systemd-et), és a rendszeren mindent érintetlenül hagyhat.

dnf update systemd

12. Ellenőrizze a rendszerfrissítéseket DNF használatával

Ellenőrizze a frissítéseket a rendszerbe telepített összes rendszercsomaghoz egyszerűen, mint.

dnf check-update

13. Frissítse az összes rendszercsomagot DNF használatával

A következő parancsokkal frissítheti a teljes rendszert, beleértve az összes telepített csomagot.

dnf update
OR
dnf upgrade

14. Távolítson el/töröljön egy csomagot DNF használatával

Bármely nem kívánt csomag (mondjuk a nano) eltávolításához vagy törléséhez használhatja a „remove” vagy „erase” kapcsolót a dnf paranccsal. .

dnf remove nano
OR
dnf erase nano

15. Távolítsa el az árva csomagokat DNF használatával

A függőségek kielégítésére telepített csomagok haszontalanok lehetnek, ha más alkalmazások nem használják őket. Az árva csomagok eltávolításához hajtsa végre az alábbi parancsot.

dnf autoremove

16. Távolítsa el a gyorsítótárazott csomagokat DNF használatával

Sokszor találkozunk elavult fejlécekkel és befejezetlen tranzakciókkal, amelyek hibához vezetnek a dnf végrehajtása során. Az összes távoli csomaginformációt tartalmazó gyorsítótárazott csomagot és fejlécet egyszerűen végrehajthatjuk.

dnf clean all

17. Kérjen segítséget az adott DNF-parancshoz

Bármely konkrét dnf parancshoz (mondjuk a clean) segítséget kaphat, ha végrehajtja az alábbi parancsot.

dnf help clean

18. Sorolja fel az összes DNF-parancsot és opciót

Az összes elérhető dnf-parancs és opció súgójának felsorolásához egyszerűen írja be.

dnf help

19. A DNF előzményeinek megtekintése

Meghívhatja a dnf történetet a már végrehajtott dnf parancsok listájának megtekintéséhez. Így időbélyeggel lehet tisztában lenni azzal, hogy mit telepítettek/eltávolítottak.

dnf history

20. Sorolja fel az összes csoportos csomagot

A „dnf grouplist” parancs kinyomtatja az összes elérhető vagy telepített csomagot, ha nincs említve, az összes ismert csoportot listázza.

dnf grouplist

21. Telepítsen egy csoportcsomagot DNF használatával

Csomagok csoportjának csoportos csomagként (mondjuk Oktatási szoftver) telepítéséhez egyszerűen.

dnf groupinstall 'Educational Software'

22. Csoportos csomag frissítése

Frissítsen egy csoportcsomagot (mondjuk az Oktatási szoftvert) az alábbi parancs végrehajtásával.

dnf groupupdate 'Educational Software'

23. Csoportos csomag eltávolítása

A csoportcsomagot (mondjuk Oktatási szoftver) eltávolíthatjuk.

dnf groupremove 'Educational Software'

24. Telepítsen egy csomagot adott tárolóból

A DNF lehetővé teszi bármilyen konkrét csomag (mondjuk a phpmyadmin) telepítését egy repóból (epel), olyan egyszerűen, mint:

dnf --enablerepo=epel install phpmyadmin

25. Szinkronizálja a telepített csomagokat a stabil kiadással

A „dnf distro-sync” parancs megadja a szükséges beállításokat az összes telepített csomag szinkronizálásához a legfrissebb, bármely engedélyezett lerakatból elérhető stabil verzióhoz. Ha nincs kiválasztva csomag, akkor az összes telepített csomag szinkronizálva lesz.

dnf distro-sync

26. Telepítse újra a csomagot

A „dnf reinstall nano” parancs újratelepíti a már telepített csomagot (mondjuk: nano).

dnf reinstall nano

27. Csomag visszaminősítése

A „downgrade” opció leminősíti a megnevezett csomagot (mondjuk acpid) alacsonyabb verzióra, ha lehetséges.

dnf downgrade acpid
Minta kimenet
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.

Megfigyelésem: A DNF nem csökkentette a csomagot, ahogyan azt kellene. Hibaként is jelentették.

Következtetés

A DNF a csúcstechnológiás csomagkezelő YUM felső szintje. Hajlamos sok feldolgozást automatikusan elvégezni, amit sok tapasztalt Linux rendszergazda nem fog dicsérni, ahogy hiszem. Példaként:

  1. A --skip-broken elemet a DNF nem ismeri fel, és nincs más megoldás.
  2. Semmi sem hasonlítható a „resolvedep” parancshoz, bár futtathatja a dnf-t.
  3. Nincs „deplist” parancs a csomagfüggőség megállapítására.
  4. Ön kizárja a repót, ami azt jelenti, hogy a kizárás minden műveletre vonatkozik, ellentétben a yum-mal, amely csak a telepítés és a frissítések stb. idején zárja ki ezeket a repókat.

Számos Linux-felhasználó nem elégedett a Linux Ecosystem mozgásával. Először a Systemd eltávolította az init system v-t, most pedig a DNF váltja fel a YUM-ot a Fedora 22-ben, később pedig az RHEL-ben és a CentOS-ben.

Mit gondolsz? disztribúciók, és az egész Linux-ökoszisztéma nem értékeli a felhasználóit, és nem mozog akaratuk ellenére. Szintén gyakran mondják az IT-iparban: „Miért javítanád, ha nem sérült?”, és sem a System V init nem sérült, sem a YUM.

Ez minden most. Kérjük, ossza meg velem értékes gondolatait az alábbi megjegyzésekben. Lájkolj és oszd meg, és segíts a terjedésünkben.