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.
Tartalomjegyzék
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:
- fedora-repos: Ebben a tárolóban a stabil kiadású csomagokat találod. Ez a fő repó, amely a Fedora alapcsomagjait tartalmazza.
- 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.
- 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.
- fedora-repos-ostree: Ez a tároló az OSTree verziókezelő rendszerrel kapcsolatos fájlokat tartalmazza.
- 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: