Zpět na seznam článků     Číst komentáře (11)     Verze pro tisk

Balíčky v Linuxu

Autor: Tw7Ug   
8.6.2006

Ucelený přehled práce s programovými balíčky v jednotlivých distribucích Linuxu.


Pokud máte k Linuxu blízko nebo jste pro něj alespoň vyčlenili partition na vašem disku vedle operačního systému Windows a nebo vás prostě jen zajímá, jakým způsobem je v jednotlivých distribucích instalace balíčků řešena a popřípadě i toto kritérium (jedno z mnoha) zohlednit při budoucím výběru pro vás vhodné distribuce Linuxu, tak čtěte dál …

V tomto článku se pokusím popsat způsoby instalace, odinstalace a upgrade programových balíků v jednotlivých distribucích Linuxu. Nepopisuji tu kompletní přehled všech možných parametrů jednotlivých nástrojů různých distribucí, nýbrž ty nejzákladnější a nejpoužívanější. Pokud se chcete dozvědět detailnější informace, použijte manuálové stránky nebo parametr --help ;-)

Popisované distribuce:

Debian GNU/Linux   http://www.debian.org
Linux Mandrakehttp://www.mandrake.com
Red Hat Linuxhttp://www.redhat.com
SuSE Linuxhttp://www.suse.com
Slackware Linuxhttp://www.slackware.com
FreeBSDhttp://www.freebsd.org
Gentoo Linuxhttp://www.gentoo.org


Co je to balíček?

Většina distribucí používá určitý systém programových balíků. Pomocí balíků se distribuují většinou aplikace a někdy také konfigurační soubory. Balík se snaží uživateli usnadnit práci a instalaci co nejvíce zautomatizovat. Při instalaci se nejdříve zazálohují soubory, u kterých má dojít ke změně, takže se v případě nefunkčnosti určitých komponent můžete teoreticky vrátit zpět k původním souborům před instalací. Nejpoužívanějšími formáty programových balíků jsou .rpm (Red Hat Package Manager) a .deb (Debian GNU/Linux). V případě nutnosti je možné jednotlivými formáty balíčků konvertovat pomocí programu Alien.

Soubory typu .tar, .gz, .tar.gz, .bz2 nejsou balíčky, nýbrž komprimované archivy.

RPM balíčky

http://www.rpm.org

Tento formát původně vznikl pro Red Hat Linux, ale dnes se s ním setkáte v mnoha jiných distribucích: Red Hat Linux (Fedora Core), SuSE Linux, Mandrake(Mandriva) Linux a dalších…

Balíčky můžete vyhledávat na adrese: http://www.rpmfind.net/

Název se většinou (není to bohužel vždy pravidlem) skládá z vlastního názvu, čísla verze, release, a architektury pro kterou je balíček určen (i386, alpha, sparc, ppc, m68k …).
Např.: openssh-2.9p2-12-i386.rpm

V praxi:

Spravují se příkazem rpm. (Při instalaci a odinstalace balíčků musíte být přihlášeni jako root)


# rpm --help 		zobrazení nápovědy včetně seznamu 
			použitelných parametrů
# rpm –-query –-all zobrazí kompletní seznam nainstalovaných balíčků
# rpm –i instalace (install) (př. rpm –i balicek-1.0.0.i386.rpm)


Pokud instalujete balíček poprvé, využijete parametru –i (install). Instalace by měla trvat nanejvýš několik sekund, v závislosti na velikosti. Při instalaci však může dojít k určitým problémům. Například balíček bude ke své instalaci vyžadovat doinstalování některých souborů či balíčků, které ve vašem systému nenašel. Zkontrolujte si nastavení „instalačních zdrojů“, případně doinstalujte potřebné věci ručně…


# rpm –U 		inovace (upgrade)
			(př. rpm –U balicek*.rpm)

