Dandified Yum (DNF) csomagkezelő használata

A DNF egy hatékony csomagkezelő az RPM-alapú Linux disztribúciókhoz, mint például a Fedora, a CentOS és a Red Hat Enterprise Linux (RHEL). Továbbá, a yum utódjának tekinthető, mivel jobb teljesítményt, jobb függőségkezelést és felhasználóbarátabb felületet kínál. Ebben a segédanyagban áttekintjük a dnf parancs alapjait, és példákkal szemléltetjük annak működését.

Dandified Yum (DNF) csomagkezelő használata

1. Mi a DNF?

Először is értsük meg, mi az a Dandified Yum? A DNF lehetővé teszi számunkra, hogy csomagokat telepítsünk, frissítsünk és távolítsunk el RPM-alapú disztribúciókon. Továbbá, a dnf parancs feloldja a telepítendő csomag függőségeit, mellyel a fő csomag mellett telepíti a szükséges hozzá kapcsolódó csomagokat is.

A Dandified Yum története 2015-ig nyúlik vissza, ekkor jelent meg először a Fedora 18-as kiadásában, majd 2018-ban teljesen átvette a YUM helyét a Fedora 22-ben.

A Dandified Yum megalkotásának elsődleges célja az volt, hogy javítsa a YUM teljesítményét és hatékonyságát, modernizált kódalapot biztosítson, és jobb függőségkezelést kínáljon. A Dandified Yum gyorsabb műveleteket, jobb memóriakezelést és egy tisztább API-t hozott magával.

2. Alapvető DNF (Dandified Yum) használat

2.1. Csomagok telepítése dnf használatával


Na de térjünk is rá az alapparancsokra, melynek az első eleme a csomag telepítése lesz. Ez a sudo dnf install csomagnév parancsból áll össze.

Bontsuk le a fenti parancsot:

  • sudo lehetővé teszi, hogy a parancsot rendszergazdai jogosultságokkal futtassuk
  • dnf install utasítja a dnf-et, hogy telepítse a megadott csomagot
  • audacity a telepíteni kívánt csomag neve

Csomag telepítéséhez a dnf install parancsot használjuk, amit a csomagnév követ. Nézzünk meg egy példát:

$ sudo dnf install audacity

A kimenet alapján hasznos információkat láthatunk a hivatkozott csomagról, például a csomag verzióját, letöltési méretét, a tárolót és a CPU architektúrát.

2.2. Csomagok frissítése

Bizonyos esetekben szükséges lehet egyes csomagokat frissíteni. Még ha nem is kötelező, akkor is jó gyakorlat az összes telepített csomagunkat a legújabb kiadott javításokra frissíteni.

Számos oka lehet annak, hogy miért akarunk csomagot frissíteni Linuxon, például:

  • a rendszer biztonságának fenntartása
  • stabilitás megtartása
  • teljesítmény megőrzése

Nézzük meg, hogyan frissíthetjük az összes csomagot a dnf használatával:

$ sudo dnf update

A parancs futtatásával a dnf lekéri a tárolókból az összes telepített csomag információt, és ha elérhető belőlük új verzió, letölti és telepíti azt.

Most nézzünk egy példát arra, hogyan frissíthetünk egy adott csomagot a dnf használatával:

$ sudo dnf update nano

Ez a kimenet azt mutatja, hogy a nano csomagot frissítjük a 7.2-7.fc40.x86_64 verzióról a legújabb verzióra.

2.3. Csomagok eltávolítása

Ha már nincs szükségünk egy csomagra, a telepített csomag eltávolításához a dnf remove parancsot használjuk, amelyet a csomag neve követ:

$ sudo dnf remove audacity

A kimenet alapján megerősítésre került, hogy az audacity csomag eltávolításra került.

2.4. Csomagok listázása és keresése

A dnf parancs keresési opciója hasznos, ha nem vagyunk biztosak a telepíteni kívánt csomag pontos nevében. Nézzük meg, hogyan kereshetünk htop-hoz kapcsolódó csomagokat a dnf search parancs segítségével:

$ dnf search btop

Továbbá, használhatjuk a list —installed kapcsolót, hogy ellenőrizzük a rendszerünkön már telepített csomagokat:

$ sudo dnf list --installed

Amint láthatjuk, a parancs felsorolja az összes már telepített csomagot a jelenlegi verziójukkal együtt.

Végül, ha részletes információkat szeretnénk kapni egy adott csomagról, az info kapcsolóval megjeleníthetjük a csomag információit.

$ dnf info btop

Ez a parancs alapvető információkat nyújt a csomagról, beleértve a nevet, verziót, kiadást és leírást.

3. Fejlett DNF (Dandified Yum) használat

Az előző fejezetben csak az alapvető, hétköznapokban is használt parancsokat mutattam be, azonban most vizsgáljuk meg a fejlettebb opciókat is.

3.1. Csomagtárolók engedélyezése és letiltása

A csomagtárolók azok a források, ahonnan a Dandified Yum csomagokat tölt le. Emellett ideiglenesen vagy véglegesen is engedélyezhetünk vagy letilthatunk tárhelyeket.

Amennyiben nem vagyunk biztosak abban hogy melyik tárolóra van szükségünk, a dnf search fedora-repos paranccsal meg tudjuk jeleníteni az elérhető repositoryk listáját.

