Vyhledávání na webu

Správa Linuxových balíčků pomocí Yum, RPM, Apt, Dpkg, Aptitude a Zypper – část 9


Loni v srpnu Linux Foundation oznámila certifikaci LFCS (Linux Foundation Certified Sysadmin), skvělou příležitost pro systémové administrátory kdekoli prokázat prostřednictvím zkoušky založené na výkonu, že jsou schopni uspět v celkové provozní podpoře systémů Linux. Linux Foundation Certified Sysadmin má odborné znalosti k zajištění efektivní systémové podpory, řešení problémů na první úrovni a monitorování, včetně konečné eskalace problémů, je-li to potřeba, týmům technické podpory.

Podívejte se na následující video, které vysvětluje certifikační program Linux Foundation.

Tento článek je částí 9 dlouhé série 10 výukových programů, dnes vás v tomto článku provedeme správou balíčků Linuxu, které jsou vyžadovány pro certifikační zkoušku LFCS.

Správa balíků

Stručně řečeno, správa balíčků je metoda instalace a údržby (což zahrnuje aktualizaci a pravděpodobně také odstranění) softwaru v systému.

V počátcích Linuxu byly programy distribuovány pouze jako zdrojový kód spolu s požadovanými manuálovými stránkami, nezbytnými konfiguračními soubory a dalšími. V současné době většina distributorů Linuxu standardně používá předpřipravené programy nebo sady programů nazývané balíčky, které jsou prezentovány uživatelům připraveným k instalaci na danou distribuci. Jedním ze zázraků Linuxu je však stále možnost získat zdrojový kód programu, který je třeba studovat, vylepšovat a kompilovat.

Jak fungují systémy správy balíků

Pokud určitý balíček vyžaduje určitý prostředek, jako je sdílená knihovna nebo jiný balíček, říká se, že má závislost. Všechny moderní systémy pro správu balíčků poskytují určitou metodu řešení závislostí, aby bylo zajištěno, že když je balíček nainstalován, budou nainstalovány také všechny jeho závislosti.

Balicí systémy

Téměř veškerý software, který je nainstalován na moderním systému Linux, lze nalézt na internetu. Může být poskytnut buď prodejcem distribuce prostřednictvím centrálních úložišť (která může obsahovat několik tisíc balíčků, z nichž každý byl speciálně vytvořen, testován a udržován pro distribuci), nebo být k dispozici ve zdrojovém kódu, který lze stáhnout a nainstalovat ručně. .

Protože různé rodiny distribucí používají různé systémy balení (Debian: *.deb/CentOS: *.rpm/openSUSE: *.rpm vytvořené speciálně pro openSUSE), balíček určený pro jednu distribuci nebude kompatibilní s jinou distribucí. Většina distribucí však pravděpodobně spadá do jedné ze tří skupin distribucí, na které se vztahuje certifikace LFCS.

Balíčkové nástroje vysoké a nízké úrovně

Abyste mohli efektivně provádět správu balíčků, musíte si být vědomi toho, že budete mít dva typy dostupných nástrojů: nízkoúrovňové nástroje (které v backendu zpracovávají skutečnou instalaci, upgrade a odstranění souborů balíčků) a vysokoúrovňové nástroje (které mají na starosti zajištění toho, aby byly provedeny úkoly řešení závislostí a vyhledávání metadat – „data o datech “-).

DISTRIBUTION LOW-LEVEL TOOL HIGH-LEVEL TOOL
 Debian and derivatives  dpkg  apt-get / aptitude
 CentOS  rpm  yum
 openSUSE  rpm  zypper

Podívejme se na popis nástrojů nízké a vysoké úrovně.

dpkg je nízkoúrovňový správce balíčků pro systémy založené na Debianu. Může instalovat, odstraňovat, poskytovat informace o balíčcích *.deb a sestavovat je, ale nemůže automaticky stahovat a instalovat jejich odpovídající závislosti.

Přečtěte si více: Příklady příkazů 15 dpkg

apt-get je správce balíčků na vysoké úrovni pro Debian a jeho deriváty a poskytuje jednoduchý způsob, jak získat a nainstalovat balíčky, včetně řešení závislostí, z více zdrojů pomocí příkazového řádku. Na rozdíl od dpkg apt-get nepracuje přímo se soubory *.deb, ale se správným názvem balíčku.

Přečtěte si více: 25 příkladů příkazů apt-get

aptitude je další správce balíčků na vysoké úrovni pro systémy založené na Debianu a lze jej použít k provádění úloh správy (instalace, aktualizace a odstraňování balíčků, také automatické řešení závislostí) rychlým a snadným způsobem. . Poskytuje stejné funkce jako apt-get a další, například nabízí přístup k několika verzím balíčku.

rpm je systém správy balíčků používaný distribucemi kompatibilními s Linux Standard Base (LSB) pro nízkoúrovňovou manipulaci s balíčky. Stejně jako dpkg se může dotazovat, instalovat, ověřovat, upgradovat a odstraňovat balíčky a je častěji používán distribucemi založenými na Fedoře, jako jsou RHEL a CentOS.

Přečtěte si více: Příklady příkazů 20 ot./min

yum přidává do systémů založených na RPM funkci automatických aktualizací a správy balíčků se správou závislostí. Jako nástroj na vysoké úrovni, jako je apt-get nebo aptitude, yum pracuje s repozitáři.