Tento parametr využijete tehdy, máte-li již balíček se stejným jménem nainstalován, ale chcete ho nahradit novější verzí. Můžete se dostat do situace, kdy vám nebude povolen upgrade, protože jsou na starší verzi závislé jiné programy a mohlo by to ovlivnit jejich funkčnost. Aktualizaci je možné vynutit volbou --force, ale je lepší hledat jiné cesty.


# rpm –e 		odinstalace (erase)	
			(př. rpm –e balicek.rpm)

K odstranění nainstalovaných balíčků slouží parametr –e . K odstranění není potřeba zadávat celý název jako při instalaci. Instalované balíčky jsou odkazovány pomocí jmen (vše co je před verzí RPM balíčku). V případě nutnosti je opět možné odstranění vynutit.

Vyřešení závislostí balíčků automaticky:

Jak už bylo výše zmíněno, může se vám při instalaci balíčku stát, že balíček ke své instalaci potřebuje jiný balíček a ten zase může požadovat další atd. Naštěstí existují nástroje, které si se závislostmi dokáží s velkou úspěšností poradit. V Debianu je velmi dobře propracovaný nástroj apt, v SuSE je to YaST, Fedora Core používá yum a Mandriva nástroj urpmi. Je však nutné mít nastavené správně „instalační zdroje“, odkud se mají balíčky instalovat. Není v mých silách popsat jednotlivá umístění konfiguračních souborů zdrojů, neboť se to liší jak v distribucích, tak také občas i ve verzích dané distribuce.

Mandriva - urpmi

urpmi nazev_balicku                nainstaluje balíček 
urpme nazev_balicku                odinstaluje balíček 
urpmi --update --auto –auto-select nainstaluje aktualizační balíčky

Fedora Core - yum

yum list                           vypíše seznam balíčků 
yum install nazev_balicku          instaluje balíček 
yum remove nazev_balicku           odebere balíček 
yum update                         nainstaluje aktualizace balíčků

SuSE – YaST (YaST2…)

yast -l                            seznam dostupných modulů 
yast -i nazev_balicku              instaluje balíček 
yast -h                            zobrazení nápovědy 
yast                               spustí Yast2 Control Center

Poznámka:

U většiny instalačních nástrojů zobrazíte další volby po zadání parametru --help nebo -h.
Pokud si s příkazy příliš nerozumíte, můžete využít grafického prostředí…

DEB balíčky


Jak již sám název napovídá, jedná se o formát programových balíčků pro distribuci Debian GNU/Linux. Název balíčku by se měl zpravidla skládat ze jména, verze, čísla revize a architektury, pro kterou je určen.
Např.: nvi_1.79-16a.1_i386.deb

Balíčky můžete vyhledávat na adrese:
http://www.debian.org/distrib/packages#search_packages

V praxi:

Pokud instaluje .deb balíček, který jste si již stáhli, použijete program dpkg (obdoba rpm, viz. výše). Pro automatizaci instalace balíčků se používá program apt-get. Jsou vyžadována práva uživatele root.

Použití programu dpkg:


# dpkg --help 		zobrazení nápovědy včetně
seznamu použitelných parametrů

# dpkg -l zobrazí kompletní seznam
nainstalovaných balíčků

# dpkg –i instalace (install)
(př. dpkg –i balicek_1.0-7.1_i386.deb)

# dpkg –e odinstalace (erase)
(př. dpkg –e balicek_1.0-7.1_i386.deb)

V případě problému tu také existuje možnost si instalaci nebo odinstalace vynutit. Bližší informace --force-help


# dpkg –i --force-all balicek_1.0-7.1_i386.deb 


Program apt-get (Advanced Packaging Tool) s vyřešením závislostí:

