Portál AbcLinuxu, 31. května 2024 13:59

Správa software v RHEL 8

26.4.2020 16:00 | Přečteno: 1638× | poslední úprava: 26.4.2020 15:19

Je to už 8 let co jsem nenapsal žádný příspěvek na svůj blog, takže dnes prolomím tu bariéru ticha jedním článkem, který je spíše pro mě, abych měl po ruce takový cheat sheet pro správu balíčků. Rozhodl jsem se popsat správu software v Red Hat Enterprise Linuxu 8. Nepůjde o vyčerpávající výčet příkazů, ale spíše o ty nejpoužívanější parametry a přepínače pro správce balíků YUM a RPM. Ještě než začnu dodám, že níže uvedené platí kromě RHEL 8 také pro CentOS 8, se kterým jsem pracoval při psaní tohoto příspěvku.

Repozitáře

Konfigurace repozitářů

Konfigurace repozitářů je v souboru .repo v /etc/yum.repos.d. V jednom .repo souboru může být konfigurace pro jeden nebo i několik repozitářů. Nejdůležitější direktivy v .repo konfiguračním souboru jsou:

Zabezpečení repozitářů

Instalace balíčků je vykonávána s právy uživatele root, proto je třeba zabránit tomu, aby nebodošlo ke zneužití těchto práv. Pro zabezpečení repozitáře jsou použity klíče GPG. RPM balíčky v repozitáři jsou podepsané GPG klíčem. Ten je dostupný taktéž z repozitáře a je lokálně ulozený v /etc/pki/rpm-gpg. Pokud by došlo k tomu, že by se útočníkovy podařilo hacknout server s repozitářem a umístil tam "fake" balíčky, tak by při instalaci RPM balíčku YUM upozornil, že GPG podpisy balíčků se neshodují.

YUM - správa balíčků

Pro správu softwaru (balíčků) v RHEL 8 používáme utilitu YUM. Ta pracuje s takzvanými repozitáři, což jsou online databáze se softwarem (dále balíčky), který máme k dispozici pro instalaci do operačního systému. Tato utilita nám umožňuje provádět různé operace s balíčky. RHEL 8 má v základu dva hlavní repozitáře: BaseOS a AppStream, které oddělují "core operating system" balíčky od "user-space" balíčků.

Balíčky jsou typu RPM. Utilita YUM kromě správy balíčků řeší také závislosti mezi nimy. To znamená, že pokud se rozhodneme instalovat nějaký balíček z repozitáře, tak YUM se postará (nainstaluje) o všechny závislosti.

Níže uvádím výpis nejpoužívanějších parametrů pro YUM.

# vyhledávání balíčku v repozitáři
yum search jméno_balíčku
# instalace balíčku
yum install jméno_balíčku
# update balíčku
yum update jméno_balíčku
# odstranění balíčku
yum remove jméno_balíčku
# získání infrmací o balíčku
yum info jméno_balíčku
# výpis seznamu instalovaných balíčků
yum list installed
# info o instalovaném balíčku + případná dostupnost novější verze
yum list jméno_balíčku
# vyhledání balíčku jež obsahuje soubor
yum provides */jméno_souboru
# odstranění metadat
yum clean all
# výpis seznamu repozitářů
yum repolist --all
# historie provedených akcí
yum history
# navrácení provedené akce
yum history undo ID
# zobrazí seznam závislosti pro balíček
yum deplist jméno_balíčku


RPM - správa balíčků

Správa balíčků pomocí RPM se používala zejména v dobách kdy neexistovaly repozitáře a balíčky se musely manuálně stahovat. RPM neřeší závislosti, takže při instalaci nalíčku můžeme snadno narazit na hlášku "missing dependency", která nám říká, že chybí závislosti a balík nebude instalován. Instalovat pomocí RPM se také nedoporučuje z následujícího důvodu. V systému jsou dvě databáze s balíčky. Jedna je pro YUM a druhá pro RPM. Pokud instalujeme balíček pomocí YUM, tak ten updatuje svou databázi a následně ji synchronizuje s RPM databází. Pokud instalujeme přes RPM, tak se updatuje pouze RPM databáze.

Struktura názvu RPM balíčku

Příklad názvu balíčku: autofs-5.0.7-40.el7.x86_64.rpm Správce RPM je velice užitečný při získávání informací o balíčcích. Níže je uveden výčet nejpoužívanějších parametrů.

# seznam všech nainstalovaných balíčků na serveru
rpm -qa
# seznam všech souborů obsažených v balíčku
rpm -ql jméno_balíčku
# zobrazí se jméno balíčku, který obsahuje soubor jehož jméno předáváme jako parametr
rpm -qf jméno_souboru
# zobrazí závislosti pro příslušný balíček
rpm -qR jméno_balíčku
# informace o balíčku
rpm -qi jméno_balíčku


Závěrem bych chtěl napsat, že budu rád za konstruktivní kritiku i za poznámky co by bylo do článku vhodné doplnit.

Zdroje

Red Hat RHCSA 8 cert guide
https://access.redhat.com/sites/default/files/attachments/rh_yum_cheatsheet_1214_jcs_print-1.pdf        

Hodnocení: 83 %

        špatnédobré        

Anketa

Je pro Vás tento článek přínosný?
 (75 %)
 (25 %)
Celkem 8 hlasů

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

Komentáře

Nástroje: Začni sledovat (1) ?Zašle upozornění na váš email při vložení nového komentáře. , Tisk

Diskuse byla administrátory uzamčena

26.4.2020 17:20 vencour | skóre: 56 | blog: Tady je Vencourovo | Praha+západní Čechy
Rozbalit Rozbalit vše Re: Správa software v RHEL 8
Když jsem koučoval Redheta, díval jsem se hlavně do RHN, tehdy mi přišel dost kvalitní i dostupný. To už neplatí?
Možná, že to mohlo vypadat asi takhle.
Ty nejhlubší objevy nečekají nutně za příští hvězdou. Jsou uvnitř nás utkány do vláken, která nás spojují, nás všechny.
27.4.2020 06:02 ZAH | skóre: 43 | blog: ZAH
Rozbalit Rozbalit vše Re: Správa software v RHEL 8
Nepřešel již RHEL 8 z yum na dnf?
27.4.2020 07:07 bigBRAMBOR | skóre: 37
Rozbalit Rozbalit vše Re: Správa software v RHEL 8
ano, ale oblékli ho jako yum, takže příkazy jsou uplne stejné, dokonce rpm -qi yum a rpm -qi dnf vam vrati stejnou verzi baliku, jenom s jinym jmenem.

co je škoda, že blog je v podstate jenom vypis zakladnich příkazů yum, které se nemění už asi 35 let, a uživatel RHEL/CentOS je nepotřebuje dohledávat. Zajimavější je práce se streamy a tam má cenu se dívat, protože streamy pro jednotlivé verzi software mohou přibývat a ubývat.
30.4.2020 06:45 Peter Golis | skóre: 64 | blog: Bežné záležitosti | Bratislava
Rozbalit Rozbalit vše Re: Správa software v RHEL 8
Navonok vyzerá dnf rovnako yum (aby sa predsa nenaľakali staroverní), ale napríklad internú cache má inú.

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.