Portál AbcLinuxu, 1. června 2024 14:53


Balíčkovací systémy a instalace softwaru


Obecně

Velmi častým dotazem začínajícího uživatele Linuxu je „Jak mám ten program nainstalovat?”. Způsob instalace software v Linuxu můžeme rozdělit do dvou základních kategorií:

Instalace z balíčku

Pohodlnější způsob instalace je pomocí balíčků - jde o již (většinou) zkompilovanou aplikaci, zabalenou do jednoho souboru. Většina používaných balíčkovacích systémů řeší i závislosti aplikace: To znamená, že stáhnou z internetu (či si jinak vyžádají) ostatní programy a knihovny, které aplikace ke svému běhu potřebuje. Instalace je většinou velmi snadná. Toto je většinou nejpoužívanější způsob instalace nových programů.

V současnosti se nejčastěji používají tyto balíčkovací systémy:

apt

Balíčkovací systém distribuce Debian. Mimo jiné ho používá i velmi oblíbená distribuce Ubuntu. Balíčky mají koncovku .deb. Debian se pyšní obrovským množstvím balíčků, je tedy velmi pravděpodobné, že v repozitářích najdete vše potřebné. Balíčky obsahují buďto zkompilovaný program, takzvanou „binárku”, anebo zdrojový kód (máte na výběr). Při správě balíčku si vystačíte s příkazem apt-get, ale mnohem snadnější je použít jeho grafický frontend Synaptic. Pomocí dalších nástrojů, jako např. alien lehce převedete .rpm balíčky na .deb

apt-get update
Aktualizuje seznam balíčků
apt-get install balicek
Nainstaluje do systému zadaný balíček (balíčky)
apt-get remove balicek
Odebere ze systému zadaný balíček (balíčky)
apt-get purge balicek
Odebere ze systému zadaný balíček (balíčky) a "uklidí" po něm
apt-get upgrade
Aktualizuje všechny balíčky nainstalované v systému
apt-cache search vyraz
Vyhledá balíčky související s daným výrazem
apt-get dist-upgrade
Upgraduje distribuci(najde aktualizace balíčků)
apt-file
Tento nástroj umí vyhledat určitý soubor v balíčcích. Je instalovatelnou obdobou vyhledávání dostupného na packages.debian.org. Pro více informací viz manuál.

České APT-HOWTO

Hledání balíčků na webu Debianu

RPM

Velice známý, a hodně používaný systém balíčků. RPM znamená „RPM Package Manager“ (dříve „Red Hat Package Manager“ — Redhatovský manažer balíčků) a kromě samotného Red Hatu se používá především v distribucích jako je Mandriva, Fedora Core nebo Suse. Tudíž je pravděpodobnější, že se s ním jakožto začátečník setkáte. Samotný program rpm neinstaluje závislosti automaticky. Proto byla vyvinuta spousta nadstaveb:

Vyhledávače RPM balíků: rpmfind.net a rpm.pbone.net

tgz

Tgz se používá ve Slackware. Je to tar.gz archív s určenou vnitřní strukturou. Slackwarovský systém balíčků však na rozdíl od ostatních neumí vyřešit závislosti, a i samotná distribuce se začátečníkovi může jevit jako „hardcore.” Programy pro správu balíčků se nazývají pkgtools a jsou to shellové skripty. Závislosti dokáže částečně řešit swaret, bohužel je ale stále málo balíčků které toto umožňují.

Hledání balíčků pro Slackware

Portage

Portage je balíčkovací systém distribuce Gentoo Linux, který je založen na systému Ports z BSD. Tento systém balíčků většinu software kompiluje ze zdrojových kódů, podle nastavení v souboru /etc/make.conf. Ovládá se pomocí příkazu emerge.

emerge konqueror
Naistaluje Konqueror
emerge -C konqueror
Odinstaluje Konqueror
emerge --sync
Aktualizuje strom Portage
emerge -uD world
Nainstaluje všechny dostupné aktualizace
emerge -uND world
Nainstaluje všechny dostupné aktualizace a přeinstaluje balíčky, u kterých se změnily USE flagy
emerge -s core
Vyhledá balíčky s výrazem "core" v názvu

