DNF nebo Dandified YUM je fork správce balíčků YUM. Byl představen ve Fedoře 18 a na Fedoře 22. Nyní se stal výchozím správcem balíčků pro práci s balíčky RPM na CentOS 8, RHEL 8 a Fedoře.
DNF řeší všechny problémy, které byly spojeny s yum, jako je špatný výkon, vysoké využití paměti, pomalost při řešení závislostí. DNF lze nazvat jako další hlavní verzi správce balíčků YUM. V současnosti je nejstabilnější verzí DNF verze 2.6.3
V tomto tutoriálu probereme příkazy DNF používané pro správu balíčků. Tento článek bude sloužit jako cheat sheet pro DNF. Takže začneme….
Příkaz DNF
Syntaxe pro použití příkazu DNF je velmi podobná použití YUM, takže mezi těmito dvěma příkazy najdete mnoho podobností.
Příklad:1) Seznam povolených úložišť
Chcete-li zobrazit seznam všech povolených úložišť v systému, spusťte
[[email protected] ~]$ sudo dnf repolist[sudo] heslo pro linuxtechi:repo id název repo status*epel Extra balíčky pro Enterprise Linux 7 - x86_64 11 989*fedora Fedora 26 - x86_64 53 912 x aktualizace x6 -6 - Aktualizace 9,405virtualbox Fedora 26 - x86_64 - VirtualBox 10[[chráněn e-mailem] ~]$
Příklad:2) Seznam všech úložišť (povolených i zakázaných)
Pokud potřebujeme vidět všechna úložiště, která jsou povolena nebo zakázána, musíme spustit následující
[[email protected] ~]$ sudo dnf repolist all
Příklad:3) Instalace balíčku
Stejně jako yum používáme ‘install ‘ možnost následovaná názvem balíčku s dnf k instalaci, Předpokládejme, že chceme nainstalovat balíček webového serveru (httpd)
[[email chráněný] ~]$ instalace sudo dnf httpd
Příklad:4) Odebrání balíčku
Chcete-li odebrat balíček, proveďte z terminálu následující:
[[e-mail chráněný] ~]$ sudo dnf odstranit httpdor[[e-mail chráněn] ~]$ sudo dnf vymazat httpd
Výstup výše uvedeného příkazu by byl něco jako níže:
Příklad:5) Aktualizace balíčku
Spusťte následující příkaz pro aktualizaci jednoho balíčku v systému,
Syntaxe:dnf update {pkg-name}
[[email protected] ~]$ sudo dnf update filezilla
Příklad:6) Zkontrolujte úplnou aktualizaci systému
Chcete-li provést kontrolu aktualizací v celém systému, spusťte následující příkaz
[[email protected] ~]$ sudo dnf check-update
Příklad:7) Upgradujte všechny systémové balíčky
Chcete-li upgradovat všechny systémové balíčky, spusťte následující
[[email protected] ~]$ upgrade sudo dnf
Příklad:8) Vypsat všechny skupinové balíčky
Pomocí následujícího zobrazíte seznam všech skupinových balíčků
[[email protected] ~]$ sudo dnf grouplist Poslední kontrola vypršení platnosti metadat:před 1:40:19 dne Út 10. října 2017 10:08:39 IST. Dostupné skupiny prostředí: Vlastní operační systém Fedora Minimální instalace Vydání serveru Fedora Fedora Workstation Fedora Cloud Server Plazmové pracovní prostory KDE Xfce Desktop LXDE Desktop Hawaii Desktop LXQt Desktop Cinnamon Desktop MATE Desktop Prostředí Sugar ………
Příklad:9) Instalace skupinových balíčků
Podobné balíčky jsou seskupeny a lze je nainstalovat z jednoho příkazu, nikoli pomocí samostatných příkazů. Chcete-li nainstalovat skupinu, spusťte
[[email protected] ~]$ sudo dnf groupinstall "Development Tools"
Příklad:10) Odebírání skupinových balíčků
Chcete-li ze systému odstranit kompletní skupinu balíčků, spusťte následující příkaz dnf,
Syntaxe: dnf groupremove ‘název_skupiny’
[[email protected] ~]$ sudo dnf groupremove "Nástroje pro vývoj"
Můžeme také použít ‚groupupdate‘ pro aktualizaci skupinových balíčků.
Příklad:11) Vyhledejte balíčky
Chcete-li vyhledat konkrétní balíček z repozitářů, spusťte
Syntaxe:dnf search {package_name}
Předpokládejme, že chci prohledat balíček net-tools
[[email protected] ~]$ sudo dnf search net-tools===========Název přesně shodný:net-tools =========net-tools.x86_64 :Základní síťové nástroje[[email protected] ~]$
Příklad:12) Stáhněte (neinstalujte) balíček
Mohou existovat některé scénáře, kdy potřebujeme stáhnout balíčky, ale nechceme je instalovat. Pomocí následujícího příkazu stáhněte balíček jako samba
Syntaxe: dnf download package_name
[[email chráněno] ~]$ sudo dnf ke stažení sambasamba-4.6.8-0.fc26.x86_64.rpm 139 kB/s | 636 kB 00:04[[e-mail chráněný] ~]$
Příklad:13) Zobrazit všechny dostupné balíčky
Chcete-li získat seznam všech dostupných balíčků z repozitářů, otevřete terminál a spusťte příkaz dnf
[[email protected] ~]$ seznam dnf k dispozici | více
Příklad:14) Zobrazit pouze nainstalované balíčky
Nyní, pokud požadujeme pouze seznam nainstalovaných balíčků v systému, můžeme jej získat provedením následujícího příkazu,
[[email protected] ~]$ seznam dnf nainstalován
Příklad:15) Zobrazit všechny nainstalované i dostupné balíčky
Chcete-li získat seznam všech balíčků, tj. nainstalovaných i dostupných, spusťte následující příkaz
[[email protected] ~]$ seznam dnf
Příklad:16) Povolení úložiště pro instalaci
Chcete-li pro instalaci balíčku použít konkrétní úložiště, spusťte
[[email protected] ~]$ sudo dnf install --enablerepo=epel mysqlExtra Packages pro Enterprise Linux 7 – x86_64 3,9 MB/s | 13 MB 00:03Závislosti vyřešeny.=================================================================================== Balík Arch Verze Úložiště Velikost====================================================================================Instalace: mariadb x86_64 3:10.1.26-2.fc26 . 6 . 6 . 6 . 6 . 6 . 6 . 6 . 6 . 6 . 6 . 6 . 6 . 6 . 6 . . 6 . . 6 . . . 6 . . . 6 . . . . . . -2.FC26 Aktualizace 100 k MariAdb-Config X86_64 3:10.1.26-2.fc26 Aktualizace 33 K MariADB-LIBS X86_64 3:10.1.26-2.fc26 Shrnutí 663 kTransaction ============================================================================================================Celková velikost ke stažení:7,2 MInstalovaná velikost:44 MI je to v pořádku [y/N]:y
Příklad:17) Zkontrolujte, který balíček poskytuje požadovanou funkci
Pokud chceme vědět, který balíček je zodpovědný za získání konkrétní funkce, například potřebujeme znát název balíčku, který je spojen s 'crontab' nebo s nějakým jiným příkazem, pak můžeme použít příkaz dnf 'poskytuje ‘ následujícím způsobem,
[[email protected] ~]$ sudo dnf poskytuje crontabcronie-1.5.1-5.fc26.x86_64 :Cron démona pro spouštění programů v nastavenou dobuRepo :@Systemcronie-1.5.1-5.fc26.x86_6 pro spouštění programů v nastavených časechRepo :fedora[[chráněno e-mailem] ~]$
Totéž lze provést proti souboru, můžeme také použít stejný příkaz s umístěním souboru k získání názvu balíčku, ke kterému je soubor přidružen,
[[email protected]]$ sudo dnf poskytuje /var/www/html
Příklad:18) Zobrazení informací o balíčku
Chcete-li získat podrobnosti o konkrétním balíčku, spusťte
Příklad:19) Vytvoření mezipaměti
Přestože se mezipaměť vytváří automaticky v průběhu času, máme také možnost vytvořit mezipaměť ručně, takže budoucí akce jsou rychlé a rychle dokončené. Chcete-li mezipaměť vytvořit ručně, spusťte
[[email protected] ~]$ sudo time dnf makecachePoslední kontrola vypršení platnosti metadat:před 0:04:41 ve čtvrtek 12. října 2017 09:53:00 IST.Metadata cache vytvořena.0.86uživatel 0.12systém 0:01.04elapsed 95%CPU (0avgtext+0avgdata 106872maxresident)k0vstupů+1192výstupů (0hlavní+39606menší)chyby stránky 0swaps[[e-mail chráněný] ~]$
Příklad:20) Vymažte mezipaměť
Chcete-li odstranit všechna data uložená v mezipaměti dnf, proveďte následující příkazy
[[e-mail chráněný] ~]$ sudo dnf clean all34 files odstraněn[[email protected] ~]$
Příklad:21) Zkontrolujte historii transakcí
Chcete-li zkontrolovat všechny transakce, které byly provedeny pomocí příkazu DNF, spusťte následující příkazy
[[e-mail chráněný] ~]$ historie sudo dnf
Vytvoří seznam všech transakcí v pořadí, jak k nim došlo, s odpovídajícím číslem. Toto číslo můžeme použít k dalšímu získání podrobností o této transakci,
[[email protected] ~]$ sudo dnf history info 5
Protokoly týkající se instalace, odebrání nebo aktualizací jsou uchovávány v souboru protokolu /var/log/dnf.log. Pomocí příkazu dnf history můžeme také vrátit aktualizace systému.
Příklad:22) Odstranění osiřelých balíčků
Osiřelé balíčky jsou balíčky, které byly kdysi nainstalovány, aby splnily závislost na nějakém jiném balíčku, ale nyní nejsou vyžadovány. Chcete-li takové balíčky odebrat, spusťte
[[email protected] ~]$ sudo dnf autoremove
Příklad:23) Synchronizujte všechny balíčky s nejnovějšími stabilními verzemi
Spusťte následující příkaz, abyste synchronizovali všechny balíčky s nejnovějšími stabilními verzemi,
[[e-mail chráněný] ~]$ sudo dnf distro-sync
Pokud potřebujeme synchronizovat pouze jeden balíček, uveďte na konci název balíčku, jinak budou synchronizovány všechny balíčky.
Příklad:24) Přeinstalujte balíček
Chcete-li v případě potřeby přeinstalovat balíček, spusťte následující příkaz
[[e-mail chráněný] ~]$ přeinstalace sudo dnf postfix Závislosti vyřešeny.============================================================================ Balík Arch Verze Úložiště Velikost=============================================================================Přeinstalace: postfix x86_64 2:3.2.2-1.fc26 fedora 1.4 MTransaction Summary=========================================================================Celková velikost stahování:1,4 MI Je to v pořádku [y/N]:y
Příklad:25) Upgradujte na konkrétní verzi
S DNF je také možné upgradovat balíček rpm na konkrétní verzi, abyste toho dosáhli, spusťte následující příkaz,
[[email protected] ~]$ sudo dnf upgrade-to httpd-2.4.27-3.fc26
Příklad:26) Získejte seznam všech příkazů a možností DNF
Chcete-li získat seznam všech dostupných možností, které lze použít s DNF, spusťte
[[email protected] ~]Nápověda $ dnf
Toto byl náš kompletní návod pro správce balíčků DNF s příklady. Jakékoli dotazy nebo otázky, které máte k tomuto tutoriálu, zanechte v komentářích níže.