Instalační balíčky: Porovnání verzí
Bez shrnutí editace |
Bez shrnutí editace |
||
Řádek 90: | Řádek 90: | ||
== tgz == |
== tgz == |
||
= Odkazy = |
|||
http://www.root.cz/clanky/balickovaci-system-debian-gnu-linux-apt/ |
|||
http://www.root.cz/clanky/balickovaci-system-debian-gnu-linux-seznam-zdroju/ |
|||
http://www.root.cz/clanky/balickovaci-system-debian-gnulinux-apt-get-2/ |
|||
http://www.root.cz/clanky/balickovaci-system-debian-gnu-linux-source-build-dep/ |
|||
http://www.root.cz/clanky/balickovaci-system-debian-gnu-linux-apt-cache/ |
|||
http://www.root.cz/clanky/balickovaci-system-debian-gnu-linux-apt-file/ |
Verze z 27. 4. 2005, 06:38
Pro usnadnění správy software v linuxových distribucích byly vyvinuty tzv. balíčkovací systémy
Schéma balíků
Instalační balíčky mohou být dvou typů:
- zdrojové - obsahující zdrojový kód aplikace + soubory obsahující makra, nezbytná pro jeho kompilaci a instalaci
- binární - obsahující již zkopilované binární soubory a další potřebné soubory + hlavičkové soubory nezbytné pro instalaci
deb
Deb balíček je archív vytvořený archivačním programem ar , který obsahuje dva tarballové archívy.
Jeden z nich obsahuje informace o balíku a druhý vlastní binární data, která se při instalaci kopírují do systému
rpm
rpm balíček je binární archív, který je tvořen hlavičkou a vloženým cpio archívem, který obsahuje vlastní instalované soubory - buď archív se zdrojovým kódem a tzv. spec souborem, nebo zkompilované soubory aplikace .
Tento archvív lze z rpm balíku extrahovat pomocí utility rpm2cpio
Podle specifikace je rozhodující pro identifikaci rpm balíčku prvních 8 bajtů.
- první čtyři bajty (řetězec = edab eedb) tvoří tzv. magické číslo podle kterého program file pozná že jde o RPM balíček
- druhé dva bajty určují použitou verzi rpm ( řetězec = 0300 )
- zbývající dva určují zda jde o balíček binární (řetězec = 0000) nebo zdrojový (řetězec = 0001)
další bajty pak nesou informace o architektuře pro níž je balíček určen, digitální podpis, atd..
http://www.rpm.org/max-rpm/index.html
tgz
Nástroje pro správu balíků
deb
Základním nástrojem pro správu deb balíků je dpkg , ovšem časteji používaným, komplexnějším nástrojem je apt
rpm
Základním nástrojem pro správu rpm balíků je rpm , lze však použít i apt pro rpm (původně vyvinutý pro distribuci Conectiva, kterou nedávno koupil Mandrake), nebo urpmi (nástroj z distribuce Mandrake) či yum (nástroj z distribuce Fedora)
tgz
Tvorba balíku
Existuje několik utilit, které usnadňují tvorbu instalačních balíčků - checkinstall , resp. jejich vzájemnou konverzi - alien
deb
Relativně nejsnazší cestou jak vytvořit vlastní binární balíček je použití zdrojového balíčku dodávaného v distribuci. Postup se pokusím rozdělit do několika kroků:
- Nejprve jako root musíte doinstalovat balíky nutné pro splnění požadovaných závislostí:
#apt-get build-dep <kompilovaná aplikace>
- Potom už jako uživatel stáhnete a rozbalíte zdroj aplikace, co máte v úmyslu kompilovat. Že musíte mít nastavený v souboru
/etc/apt/sources.list
také zdroje ke zdrojákům , snad není nutno příliš zdůrazňovat.
- Potom už jako uživatel stáhnete a rozbalíte zdroj aplikace, co máte v úmyslu kompilovat. Že musíte mít nastavený v souboru
#apt-get source <kompilovaná aplikace>
- APT stáhne příslušný zdrojový balíček a rozbalí do aktuální pozice.
- Skočíte do vytvořeného podadresáře a spustíte proces sestavení balíku příkazem
#dpkg-buildpackage -rfakeroot
- Tento příkaz má řadu dalších parametrů, jimiž můžete kompilaci balíku řídit. Kupř. mě odmítl kompilaci provést, dokud jsem neurčil parametrem -m budoucího vlastníka (sebe)
- Pokud je proces sestavení přerušen, je nutné analyzovat příčinu a pokusit se ji odstranit. Nejčastější příčiny..
- nesplněné závislosti (viz první bod)
- zastaralá verze některého z nezbytných programů (nejprve zkusit aktualizovat systém, popřípadě rekompilovat nejprve vyžadovaný program)
- Proběhne-li kompilace v pořádku, naleznete v původním umístění zkompilovaný binární balíček, který můžete přes dpkg nainstalovat.
Balíček můžete také kompilovat ihned po stažení, pokud přidáte při stahování zdroje parametr -b Pak je však nutné spouštět příkaz jako root
rpm
tgz
Odkazy
http://www.root.cz/clanky/balickovaci-system-debian-gnu-linux-apt/
http://www.root.cz/clanky/balickovaci-system-debian-gnu-linux-seznam-zdroju/
http://www.root.cz/clanky/balickovaci-system-debian-gnulinux-apt-get-2/
http://www.root.cz/clanky/balickovaci-system-debian-gnu-linux-source-build-dep/
http://www.root.cz/clanky/balickovaci-system-debian-gnu-linux-apt-cache/
http://www.root.cz/clanky/balickovaci-system-debian-gnu-linux-apt-file/