Hlavní navigace

Balíčkovací systém distribuce Debian GNU/Linux, část první

Marcel Kolaja

V dnešní době disponuje každá moderní distribuce balíčkovacím systémem. Debian samozřejmě nezůstává pozadu a nabízí velmi komfortní správu softwaru pomocí balíčků. Dnes si vysvětlíme, k čemu vlastně balíčkovací systém je a jak vypadá binární balíček Debianu uvnitř.

K čemu je balíčkovací systém

Abychom si mohli vysvětlit, k čemu nám může být balíčkovací systém užitečný, musíme nejdřív vědět, co je to balíček. Balíček je, obecně řečeno, nějaký archiv, ve kterém se nachází software. Jak tento archiv vypadá, záleží na konkrétní distribuci, respektive na balíčkovacím systému, který distribuce používá. Balíčky můžeme rozdělit na zdrojové a binární. Jak jejich název napovídá, ve zdrojovém balíčku se nacházejí zdrojové kódy softwaru, zatímco v binárním balíčku naleznete software již zkompilovaný.

Balíčkovací systém usnadňuje správu softwaru. Bez jeho pomoci musíte například vědět, zda software, který instalujete, 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. Nakonec skončíte u mnohdy pracného a na procesor a čas náročného kompilování softwaru ze zdrojových kódů a prakticky znovu „objevujete kolo“, protože stejné problémy, na které při kompilaci narážíte, před vámi zcela určitě již někdo řešil. Pomocí balíčkovacího systému tedy zejména pohodlně instalujete nebo odstraňujete software. Poskytnutý komfort závisí na tom, jak moc je balíčkovací systém ve vaší distribuci propracovaný. Co vám může nabídnout balíčkovací systém Debianu, se dozvíte v tomto seriálu.

Jak vypadá binární balíček Debianu

Prozatím ponecháme stranou fakt, že se software musí před instalací zkompilovat pro danou architekturu, odložíme také zdrojové balíčky, z nichž se binární balíčky kompilují, a podíváme se podrobněji do binárních balíčků, které nám distribuce poskytuje, abychom mohli pohodlněji instalovat software.

Binární balíček Debianu je distribuován v jediném souboru. Jméno tohoto souboru je následujícího tvaru: jmeno_verze-revize_architek­tura.deb. Pokud tedy narazíme na soubor gedit0.9.6–4_i386.deb, jeho název nám napovídá, že se jedná o balíček softwaru gedit, verze 0.9.6, v distribuci revize 4, který je zkompilován pro architekturu i386. Možná si kladete otázku, k čemu jsou vlastně revize. Vývojář softwaru, který většinou nemá s Debianem nic společného, nebývá často stejnou osobou jako člověk, který vytváří daný balíček. V terminologii Debianu je vývojář softwaru označován jako „upstream maintainer“, zatímco výrobce balíčku jako „maintainer“ (někdy též „package maintainer“). Pokud chce maintainer provést nějaké změny v balíčku při zachování stejné verze softwaru, zvýší pouze číslo revize. Tedy verze 0.9.6–3 a 0.9.6–4 obsahují stejnou verzi softwaru, pouze jsou v ní provedeny změny od package maintainera, které ale na druhou stranu mohou být poměrně zásadní.

Jak jste si zřejmě všimli, balíčky Debianu nejsou distribuovány ve formátu .rpm, jako je tomu u některých jiných mainstreamových distribucí (např. Red Hat, SuSE, Mandrake). Debian totiž disponuje vlastním formátem .deb. V následujícím textu si popíšeme, jak vypadá uvnitř binární balíček Debianu od verze 0.93. Předchozí verze Debianu používaly odlišný formát, který byl však také nazýván .deb. Soubor .deb je archiv programu ar. Tento archiv umožňuje složit do jednoho souboru (v našem případě .deb) několik souborů (tzv. členů). V případě balíčku Debianu je první člen pojmenován debian-binary, druhý člen nese názevcontrol.tar.gz a třetí má jméno data.tar.gz. O tom se můžeme jednoduše přesvědčit:

$ ar tv gedit_0.9.6-4_i386.deb
rw-r--r-- 0/0      4 Jan 13 08:23 2002 debian-binary
rw-r--r-- 0/0   5078 Jan 13 08:23 2002 control.tar.gz
rw-r--r-- 0/0 633430 Jan 13 08:23 2002 data.tar.gz
$

Po rozbalení archivu se podíváme na soubory v něm obsažené blíže:

$ ar xv gedit_0.9.6-4_i386.deb
x - debian-binary
x - control.tar.gz
x - data.tar.gz
$

V souboru debian-binary najdeme verzi formátu .deb. V současné době se používá verze 2.0:

$ cat debian-binary
2.0
$

