GNU/Linux >> Znalost Linux >  >> Linux

Správa linuxových balíčků s dnf

Instalace aplikace do počítačového systému je velmi jednoduchá. Zkopírujete soubory z archivu (jako soubor .zip) do cílového počítače na místo, kde operační systém očekává, že tam budou aplikace. Protože mnozí z nás jsou zvyklí na vychytané instalační "průvodce", kteří nám pomohou získat software do našich počítačů, zdá se, že tento proces by měl být technicky složitější, než je.

Další zdroje pro Linux

  • Cheat pro příkazy Linuxu
  • Cheat sheet pro pokročilé příkazy systému Linux
  • Bezplatný online kurz:Technický přehled RHEL
  • Síťový cheat pro Linux
  • Cheat sheet SELinux
  • Cheat pro běžné příkazy pro Linux
  • Co jsou kontejnery systému Linux?
  • Naše nejnovější články o Linuxu

Co je složitá je však otázka toho, co tvoří aplikaci. To, co si uživatelé představují jako jednu aplikaci, ve skutečnosti obsahuje kód vypůjčený ze softwarových knihoven (tj. .so soubory v systému Linux, .dll soubory v systému Windows a .dylib na macOS) rozptýlené v operačním systému.

Aby se uživatelé nemuseli starat o skutečnou matici vzájemně závislého kódu, Linux používá systém správy balíčků sledovat, jaká aplikace potřebuje jakou knihovnu a která knihovna nebo aplikace má aktualizace zabezpečení nebo funkcí a jaké další datové soubory byly nainstalovány s každým softwarovým titulem. Správce balíčků je v podstatě instalační průvodce. Snadno se používají, poskytují jak grafická rozhraní, tak terminálová rozhraní a usnadňují vám život. Čím lépe znáte správce balíčků své distribuce, tím snazší bude váš život.

Instalace aplikací v systému Linux

Pokud jste příležitostný uživatel počítače, který si chce nainstalovat aplikaci na Linux, pak možná hledáte GNOME Software, prohlížeč aplikací pro stolní počítače.

Funguje tak, jak byste očekávali:Proklikáváte se jeho rozhraním, dokud nenajdete aplikaci, která se zdá být užitečná, a poté kliknete na tlačítko Instalovat tlačítko.

Případně můžete otevřít .rpm nebo .flatpakref balíčky stažené z webu v softwaru GNOME za účelem jejich instalace.

Pokud tíhnete k ovládání počítače pomocí zadávaných příkazů, čtěte dále!

Vyhledání softwaru pomocí dnf

Než budete moci nainstalovat aplikaci, možná budete muset potvrdit, že existuje na serverech vaší distribuce. Obvykle hledání běžného názvu aplikace pomocí dnf stačí. Řekněme například, že jste nedávno četli článek o Cockpitu a rozhodli jste se, že to chcete vyzkoušet. Můžete hledat cockpit abyste ověřili, že to vaše distribuce obsahuje:

$ dnf search cockpit
 Last metadata expiration check: 0:01:46 ago on Tue 18 May 2021 19:18:15 NZST.
 ==== Name Exactly Matched: cockpit ====
 cockpit.x86_64 : Web Console for Linux servers

==== Name & Summary Matched: cockpit ==
 cockpit-bridge.x86_64 : Cockpit bridge server-side component
 cockpit-composer.noarch : Composer GUI for use with Cockpit
 [...]

Je tam přesná shoda. Balíček uvedený jako odpovídající se nazývá cockpit.x86_64 , ale .x86_64 část názvu pouze označuje architekturu CPU, se kterou je kompatibilní. Ve výchozím nastavení váš systém instaluje balíčky s odpovídající architekturou CPU, takže toto rozšíření můžete ignorovat. Proto jste potvrdili, že balíček, který hledáte, se skutečně jmenuje jednoduše cockpit .

Nyní jej můžete s jistotou nainstalovat pomocí dnf install . Tento krok vyžaduje oprávnění správce:

$ sudo dnf install cockpit

Více často než ne, to je typický dnf pracovní postup:vyhledat a nainstalovat.

Někdy však výsledky dnf search vám nejsou jasné, nebo chcete o balíčku více informací než jen jeho běžný název. Existuje několik relevantních dnf dílčí příkazy v závislosti na tom, jaké informace hledáte.

Metadata balíčku

Pokud máte pocit, že vás hledání zavře k balíčku, který chcete, ale zatím si nejste jisti, často je užitečné podívat se na metadata balíčku, jako je adresa URL a popis projektu. K získání těchto informací použijte příjemně intuitivní dnf info příkaz:

$ dnf info terminator
Available Packages
Name         : terminator
Version      : 1.92
Release      : 2.el8
Architecture : noarch
Size         : 526 k
Source       : terminator-1.92-2.el8.src.rpm
Repository   : epel
Summary      : Store and run multiple GNOME terminals in one window
URL          : https://github.com/gnome-terminator
License      : GPLv2
Description  : Multiple GNOME terminals in one window.  This is a project to produce
             : an efficient way of filling a large area of screen space with
             : terminals. This is done by splitting the window into a resizeable
             : grid of terminals. As such, you can  produce a very flexible
             : arrangements of terminals for different tasks.

