Vyhledávání na webu

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:

  1. 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:

  1. --skip-broken není rozpoznáno DNF a neexistuje žádná alternativa.
  2. Neexistuje nic jako příkaz „resolvedep“, jakkoli můžete spustit dnf poskytuje.
  3. Neexistuje žádný příkaz „deplist“ pro zjištění závislosti balíčku.
  4. 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.