RPM balíčkovací systém a distribuce openSUSE, 1. část
Úkolem prvního článků bude říci si, co je to balíček, co je to balíčkovací systém, co je RPM a základní informace jak RPM pracuje.
Obsah článku
Co je to balíček?
Balíček je archiv ve kterém se nachází software. Jak tento archiv (balíček) vypadá, záleží na konkrétní distribuci (na balíčkovacím systému). Balíčky můžeme rozdělit na zdrojové a binární. Ve zdrojovém balíčku se nacházejí zdrojové kódy softwaru (pro instalaci je musíme zkompilovat), zatímco v binárním balíčku naleznete software již zkompilovaný (pro danný operační systém a dannou architekturu).
Co je to balíčkovací systém?
Balíčkovací systém usnadňuje správu softwaru. Bez jeho pomoci musíte o software, který instalujeme vědět, zda potřebuje ke svému běhu jiný software, určitou verzi nějaké knihovny nebo zda instalacínezpůsobíte konflikt s jiným softwarem ve vašem systému. Pomocí balíčkovacího systému pohodlně instalujete, nahrazujeme nebo odstraňujete software.
Co je RPM?
RPM balíkový manažer (RPM) je mocná příkazová řádka, která je schopná řídit instalace, deinstalace, ověřování, dotazování a aktualizace počítačových programů. Každý soubor programů se skládá z archivu souborů s informací o balíku (verze, popis...). Obsahuje i knihovnu API (Application Program Interface), která je vhodná pro pokročilé vývojáře v jazycích C nebo Python.
RPM je free software, uvolnění pod licencí GNU GPL (GNU General Public License). Toto znamená, že zdrojový kód je volně dosažitelný pro kopírování a užívaní.
RPM je součástí jádra mnoha Linux distribucí, jako Red Hat, Fedora, SUSE, openSUSE, Mandriva. RPM formát je součástí Linux Standard Base (jeji cíl je zvětšit kompatibilitu mezi Linux distribucemi a umožnit softwarovým aplikacím běžet na vyhovujícím systému).
Nové programy se instalují pomocí -i (install) a update probíhá pomocí -U (upgrade) nebo -F (freshen). Podstatné je, že -U nainstaluje i balíček, který zatím v systému nemáte (takže jej lze používat bez obav místo -i), zatímco -F jej přeskočí. Všechny tři zmiňované volby (-i, -U, -F) lze doplnit o volby -v a -h, které způsobí, že rpm bude informovat o tom, co právě provádí. Celý povel pak může vypadat třeba takto: rpm -Uvh balicek-0-2.i386.rpm
Použití RPM pro instalaci balíčku
rpm -i provádí současně několik věci:
- Ověřuje závislosti
- Kontroluje konflikty
- Vykonává jakoukoli úlohu požadovanou před/po instalací
- Rozhoduje co dělat s konfiguračními soubory
- Rozbaluje soubory z instalačního balíku a přesouvá je na vhodné místo
- Sleduje stav a to co se děje
Ověřuje závislostiNěkteré balíky nemohou správně fungovat pokud není nainstalován související balík (program se kterým právě instalovaný balík pracuje). Je také potřeba pojistit, že instalované balíky nebudou způsobovat kolize pro další instalované balíky.
Kontroluje konflikty
RPM vykonává několik kontrol během této fáze. Kontroly se týkají třeba pokusu instalovat balík který je již nainstalovaný, pokus o instalaci staršího balíku než je aktuálně nainstalovaný balík, nebo možnost který soubor může být přepsán.
Vykonává jakoukoli úlohu požadovanou před/po instalací
Zde jsou příkazy které musí být vykonané před/po instalaci balíčku. RPM vykonává tyto příkazy přesně podle pokynů svého zakladatele (tvůrce balíčku). Tak se vyloučí běžným zdrojům problémů behěm instalace.
Rozhoduje co dělat s konfiguračními soubory
Jedním z rysů, je cesta ovladající konfigurační soubory. Podle těchto souboru se přizpůsobý chování instalovaného software.
Rozbaluje soubory z instalačního balíku a přesouvá je na vhodné místo
Každý balíkovací soubor obsahuje seznam souborů, které se budou instalovat, jaký je jejich cíl (adresář na disku), dále obsahuje spoustu dalších atributù jako je oprávnění, vlastnictví.
Sleduje stav a to co se děje
Po každé když RPM instaluje balíček, sleduje cesty o instalovaných souborech v jeho databázi. Databáze obsahuje spousty informací, které jsou nutné pro správnou funkčnost RPM. Například RPM používá databázi pro kontrolu možného konfliktu během instalace.
Obsah příštích článku
- Seznam příkazů, které můžeme použít při instalaci balíčku
- Odinstalování balíčku
- Získávání informací z databáze balíčků
- URPMI
- dpkg
- YAST - Yet Another Setup Toolkit
- Instalace openSUSE 10.2.
- Literatura