Tento výpis informací vám sdělí verzi dostupného balíčku, který repozitář registrovaný ve vašem systému ji poskytuje, web projektu a dlouhý popis toho, co dělá.

Jaký balíček poskytuje soubor?

Názvy balíčků nemusí vždy odpovídat tomu, co hledáte. Předpokládejme například, že čtete dokumentaci, která vám říká, že musíte nainstalovat něco s názvem qmake-qt5 :

$ dnf search qmake-qt5
No matches found.

dnf databáze je rozsáhlá, takže se nemusíte omezovat na vyhledávání přesných shod. Můžete použít dnf provides příkaz, abyste zjistili, zda něco poskytuje to, co hledáte, jako součást nějakého většího balíčku:

$ dnf provides qmake-qt5
qt5-qtbase-devel-5.12.5-8.el8.i686 : Development files for qt5-qtbase
Repo        : appstream
Matched from:
Filename    : /usr/bin/qmake-qt5

qt5-qtbase-devel-5.15.2-3.el8.x86_64 : Development files for qt5-qtbase
Repo        : appstream
Matched from:
Filename    : /usr/bin/qmake-qt5

To potvrzuje, že aplikace qmake-qt5 je součástí balíčku s názvem qt5-qtbase-devel . Také vám řekne, že se aplikace nainstaluje do /usr/bin , takže po instalaci přesně víte, kde jej najdete.

Jaké soubory jsou součástí balíčku?

Jsou chvíle, kdy se blížím k dnf úplně z jiného úhlu. Někdy jsem již potvrdil, že je v mém systému nainstalována aplikace; Jen nemůžu přijít na to, jak jsem k tomu přišel. Jindy vím, že mám nainstalovaný konkrétní balíček, ale není mi jasné, co přesně tento balíček vložil do mého systému.

Pokud budete někdy potřebovat "zpětně analyzovat" užitečné zatížení balíčku, můžete použít dnf repoquery společně s --list volba. Tím se podívá na metadata úložiště o balíčku a vrátí seznam všech souborů poskytovaných tímto balíčkem:

$ dnf repoquery --list qt5-qtbase-devel
/usr/bin/fixqt4headers.pl
/usr/bin/moc-qt5
/usr/bin/qdbuscpp2xml-qt5
/usr/bin/qdbusxml2cpp-qt5
/usr/bin/qlalr
/usr/bin/qmake-qt5
/usr/bin/qvkgen
/usr/bin/rcc-qt5
[...]

Tyto seznamy mohou být dlouhé, takže pomáhá propojit příkaz přes less nebo váš oblíbený pager.

Odebrání aplikace

Pokud se rozhodnete, že již nepotřebujete na svém systému nainstalovanou aplikaci, můžete použít dnf remove jej odinstalovat, všechny soubory, které byly nainstalovány jako součást jeho balíčku, a všechny závislosti, které již nejsou nutné:

$ dnf remove bigapp

Někdy se závislosti nainstalují s jednou aplikací a později je shledají užitečné jinou aplikací, kterou nainstalujete. V případě, že dva balíčky vyžadují stejnou závislost, dnf remove není odstranit závislost. Není neslýchané, když se po instalaci a odinstalaci spousty aplikací tu a tam objeví nějaký zbloudilý balíček. Přibližně jednou ročně provádím dnf autoremove pro vymazání všech nepoužitých balíčků:

$ dnf autoremove

Není to nutné, ale je to úklid domácnosti, díky kterému mám z počítače lepší pocit.

Seznámení s dnf

Čím více víte o tom, jak váš správce balíčků funguje, tím snazší pro vás bude instalace a dotazování aplikací v případě potřeby. I když nejste běžný dnf uživatel, může být užitečné to vědět, když se ocitnete ve spojení s distribucí založenou na RPM.

Po absolvování yum , jeden z mých oblíbených správců balíčků je dnf příkaz. I když nemám rád všechny jeho dílčí příkazy, zjišťuji, že je to jeden z nejrobustnějších systémů pro správu balíčků. Stáhněte si naše dnf cheat sheet abyste si na příkaz zvykli a nebojte se s ním zkoušet nějaké nové triky. Jakmile se s tím seznámíte, může pro vás být obtížné používat něco jiného.


Linux
  1. Správa balíků Linux pomocí apt

  2. CentOS 8 Package Management s DNF na příkazovém řádku

  3. Pokročilá správa balíčků v Kali Linuxu

  1. Správci balíčků Linux:dnf vs apt

  2. Použití AppImage pro správu balíčků Linuxu

  3. 15 Příklady příkazů aptitude pro správu balíčků v Linuxu

  1. Nainstalujte Linux pomocí LVM

  2. Nahradit du prachem v Linuxu

  3. Příkaz dpkg v Linuxu s příklady