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:
- 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:
- A
--skip-broken
elemet a DNF nem ismeri fel, és nincs más megoldás. - Semmi sem hasonlítható a „resolvedep” parancshoz, bár futtathatja a dnf-t.
- Nincs „deplist” parancs a csomagfüggőség megállapítására.
- Ö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.