Portál AbcLinuxu, 2. května 2025 05:43
Správa software v RHEL 8
26.4.2020 16:00
| Přečteno: 1690×
| 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:
- [label] .repo soubor může obsahovat různé repozitáře a [label] identifikuje konkrétní repozitář v .repo souboru.
- name= specifikuje jméno repozitáře
- mirrorlist= Odkazuje na URL s informací o mirror serverech
- gpgkey= specifikuje umístění GPG klíče, který je použit pro kontrolu integrity RPM balíčku
- gpgcheck= nabývá hodnot 0 nebo 1. Pokud je 1 tak je provedena kontrola integrity RPM balíčku
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
- jméno:autofs
- verze:5.0.7
- subverze:-40
- verze RHEL pro kterou byl balíček vytvořen:el7
- architektura (platforma):x86_64
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
Anketa
Tiskni
Sdílej:
Komentáře
Diskuse byla administrátory uzamčena
27.4.2020 06:02
ZAH | skóre: 43
| blog:
ZAH
Re: Správa software v RHEL 8
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.