Tento program je jednou z nejhezčích vlastností Debian GNU/Linuxu. Vzhledem k tomu, že také používám distribuci Debian, dovolím si malinko podrobnější popis. Program apt-get automatizuje instalaci a aktualizaci nových balíčků a dokáže vyřešit i závislosti mezi nimi a scházející požadující balíky sám doinstalovat. Je však potřeba mít dobře nastavené instalační zdroje (/etc/apt/sources.list) třeba na nejbližší mirror distribuce Debian GNU/Linux( standardní nastavení souboru odkazuje na primární server).
Příklad nastavení pro Debian GNU/Linux Sarge (bez zdrojových balíčků):
deb ftp://ftp.cz.debian.org/debian/ stable main contrib non-free

Po změně zdrojů musíte následně provést: # apt-get update

V praxi:


# apt-get –h 			zobrazení nápovědy včetně seznamu 
použitelných parametrů

# apt-get install nazev_balicku instalace (př. apt-get install mc)

# apt-get remove nazev_balicku odinstalace (př. apt-get remove mc)

# apt-get upgrade stáhne a nainstaluje
aktualizované programové balíčky

Nástroj pro vyhledávání a zobrazování informací o balíčcích apt-cache.


# apt-cache search text 	vyhledá balíčky, v jejichž popisu 
se nachází hledaný text

# apt-cache show nazev_balicku zobrazí informace o balíčku

TGZ balíčky



Setkáte s s nimi například v distribuci Slackware Linux a FreeBSD. Jedná se vlastně o komprimované archivy, které však obsahují instalační skripty (dodatečné informace k instalaci, takže se vlastně dá mluvit o balíčcích).

Název balíčku (pro Slackware) by měl obsahovat jméno, verzi, architekturu a autora.
Např.: abc-1.0.0-i386-author.tgz

Poznámka k FreeBSD:

Nejedná se o Linux, vznikl z BSD, z verze UNIX®u vyvinutého na University of California v Berkeley.
balíčky (packages - binární balíčky zkompilované z portů)
porty (kompilace a instalace programů přímo ze zdrojových kódů).

Balíčky můžete vyhledávat na adrese:

http://www.linuxpackages.net (Slackware)
http://www.freebsd.cz/ports/index.html (FreeBSD)

V praxi:

FreeBSD:


# pkg_info 				přehled nainstalovaných
balíčků
# pkg_add -r nazev_balicku.tgz Instalace balíčku.

Parametr „-r“ zajistí, že se stáhne nejaktuálnější verze
programu z internetu.

# pkg_delete /var/db/pkg/balicek odinstalování balíčku

Slackware:


# installpkg -i nazev_balicku.tgz 	Instalace balíčku

# removepkg nazev_balicku Odinstalace balíčku

# less /var/log/packages Výpis nainstal. balíčků


ebuild

Gentoo je distribuce založená na výrazně odlišných principech. Zdrojové soubory se kompilují na míru cílovému počítači.
Základem Gentoo distribuce je Portage tree - adresářová struktura dělená do skupin obsahující tisíce balíku - ebuildů.
Ebuild je script, který se postará o stažení, konfiguraci, kompilaci a instalaci daného programu.
Aktualizace celé databáze ebuildů z internetu pomocí příkazu:
#emerge sync

Aktualizace všech nainstalovaných balíčků:
#emerge -u system

Nainstaluje nebo přeinstaluje prohížeč Firefox:
#emerge mozilla-firefox

Odinstaluje balíček:
#emerge unmerge mozilla-firefox-1.5.0-r4

Vypsání všech nainstalovaných balíčků:
#epm -qa 

Informace o balíčku mozilla-firefox:
#epm -qi mozilla-firefox 

Tímto bych tento článek uzavřel. Věřím že některým uživatelům může pomoci lépe se zorientovat ve formátech a operacích s jednotlivými programovými balíčky a nedopustil jsem se nějakých závažných syntaktických chyb (však vy mě určitě v komentářích upozorníte) ;-)



Tw7Ug (c) 2006



Líbil se Vám článek?
Budeme potěšeni, pokud vás zaujme také reklamní nabídka

Social Bookmarking

     





Hodnocení/Hlasovalo: 1.33/3

1  2  3  4  5    
(známkování jako ve škole)