GNU/Linux >> Znalost Linux >  >> Linux

Příklady příkazů DNF pro začátečníky

Tento tutoriál vysvětluje všechny základní příkazy pro ty, kteří chtějí vědět, jak používat správce balíčků DNF. Jak už možná víte, DNF je verze nové generace YUM a je výchozím správcem balíčků od Fedory 22. Má být náhradou za YUM v systémech založených na RPM, jako je RHEL, CentOS. Ve srovnání s YUM má DNF některé významné výhody, jako je podpora více úložišť, podpora skupin balíčků, rychlejší rychlost řešení závislostí a spotřebovává méně paměti, běží v Pythonu 2 i Pythonu 3, solidní dokumentace API, kompatibilita s YUM a mnohé.

Doporučeno:

  • Začínáme s Pacmanem

Příklady příkazů DNF pro začátečníky

Od Fedory 22 byl yum nahrazen DNF, takže jej nemusíte instalovat, pokud používáte Fedoru. Na CentOS 7 a RHEL 7 jej můžete nainstalovat, jak je popsáno v níže uvedeném tutoriálu.

  • Jak nainstalovat DNF na CentOS 7

Použití DNF je velmi podobné YUM. Všechny zde uvedené příkazy byly testovány na CentOS 7 minimální serverové edici s rootem uživatel.

1. Získání nápovědy

Chcete-li zobrazit všechny hlavní příkazy, příkazy pluginu a možnosti, spusťte:

# dnf help

Chcete-li získat nápovědu ke konkrétnímu příkazu, například 'install', spusťte:

# dnf help install

Chcete-li se dozvědět o aktuálně nainstalované verzi DNF, spusťte:

# dnf --version

2. Správa balíčků

Tato část vysvětluje instalaci, aktualizaci, výpis, vyhledávání, stahování, přeinstalování a odstraňování balíčků.

Získání informací o balíčku

Chcete-li získat podrobnosti o jakémkoli nainstalovaném nebo nenainstalovaném balíčku, spusťte:

# dnf info vim

Instalace balíčků

Chcete-li nainstalovat nový balíček, například vim , spustit:

# dnf install vim

Můžeme také nainstalovat několik balíčků, jak je uvedeno níže.

# dnf install vim nano emacs

Chcete-li pokračovat v instalaci, musíte zadat "y". Pokud to nechcete dělat pokaždé, můžete do příkazů pro automatické potvrzení zahrnout možnost „y“.

# dnf install vim nano emacs -y

To nebude čekat na potvrzení uživatele. Místo toho jednoduše nainstaluje všechny balíčky automaticky.

Výpis balíčků

Seznam všech dostupných a nainstalovaných balíčků:

# dnf list

K vypsání pouze všech nainstalovaných balíčků používáme:

# dnf list installed

Chcete-li vypsat pouze dostupné balíčky:

# dnf list available

Aktualizace balíčků

Chcete-li zkontrolovat všechny dostupné aktualizace, postupujte takto:

# dnf check-update

Nebo,

# dnf list updates

Chcete-li aktualizovat jeden balíček (např. bash), spusťte:

# dnf update bash

Chcete-li zjistit, zda existuje nějaká aktualizace nainstalovaného balíčku, spusťte:

# dnf list yum.noarch 
Using metadata from Sat Feb 10 14:47:22 2018
Installed Packages
yum.noarch 3.4.3-150.el7.centos @System
Available Packages
yum.noarch 3.4.3-154.el7.centos.1 update

Tento příkaz zobrazí aktuálně nainstalovanou verzi a dostupnou aktualizaci z úložiště. Ve výše uvedeném výstupu @system určuje nainstalovanou verzi a aktualizaci určuje dostupnou aktualizaci z úložiště.

Chcete-li aktualizovat více balíčků:

# dnf update package1 package2

Předejte možnost „y“ pro automatické potvrzení.

# dnf update package1 package2 -y

Chcete-li aktualizovat/upgradovat všechny balíčky, spusťte:

# dnf update
# dnf upgrade