Soubory control.tar.gz a data.tar.gz jsou, jak jejich názvy napovídají, archivy programu tar zkomprimované programem gzip. Archiv control.tar.gz obsahuje instalační a deinstalační skripty, soubor s kontrolními součty a v neposlední řadě také soubor s informacemi o balíčku (např. informativní popis balíčku, popis závislostí na jiných balíčcích atd.):

$ tar t -f control.tar.gz -vvz
drwxr-xr-x root/root         0 2002-01-13 08:23:02 ./
-rwxr-xr-x root/root       594 2002-01-13 08:23:00 ./postinst
-rwxr-xr-x root/root       385 2002-01-13 08:23:00 ./prerm
-rwxr-xr-x root/root       147 2002-01-13 08:23:00 ./postrm
-rw-r--r-- root/root     11436 2002-01-13 08:23:02 ./md5sums
-rw-r--r-- root/root      1348 2002-01-13 08:23:02 ./control
$

A konečně soubor data.tar.gz obsahuje samotný software uspořádaný v přesně stejné adresářové struktuře, jako se nainstaluje do vašeho systému.

Při práci s balíčky Debianu však pochopitelně příkazy ar nebo tar používat nemusíme, protože součástí balíčkovacího systému jsou také nástroje, pomocí nichž lze s balíčky komfortně pracovat. Co nám tyto nástroje umožnují a jak se používají, si ukážeme příště.

Tento článek sponzoruje soLNet, s.r.o..

Našli jste v článku chybu?

6. 6. 2003 17:36

Miroslav Prymek (neregistrovaný)

Debian mam asi mesic a jsem z nej naprosto nadseny.
RH me od verze 8 zacal silne lezt na nervy
a Mandrake me vubec neoslovil (P.S. RH8-x a MDK jsou
podle me dost Window$oidni).
Libi se mi, ze se v Debianu da vsechno docela dobre
najit, existuje dobra dokumentace, vsechno ma logickou a dodrzovanou strukturu, aplikace jsou v 99.999% stabilni (i v unstable sarge).

Instaloval jsem z CD images, stazenych z mirroru
fsn.hu, bez pripojeni k Internetu. I tak to je parada!

Balickovaci system …









2. 6. 2003 13:13

Marcel Kolaja (neregistrovaný)

Taky mám zkušenosti se správou strojů bez kvalitního připojení, kde instaluji Debian z CD. Ale i tam oceňuji kvality Debianu (zejména při upgradech :-)).

--mk



Podnikatel.cz: 1. den EET? Problémy s pokladnami

1. den EET? Problémy s pokladnami

Vitalia.cz: Láska na vozíku: Přitažliví jsme pro tzv. pečovatelky

Láska na vozíku: Přitažliví jsme pro tzv. pečovatelky

Vitalia.cz: Jsou čajové sáčky toxické?

Jsou čajové sáčky toxické?

Podnikatel.cz: Přehledná titulka, průvodci, responzivita

Přehledná titulka, průvodci, responzivita

DigiZone.cz: „Black Friday 2016“: závěrečné zhodnocení

„Black Friday 2016“: závěrečné zhodnocení

120na80.cz: Co všechno ovlivňuje ženskou plodnost?

Co všechno ovlivňuje ženskou plodnost?

Měšec.cz: mBank cenzuruje, zrušila mFórum

mBank cenzuruje, zrušila mFórum

Podnikatel.cz: Chtějte údaje k dani z nemovitostí do mailu

Chtějte údaje k dani z nemovitostí do mailu

Vitalia.cz: Paštiky plné masa ho zatím neuživí

Paštiky plné masa ho zatím neuživí

120na80.cz: Pánové, pečujte o svoje přirození a prostatu

Pánové, pečujte o svoje přirození a prostatu

Vitalia.cz: Znáte „černý detox“? Ani to nezkoušejte

Znáte „černý detox“? Ani to nezkoušejte

Podnikatel.cz: EET: Totálně nezvládli metodologii projektu

EET: Totálně nezvládli metodologii projektu

Podnikatel.cz: Zavře krám u #EET Malá pokladna a Teeta?

Zavře krám u #EET Malá pokladna a Teeta?

Vitalia.cz: Když přijdete o oko, přijdete na rok o řidičák

Když přijdete o oko, přijdete na rok o řidičák

Lupa.cz: Proč firmy málo chrání data? Chovají se logicky

Proč firmy málo chrání data? Chovají se logicky

Vitalia.cz: I církev dnes vyrábí potraviny

I církev dnes vyrábí potraviny

120na80.cz: Na ucho teplý, nebo studený obklad?

Na ucho teplý, nebo studený obklad?

Podnikatel.cz: Podnikatelům dorazí varování od BSA

Podnikatelům dorazí varování od BSA

Vitalia.cz: Taky věříte na pravidlo 5 sekund?

Taky věříte na pravidlo 5 sekund?

Podnikatel.cz: Udávání kvůli EET začalo

Udávání kvůli EET začalo