Vegyük sorba ezeket:

  1. fedora-repos: Ebben a tárolóban a stabil kiadású csomagokat találod. Ez a fő repó, amely a Fedora alapcsomagjait tartalmazza.
  2. fedora-repos-archive: Ez a repó az archív csomagokat tartalmazza, tehát olyan csomagokat, amelyek már nem a legfrissebbek, de még mindig elérhetők.
  3. fedora-repos-eln: Az ELN (Enterprise Linux Next) repó definícióit tartalmazza, amely a jövőbeli Enterprise Linux kiadásokat célozza meg.
  4. fedora-repos-ostree: Ez a tároló az OSTree verziókezelő rendszerrel kapcsolatos fájlokat tartalmazza.
  5. fedora-repos-rawhide: A „Rawhide” a Fedora Linux aktuális fejlesztési verziójának neve. Ez a tároló Fedora Linux legfrissebb fejlesztési pillanatképét tartalmazza, és naponta frissül. Minden nap a rendszer megpróbál elkészíteni egy teljes csomagkészletet (például telepítési képeket), és minden sikeresen elkészült csomag bekerül aznap a Rawhide tárolóba. A Rawhide-ot néha „fejlesztési” vagy „fő” verziónak is hívják, mert ez a fő ága a csomagok verziókezelő rendszerének.

Nézzük meg, hogyan tehetjük ezt meg egy valós példán keresztül:

Szeretnénk kipróbálni az audacity legújabb verzióját, de az még tesztelés alatt van, ezért még a rawhide tárolóban található meg.

Először is telepítenünk kell a repo információit tartalmazó csomagot.

$ sudo dnf install fedora-repos-rawhide

Ha ez megtörtént, a kombinált paranccsal engedélyezzük a dnf-nek hogy a rawhide tárolóból kérje le az audacity legújabb kiadásának csomagadatait, majd telepíthetjük is azt a függőségekkel együtt.

$ sudo dnf --enablerepo=rawhide install audacity

Amennyiben nem szeretnénk hogy ez a csomag összeakadjon a már telepített stable kiadással, letilthatjuk a szoftver unstable verziójának frissítését:

$ sudo dnf --disablerepo=rawhide install audacity

Ha végleg szeretnénk egy adott repot eltávolítani, akkor azt megtehetjük az alábbi paranccsal:

$ sudo dnf remove fedora-repos-rawhide

Fontos, hogy amennyiben ismét szeretnénk használni az adott repot egy csomag telepítésére, úgy a tároló információt tartalmazó csomagot újra telepítenünk kell.

3.2. Gyorsítótár tisztítás a dnf használatával

Idővel a csomagok metaadatai vagy gyorsítótárai elavulhatnak. Ennek megfelelően a dnf clean parancs segítségével törölhetjük a gyorsítótárat:

$ sudo dnf clean all
$ sudo dnf clean metadata

Az első sor egy átfogóbb tisztítási parancs. Ez eltávolítja az összes ideiglenes fájlt, amelyet a dnf a csomagkezeléshez letöltött, beleértve:

  • csomag gyorsítótár
  • metaadat gyorsítótár
  • ideiglenes adatok

A második parancs ezzel szemben csak a metaadat gyorsítótárat törli. Pontosabban, eltávolítja a tárhelyekből letöltött csomagokkal, verziókkal és függőségekkel kapcsolatos gyorsítótárazott információkat.

3.3. Verzió visszaállítás kezelése

Hasonlóan a frissítésekhez, lehetőségünk van bizonyos csomagok előző verzióinak visszaállítására is. Bár nem túl gyakran van erre szükség, de a csomagban beálló súlyos működési hiba esetén hasznos lehet ez az opció.

A parancsot az alábbiak szerint alkalmazzuk:

$ sudo dnf downgrade nano

A parancs eredményeként a csomag visszaállt az előző verzióra.

3.4. Felesleges csomagok

Amikor eltávolítunk egy csomagot, a függőségei automatikusan nem biztos, hogy eltávolításra kerülnek. A dnf autoremove alparancsa eltávolítja azokat a csomagokat, amelyeket függőségként telepítettek, de már egyik telepített program sem igényli őket:

$ sudo dnf autoremove

Ha szeretnénk bizonyos csomagokat kizárni a telepítésből, frissítésből vagy eltávolításból, akkor használjuk —exclude kapcsolót:

$ sudo dnf upgrade --exclude=btop

Ennek következtében ez az összes csomagot frissíti, kivéve a btop-ot.

3.5. Lehetséges frissítések ellenőrzése

Bizonyos esetekben ellenőriznünk kell a lehetséges elérhető frissítéseket, még akkor is, ha nem vagyunk biztosak abban, hogy mely csomagok igényelnek frissítést. Erre a célra az dnf check-update alparancsát használhatjuk, hogy ellenőrizzük az összes lehetséges frissítést:

$ sudo dnf check-update

4. Konkluzió

Ez a leírás nem tartalmazza a Dandified Yum teljes szintaxisának összefoglalását, mivel számos egyéb kapcsoló és alfunkció is létezik. A parancs részletes leírását a terminálban a man dnf parancs begépelésével olvashatod.

Összefoglalva, a dnf parancs használatával hatékonyan kezelhetjük a szoftvercsomagokat az RPM-alapú Linux rendszerekben. A leírásban bemutatott példák segítenek eligazodni a Dandified Yum kezelésében, támogatva a kezdő lépéseket, és hozzájárulnak ahhoz, hogy magabiztosabban navigáljunk a Linux rendszerek telepítési, frissítési és karbantartási feladataiban.

Jelen tananyag videó formájában is megtekinthető a PingvinBázis youtube csatornáján:

DNF (Dandified YUM) csomagkezelő használata