Chcete-li synchronizovat nainstalované balíčky na nejnovější dostupné verze:

# dnf distro-sync

Vyhledávání balíčků

Chcete-li vyhledat balíček z úložiště, spusťte:

# dnf search vim

Tento příkaz zobrazí seznam všech balíků, které odpovídají slovu "vim".

Stahování balíčků

Někdy si možná budete chtít stáhnout balíček, ale nechcete ho hned instalovat. Pokud ano, spusťte:

# dnf download vim

Tento příkaz stáhne balíček vim-enhanced-xx.xx.x.rpm, ale nenainstaluje jej.

Chcete-li nainstalovat stažený balíček, spusťte:

# dnf install vim-enhanced-7.4.160-2.el7.x86_64.rpm

Všechny ostatní požadované závislosti budou staženy a nainstalovány z úložiště.

Přechod balíčků na nižší verzi

Chcete-li přejít na nižší verzi balíčku, který jste dříve aktualizovali, spusťte:

# dnf downgrade bash

Přeinstalování balíčků

Máte nějaké problémy s již nainstalovaným balíčkem? Bez obav! Můžete jej kdykoli znovu nainstalovat.

Chcete-li přeinstalovat balíček, použijte:

# dnf reinstall vim

Odebrání balíčků

Chcete-li odebrat balíček (např. vim) ze systému, spusťte:

# dnf remove vim

Můžete také použít možnost „vymazat“, jak je uvedeno níže.

# dnf erase vim

3. Skupiny balíčků

Skupina balíčků je kolekce balíčků, které slouží společnému účelu, například „Nástroje pro vývoj“ nebo „Webový server“. Když nainstalujete skupinu balíčků, budou staženy a nainstalovány všechny závislé balíčky. Instalace skupin vám ušetří značné množství času.

Instalace skupin balíčků

Chcete-li zobrazit seznam všech dostupných skupin balíčků, spusťte:

# dnf grouplist

Chcete-li nainstalovat skupinu balíčků, například "Development Tools", spusťte:

# dnf groupinstall 'Development Tools'

Tento příkaz nainstaluje všechny balíčky potřebné k nastavení vývojového prostředí.

Aktualizace skupin balíčků

Chcete-li aktualizovat skupinu balíčků, spusťte:

# dnf groupupdate 'Development Tools'

Odebrání skupin balíčků

Chcete-li odstranit skupinu balíčků, spusťte:

# dnf groupremove 'Development Tools'

4. Práce s repozitáři

Výpis nainstalovaných úložišť

Ve výchozím nastavení budou všechna úložiště přidána do adresáře /etc/yum.repos.d/ v CentOS/RHEL. Nainstalovaná úložiště můžete vypsat pomocí příkazu:

# dnf repolist

Výše uvedený příkaz zobrazí pouze povolená úložiště. Chcete-li zobrazit všechna úložiště (jak povolená, tak deaktivovaná), spusťte:

# dnf repolist all

Přidávání úložišť

Úložiště můžete přidat ručním vytvořením souboru package.repo v adresáři /etc/yum.repos.d/. DNF to však ještě usnadňuje.

Chcete-li přidat nové úložiště, spusťte:

# dnf config-manager --add-repo repository_url

Příklad:

# dnf config-manager --add-repo http://springdale.math.ias.edu/data/puias/unsupported/7/x86_64/

Chcete-li zobrazit nově přidané úložiště, provedeme:

# dnf repolist
created by dnf config-manager from http://springdale.math.ias.edu/data/puias/unsupported/7/x86_64/ 115 kB/s | 3.5 MB 00:31 
Using metadata from Sat Feb 10 14:47:22 2018
repo id repo name status
base CentOS-7 - Base 9,591
epel Extra Packages for Enterprise Linux 7 - x86_64 12,278
extras CentOS-7 - Extras 388
springdale.math.ias.edu_data_puias_unsupported_7_x86_64_ created by dnf config-manager from http://springdale.math.ias.edu/data/puias/unsupporte 2,760
updates CentOS-7 - Updates

