27 Příkazy 'DNF' (Fork of Yum) pro správu balíků RPM v Linuxu
DNF alias Dandified YUM je správce balíčků nové generace pro distribuci založenou na RPM. Poprvé byl představen ve Fedoře 18 a nahradil nástroj YUM v nedávném vydání Fedory 22.
DNF má za cíl zlepšit úzká místa YUM, jmenovitě výkon, využití paměti, rozlišení závislostí, rychlost a mnoho dalších faktorů. DNF provádí správu balíčků pomocí RPM, libsolv a hawkey knihovny. Ačkoli to není instalované v CentOS a RHEL 7, můžete je yum, dnf a používat spolu s yum.
Můžete si přečíst více o DNF zde:
- Důvody, které vedly k nahrazení Yum za DNF
Poslední stabilní verze DNF je 1.0 (v době psaní příspěvku), která byla vydána 11. května 2015. To (a všechny předchozí verze DNF) je většinou napsáno v Pythonu a je uvolněno pod licencí GPL v2.
Instalace DNF
DNF není k dispozici ve výchozím úložišti RHEL/CentOS 7. Fedora 22 se však dodává s oficiálně implementovaným DNF.
Chcete-li nainstalovat DNF na systémy RHEL/CentOS, musíte nejprve nainstalovat a povolit úložiště epel-release.
yum install epel-release
OR
yum install epel-release -y
I když není etické používat „-y“ s yum, protože se doporučuje vidět, co je ve vašem systému nainstalováno. Pokud vám na tom ale příliš nezáleží, můžete použít „-y“ s yum k automatické instalaci všeho bez zásahu uživatele.
Dále nainstalujte balíček DNF pomocí příkazu yum z úložiště epel-release.
yum install dnf
Po úspěšné instalaci dnf je čas ukázat vám 27 praktické použití příkazů dnf s příklady, které vám pomohou spravovat balíčky v distribuci založené na RPM snadno a efektivně.
1. Zkontrolujte verzi DNF
Zkontrolujte verzi DNF nainstalovanou ve vašem systému.
dnf --version
2. Seznam povolených úložišť DNF
Možnost „repolist“ s příkazem dnf zobrazí všechna povolená úložiště ve vašem systému.
dnf repolist
3. Seznam všech povolených a zakázaných úložišť DNF
Možnost „repolist all“ vytiskne všechna povolená/deaktivovaná úložiště ve vašem systému.
dnf repolist all
4. Seznam všech dostupných a nainstalovaných balíčků používajících DNF
Příkaz „dnf list“ zobrazí seznam všech dostupných balíčků ze všech repozitářů a nainstalovaných balíčků ve vašem systému Linux.
dnf list
5. Seznam všech nainstalovaných balíčků používajících DNF
Zatímco příkaz „dnf list“ zobrazuje všechny dostupné/nainstalované balíčky ze všech úložišť. Máte však možnost vypsat pouze nainstalované balíčky pomocí možnosti „seznam nainstalovaných“, jak je uvedeno níže.
dnf list installed
6. Seznam všech dostupných balíčků používajících DNF
Podobně možnost „seznam dostupných“ zobrazí seznam všech dostupných balíčků k instalaci ze všech povolených úložišť.
dnf list available
7. Vyhledejte balíček pomocí DNF
Pokud nemáte ponětí o balíčku, který chcete nainstalovat, v takové situaci můžete použít volbu 'search' s příkazem dnf k vyhledání balíčku, který odpovídá slovu nebo řetězci (řekněme nano ).
dnf search nano
8. Podívejte se, co poskytuje soubor/dílčí balíček?
Možnost dnf „poskytuje“ najde název balíčku, který poskytuje konkrétní soubor/dílčí balíček. Pokud byste například chtěli najít, co ve vašem systému poskytuje „/bin/bash“?
dnf provides /bin/bash
9. Získejte podrobnosti o balíčku pomocí DNF
Předpokládejme, že chcete znát informace o balíčku před jeho instalací do systému, můžete použít přepínač „info“, abyste získali podrobné informace o balíčku (řekněme nano), jak je uvedeno níže.
dnf info nano
10. Nainstalujte balíček s DNF
Chcete-li nainstalovat balíček s názvem nano, stačí spustit níže uvedený příkaz, který automaticky vyřeší a nainstaluje všechny požadované závislosti balíčku nano.
dnf install nano
11. Aktualizace balíčku pomocí DNF
Můžete aktualizovat pouze konkrétní balíček (řekněme systemd) a ponechat vše v systému nedotčené.
dnf update systemd
12. Zkontrolujte aktualizace systému pomocí DNF
Zkontrolujte aktualizace pro všechny systémové balíčky nainstalované do systému jednoduše jako.
dnf check-update
13. Aktualizujte všechny systémové balíčky pomocí DNF
Celý systém včetně všech nainstalovaných balíčků můžete aktualizovat pomocí následujících příkazů.
dnf update
OR
dnf upgrade
14. Odeberte/vymažte balíček pomocí DNF
Chcete-li odstranit nebo vymazat jakýkoli nechtěný balíček (řekněme nano), můžete jej odstranit pomocí přepínače „remove“ nebo „erase“ s příkazem dnf. .
dnf remove nano
OR
dnf erase nano
15. Odstraňte osiřelé balíčky pomocí DNF
Tyto balíčky, které byly nainstalovány, aby uspokojily závislost, mohou být k ničemu, pokud je nepoužívají jiné aplikace. Chcete-li tyto osiřelé balíčky odstranit, spusťte níže uvedený příkaz.
dnf autoremove
16. Odstraňte balíčky uložené v mezipaměti pomocí DNF
Mnohokrát se setkáváme s neaktuálními hlavičkami a nedokončenými transakcemi, což vede k chybě při provádění dnf. Můžeme vyčistit všechny balíčky a hlavičky uložené v mezipaměti obsahující informace o vzdálených balíčcích pouhým spuštěním.
dnf clean all
17. Získejte nápovědu ke konkrétnímu příkazu DNF
Můžete získat pomoc s jakýmkoli konkrétním příkazem dnf (řekněme vyčistit) pouhým spuštěním níže uvedeného příkazu.
dnf help clean
18. Vypište všechny příkazy a možnosti DNF
Chcete-li zobrazit nápovědu ke všem dostupným příkazům dnf a možnosti, jednoduše napište.
dnf help
19. Zobrazit historii DNF
Můžete zavolat historii dnf a podívat se na seznam již provedených příkazů dnf. Tímto způsobem si můžete být vědomi toho, co bylo nainstalováno/odebráno s časovým razítkem.
dnf history
20. Vypište všechny skupinové balíčky
Příkaz “dnf grouplist” vypíše všechny dostupné nebo nainstalované balíčky, pokud není nic uvedeno, vypíše všechny známé skupiny.
dnf grouplist
21. Nainstalujte skupinový balíček pomocí DNF
Chcete-li nainstalovat skupinu balíčků sdružených dohromady jako skupinový balíček (řekněme Vzdělávací software) jednoduše jako.
dnf groupinstall 'Educational Software'
22. Aktualizujte skupinový balíček
Proveďme aktualizaci skupinového balíčku (řekněme Vzdělávací software) provedením níže uvedeného příkazu.
dnf groupupdate 'Educational Software'
23. Odeberte skupinový balíček
Můžeme odstranit skupinový balíček (řekněme Vzdělávací software) jako.
dnf groupremove 'Educational Software'
24. Nainstalujte balíček ze specifického úložiště
DNF umožňuje nainstalovat jakýkoli konkrétní balíček (řekněme phpmyadmin) z repozitáře (epel) stejně jednoduše jako,
dnf --enablerepo=epel install phpmyadmin
25. Synchronizujte nainstalované balíčky do stabilního vydání
Příkaz „dnf distro-sync“ poskytne potřebné možnosti pro synchronizaci všech nainstalovaných balíčků s nejnovější stabilní verzí dostupnou z libovolného povoleného úložiště. Pokud není vybrán žádný balíček, synchronizují se všechny nainstalované balíčky.
dnf distro-sync
26. Znovu nainstalujte balíček
Příkaz „dnf reinstall nano“ přeinstaluje již nainstalovaný balíček (řekněme nano).
dnf reinstall nano
27. Přejděte na nižší verzi balíčku
Možnost „downgrade“ sníží verzi pojmenovaného balíčku (řekněme acpid) na nižší verzi, pokud je to možné.
dnf downgrade acpid
Ukázkový výstup
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.
Můj postřeh: DNF nedegraduje balíček tak, jak má. To bylo také hlášeno jako chyba.
Závěr
DNF je nejvyšší stav na konci Art Package Manager YUM. Má tendenci provádět mnoho zpracování automaticky, což, jak věřím, nebude chváleno mnoha zkušenými administrátory systému Linux. Jako příklad:
--skip-broken
není rozpoznáno DNF a neexistuje žádná alternativa.- Neexistuje nic jako příkaz „resolvedep“, jakkoli můžete spustit dnf poskytuje.
- Neexistuje žádný příkaz „deplist“ pro zjištění závislosti balíčku.
- Vyloučíte-li repo, znamená to, že se vyloučení vztahuje na všechny operace, na rozdíl od yum, které tyto repozitáře vylučuje pouze v době instalace a aktualizací atd.
Několik uživatelů Linuxu není spokojeno s tím, jak se Linuxový ekosystém pohybuje. Nejprve Systemd odstranil init system v a nyní DNF nahradí YUM dříve ve Fedoře 22 a později v RHEL a CentOS.
Co myslíš? jsou distribuce a celý linuxový ekosystém si neváží svých uživatelů a pohybuje se proti jejich vůli. V IT průmyslu se také často říká – „Proč opravovat, když ne rozbité?“ a ani init System V není rozbitý, ani YUM.
To je prozatím vše. Prosím, dejte mi vědět své cenné myšlenky v komentářích níže. Lajkujte a sdílejte nás a pomozte nám se šířit.