pacman

Tento systém byl původně vyvinut pro distribuci Arch Linux, nyní jej používá ještě Rubix a Frugalware. Pacman umí všechny klasické věci, jako hlídání závislostí, instalace, odinstalování, apod. Součástí pacmana je i utilita abs, která skrze CVS udržuje strom PKGBUILD souborů, které slouží pro vygenerování balíčku ze zdrojových kódů. Arch Linux má rozsáhlý repozitář komunitních balíčků (AUR) a každý uživatel může další balíčky přidávat právě zařazením svého PKGBUILDu do tohoto repozitáře. Pro integraci AURu lze použít nadstavbu nad pacman: yaourt. Tento systém rovněž umožnuje kompilaci celého systému ze zdrojových kódů, podobně jako Gentoo. Gentoo/Portage je však primárně zdrojová distribuce, zatímco Arch/Pacman je primárně binární.

pacman -S firefox
Naistaluje firefox
pacman -R firefox
Odinstaluje balíček firefox
pacman -Rcsn firefox
Odinstaluje balíček firefox se všemi závislostmi a konfiguračními soubory. (Doporučené, popřípadě ubrat -s)
pacman -Sy
Stáhne novou databázi balíčku.
pacman -Syu
Stáhne novou databázi balíčků a upgraduje celý systém
pacman -Ss "firefox "
Vyhledá balíčky související s daným výrazem
pacman -Ql firefox
Vypíše obsah balíčku firefox
pacman -Qi firefox
Vypíše informace o balíčku firefox

Poslední záchrana: Instalace ze zdrojových kódů

Nakonec si povíme něco o instalaci ze zdrojových kódů. Většina programů používaných v Linuxu je k dostání i ve formě zdrojových kódů, které si může uživatel sám upravovat a překládat do výsledné spustitelné podoby. Editovat je lze libovolným textovým editorem.

Pro překlad je třeba určitých zkušeností a znalostí operačního systému. Obecně se moc začínajícím uživatelům překlad ze zdrojových kódů nedoporučuje, protože velmi rychle zapomínají co a kam nainstalovali, nemají představu které soubory patří k danému programu a také nemusí program přeložit vždy úplně správně. Také vznikají problémy s odinstalací programů takto nainstalovaných a velmi často dochází ke kolizím s balíčkovacím systémem.

Kompilace také zabere množství času. Při překladu zdrojových kódů do binární podoby dochází k vysokému vytížení systému. U jednodušších aplikací kompilace zabere vteřiny či minuty u složitějších a rozsáhlejších projektů jako je například KDE může kompilace zabrat deset a více hodin. Samozřejmě záleží na výkonnosti vašeho hardware.

Na druhou stranu má ale instalace ze zdrojových kódů několik zásadních výhod. Především jde o teoretické zrychlení. Program, který je přeložen přímo pro váš typ hardware by měl běžet (a většinou běží) o něco rychleji. Teoreticky by se měla i zvýšit stabilita.

O překladu ze zdrojových souborů vyšel seriál Nebojíme se kompilace.

Obecně platí při kompilaci následují postup aneb svatá trojice:

./configure                  # můžou se připojit další volby jako např. --prefix=/usr/local
make
make install                 # jako superuživatel

Doporučuje se místo závěrečného make install použít raději checkinstall. Nedojde tak k přímé integraci programu do systému bez evidence, což by jinak mohlo být při odinstalaci problematické (pokud součástí programu není make uninstall). Při použití checkinstall se nejdříve vytvoří nový balík, který je poté standardně dále nainstalován balíčkovacím systémem. Tak předejdeme výše uvedeným problémům.

« Předchozí | Nahoru | Obsah | Další »

Dokument vytvořil: Leoš Literák, 5.1.2006 20:43 | Poslední úprava: Nicky726, 5.3.2009 17:31 | Další přispěvatelé: Saljack, David Watzke | Historie změn | Zobrazeno: 30960×

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

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