Chcete-li zobrazit pouze soubor .repo:

# cat /etc/yum.repos.d/springdale.math.ias.edu_data_puias_unsupported_7_x86_64_.repo 
[springdale.math.ias.edu_data_puias_unsupported_7_x86_64_]
name=created by dnf config-manager from http://springdale.math.ias.edu/data/puias/unsupported/7/x86_64/
baseurl=http://springdale.math.ias.edu/data/puias/unsupported/7/x86_64/
enabled=1

Povolení úložišť

Chcete-li povolit úložiště, použijte:

# dnf config-manager --set-enabled <repo-id>

Příklad:

# dnf config-manager --set-enabled epel

Můžeme to ověřit spuštěním následujícího příkazu, abychom viděli pouze povolená úložiště.

# dnf repolist

Můžeme také kombinovat možnosti povolení a instalace, jak je uvedeno níže.

# dnf config-manager --set-enabled epel install zsh

Výše uvedený příkaz povolí úložiště EPEL a nainstaluje balíček zsh.

Deaktivace úložišť

K deaktivaci úložiště, například EPEL, používáme:

# dnf config-manager --set-disabled epel

Můžeme také kombinovat možnosti aktivace a deaktivace dohromady, jak je uvedeno níže.

# dnf --enablerepo=epel --disablerepo=updates

Výše uvedený příkaz povolí úložiště EPEL a zakáže úložiště aktualizací.

5. Hledání, které něco poskytuje

DNF vám umožňuje zjistit, který balíček poskytuje konkrétní příkaz nebo soubor. Pokud si přesně nepamatujete, který balíček poskytuje konkrétní příkaz, který jste chtěli použít, může vám pomoci DNF.

Zjistěte, který balíček poskytuje konkrétní příkaz

Chybí mi starý dobrý příkaz "ifconfig". Tento příkaz je zastaralý a není dostupný v posledních verzích. Chcete-li zjistit, který balíček obsahuje tento klenot, spusťte:

# dnf provides */ifconfig

Ukázkový výstup:

Using metadata from Thu Feb 8 15:52:17 2018
net-tools-2.0-0.22.20131004git.el7.x86_64 : Basic networking tools
Repo : base

Aha, ano! síťové nástroje balíček poskytuje tento příkaz. Můžete tedy nainstalovat tento balíček a použít příkaz ifconfig.

Zjistěte, který balíček poskytuje soubor

Dovolte nám, abyste zjistili, co balíček nabízí /bin/ls soubor. Chcete-li to provést, spusťte:

# dnf provides */bin/ls
Using metadata from Thu Jun 30 12:51:16 2016
coreutils-8.22-18.el7.x86_64 : A set of basic GNU tools commonly used in shell scripts
Repo : @System

coreutils-8.22-18.el7.x86_64 : A set of basic GNU tools commonly used in shell scripts
Repo : base

Jak vidíte ve výše uvedeném výstupu, coreutils balíček poskytuje /bin/ls soubor.

Přečtěte si také:

  • Jak najít balíček, který poskytuje konkrétní soubor v Linuxu

6. Práce s historií DNF

Pomocí příkazu "dnf history" můžeme zobrazit všechny akce, které jsme provedli příkazem DNF.

# dnf history
Using metadata from Sat Feb 10 14:47:22 2018
ID | Command line | Date a | Action | Altere
-------------------------------------------------------------------------------
 2 | update bash | 2018-02-10 14:55 | Update | 1 
 1 | install vim | 2018-02-10 14:51 | E, I | 33 EE

Jak vidíte ve výše uvedeném výstupu, došlo ke dvěma transakcím. Nainstaloval jsem balíček s názvem „vim“ a aktualizoval balíček „bash“. Nejnovější transakce se zobrazí nahoře.

Chcete-li zobrazit podrobnosti konkrétní transakce, použijte její ID, jak je uvedeno níže.

# dnf history list 2

Můžeme také zobrazit úplné podrobnosti konkrétní transakce, jak je uvedeno níže.

