Instalační balíčky: Porovnání verzí

Z Wikiknih
Smazaný obsah Přidaný obsah
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.
#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/