Přečtěte si více: Příklady příkazů 20 yum

Běžné použití nízkoúrovňových nástrojů

Nejčastější úkoly, které budete dělat s nástroji nízké úrovně, jsou následující:

1. Instalace balíčku z kompilovaného (*.deb nebo *.rpm) souboru

Nevýhodou tohoto způsobu instalace je, že není k dispozici žádné rozlišení závislostí. Nejpravděpodobněji se rozhodnete nainstalovat balíček z kompilovaného souboru, pokud takový balíček není dostupný v úložištích distribuce, a proto jej nelze stáhnout a nainstalovat pomocí nástroje na vysoké úrovni. Protože nástroje nízké úrovně neprovádějí rozlišení závislostí, ukončí se s chybou, pokud se pokusíme nainstalovat balíček s nenaplněnými závislostmi.

dpkg -i file.deb 		[Debian and derivative]
rpm -i file.rpm 		[CentOS / openSUSE]

Poznámka: Nepokoušejte se instalovat na CentOS soubor *.rpm, který byl vytvořen pro openSUSE, nebo naopak!

2. Aktualizace balíčku z kompilovaného souboru

Nainstalovaný balíček opět upgradujete ručně pouze tehdy, když není dostupný v centrálních úložištích.

dpkg -i file.deb 		[Debian and derivative]
rpm -U file.rpm 		[CentOS / openSUSE]
3. Výpis nainstalovaných balíčků

Když se poprvé dostanete k již fungujícímu systému, je pravděpodobné, že budete chtít vědět, jaké balíčky jsou nainstalovány.

dpkg -l 		[Debian and derivative]
rpm -qa 		[CentOS / openSUSE]

Pokud chcete vědět, zda je nainstalován konkrétní balíček, můžete výstup výše uvedených příkazů převést do grep, jak je vysvětleno v části manipulace se soubory v Linuxu – 1. část této série. Předpokládejme, že potřebujeme ověřit, zda je balíček mysql-common nainstalován na systému Ubuntu.

dpkg -l | grep mysql-common

Další způsob, jak zjistit, zda je balíček nainstalován.

dpkg --status package_name 		[Debian and derivative]
rpm -q package_name 			[CentOS / openSUSE]

Pojďme například zjistit, zda je v našem systému nainstalován balíček sysdig.

rpm -qa | grep sysdig

4. Zjištění, který balíček nainstaloval soubor
dpkg --search file_name
rpm -qf file_name

Například, který balíček nainstaloval pw_dict.hwm?

rpm -qf /usr/share/cracklib/pw_dict.hwm

Běžné používání nástrojů na vysoké úrovni

Nejčastější úkoly, které budete dělat s nástroji vyšší úrovně, jsou následující.

1. Hledání balíku

aptitude update aktualizuje seznam dostupných balíčků a aptitude search provede skutečné hledání package_name.

aptitude update && aptitude search package_name 

V možnosti prohledat vše bude yum hledat název_balíku nejen v názvech balíčků, ale také v popisech balíčků.

yum search package_name
yum search all package_name
yum whatprovides “*/package_name”

Předpokládejme, že potřebujeme soubor, jehož název je sysdig. Abychom věděli, že balíček budeme muset nainstalovat, spusťte.

yum whatprovides “*/sysdig”

whatprovides říká yum, aby prohledal balíček, poskytne soubor, který odpovídá výše uvedenému regulárnímu výrazu.

zypper refresh && zypper search package_name		[On openSUSE]
2. Instalace balíčku z úložiště

Při instalaci balíčku můžete být vyzváni k potvrzení instalace poté, co správce balíčků vyřeší všechny závislosti. Všimněte si, že spouštění aktualizace nebo aktualizace (podle používaného správce balíčků) není nezbytně nutné, ale udržování nainstalovaných balíčků v aktuálním stavu je z důvodů bezpečnosti a závislosti dobrou praxí správce systému.

aptitude update && aptitude install package_name 		[Debian and derivatives]
yum update && yum install package_name 			[CentOS]
zypper refresh && zypper install package_name 		[openSUSE]
3. Odebrání balíku

Možnost odebrat balíček odinstaluje, ale konfigurační soubory zůstanou nedotčené, zatímco vyčištění vymaže z vašeho systému všechny stopy programu.
# aptitude remove/purge package_name
# yum vymazat package_name

---Notice the minus sign in front of the package that will be uninstalled, openSUSE ---

zypper remove -package_name 

Většina (pokud ne všichni) správci balíčků vás ve výchozím nastavení vyzve, pokud jste si jisti, že v odinstalaci budete pokračovat, než ji skutečně provedete. Přečtěte si proto pozorně zprávy na obrazovce, abyste se nedostali do zbytečných problémů!

4. Zobrazení informací o balíčku

Následující příkaz zobrazí informace o balíčku narozeniny.

aptitude show birthday 
yum info birthday
zypper info birthday

souhrn

Správa balíčků je něco, co jako správce systému prostě nemůžete zamést pod koberec. Měli byste být připraveni okamžitě používat nástroje popsané v tomto článku. Doufám, že vám to bude užitečné při přípravě na zkoušku LFCS a při každodenních úkolech. Neváhejte zanechat své komentáře nebo dotazy níže. Budeme více než rádi, když se k vám co nejdříve vrátíme.