# dnf history info 2
Using metadata from Sat Feb 10 14:47:22 2018
Transaction ID : 2
Begin time : Sat Feb 10 14:55:38 2018
Begin rpmdb : 360:fa7bea798a10e850b2bf800182b377443b481652
End time : 14:55:39 2018 (1 seconds)
End rpmdb : 360:dc9f6bb33b00fe1d74dd205586c0ff8c4674f8f7
User : root <root>
Return-Code : Success
Command Line : update bash
Transaction performed with:
 Installed dnf-0.6.4-2.sdl7.noarch (unknown)
 Installed rpm-4.11.3-21.el7.x86_64 (unknown)
Packages Altered:
 Upgraded bash-4.2.46-21.el7_3.x86_64 (unknown)
 Upgrade 4.2.46-29.el7_4.x86_64 @updates

Jak vidíte, transakce s ID 2 byla použita k aktualizaci balíčku s názvem "bash". Tuto transakci můžeme kdykoli vrátit zpět pomocí příkazu:

# dnf history undo 2

Chcete-li zopakovat předchozí transakci „vrátit zpět“, stačí spustit:

# dnf history redo 2

7. Vytváření mezipaměti metadat DNF

Mezipaměť metadat DNF se automaticky vytvoří při instalaci aktualizačních balíčků. Nemusíme ho tedy ručně stavět. DNF má však vestavěný příkaz pro vytvoření mezipaměti, aby byly budoucí transakce rychlejší.

Chcete-li vytvořit mezipaměť metadat, spusťte:

# dnf makecache
Extra Packages for Enterprise Linux 7 - x86_64 155 kB/s | 15 MB 01:35 
created by dnf config-manager from http://springdale.math.ias.edu/data/puias/unsupported/7/x86_64/ 136 kB/s | 3.5 MB 00:26 
CentOS-7 - Base 195 kB/s | 9.5 MB 00:49 
CentOS-7 - Updates 240 kB/s | 7.9 MB 00:33 
CentOS-7 - Extras 84 kB/s | 820 kB 00:09 
Metadata cache created.

8. Úklid

Chcete-li odstranit nechtěné/osiřelé balíčky, spusťte:

# dnf autoremove

Chcete-li odebrat všechny balíčky uložené v mezipaměti, spusťte:

# dnf clean all

Místo úplného vyčištění mezipaměti můžete chtít provést individuální čištění metadat, dbcache, balíčků, pluginů atd.

Chcete-li odstranit soubory mezipaměti generované z metadat úložiště:

# dnf clean dbcache

To přinutí DNF, aby při příštím spuštění obnovil soubory mezipaměti.

Chcete-li odstranit místní soubory cookie oznamující, že byla stažena metadata a seznamy zrcadlení pro každé úložiště, spusťte:

# dnf clean expire-cache

DNF znovu ověří mezipaměť pro každé úložiště při příštím použití.

Chcete-li odstranit metadata úložiště:

# dnf clean metadata

Použití této možnosti způsobí, že DNF stáhne všechna metadata při příštím spuštění.

Odebrání všech balíčků uložených v mezipaměti ze systému:

# dnf clean packages

Následující příkaz říká všem povoleným pluginům, aby odstranily svá data uložená v mezipaměti.

# dnf clean plugins

To stačí k základnímu použití DNF na Fedoře, RHEL a CentOS. Další podrobnosti naleznete na manuálových stránkách.

$ man dnf

Linux
  1. Linux cd command tutorial pro začátečníky (8 příkladů)

  2. Linux killall příkaz pro začátečníky (8 příkladů)

  3. 7 Příklady příkazů Chmod pro začátečníky

  1. 10 příkladů příkazů „rm“ pro linuxové začátečníky

  2. 10 příkladů příkazů Linux Cat pro začátečníky

  3. Příklady příkazů dnf

  1. Výuka příkazů Linux pro začátečníky (5 příkladů)

  2. Linux df Command Tutorial pro začátečníky (8 příkladů)

  3. Linuxový příkaz dir pro začátečníky (10 příkladů)