Ondrej Sika ondrejsika.com



Tvorba deb balíčku

08 Aug 2013

Nejdříve si vytvoříme praconí adresáž na tvorbu deb balíčků ~/deb/ a přepneme se do něj.

$ mkdir deb
$ cd deb

Zde si vytvoříme adresář se stejným jménem jako název souboru balíčku, v našem případě helloworld_1~ondrejsika-1_all.deb. Název není jen tak vymyšlený první část je jméno programu a verze, další je autor balíčku a nakonec verze balíčku a platforma. V mém případě je balíček určen pro všechny platformy.

$ mkdir helloworld_1~ondrejsika-1_all
$ cd helloworld_1~ondrejsika-1_all

Zde musíme vytvořit složku DEBIAN a vložit do ní soubory se základními informacemi o balíčku. Stačí nám pouze soubor control. Do souboru control napište tyto nutné základní informace.

Package: helloworld
Version: 1 
Architecture: all 
Maintainer: Ondrej Sika <ondrej@ondrejsika.com>
Installed-Size: 1
Depends: bash
Priority: extra
Homepage: http://ondrejsika.com/
Description:
 Hello world app

To jsou informace o balíčku, které jsou poviné. Pokud zadáme příkaz find, máme zde jen složku DEBIAN a v ní soubor control.

$ find
.
./DEBIAN
./DEBIAN/control

Teď už můžeme vytvářet souborovou strukturu která odpovídá souborové strukturě z linuxového rootu. Vytvořím soubor usr/bin/helloworld, který znázorňuje /usr/bin/helloworld. Do tohoto souboru napište Váš script a nastavte ho jako spustitelný.

mkdir usr/bin/ -p
echo -e '#!/bin/bash\necho Hello world' > usr/bin/helloworld
chmod +x usr/bin/helloworld

Teď máme hotovo. Můžeme skontrolovat soubory v našem balíčku příkazem find.

$ ls
DEBIAN  usr
$ find
.
./usr
./usr/bin
./usr/bin/helloworld
./DEBIAN
./DEBIAN/control

Teď se přepneme z adresáře balíčku do našeho pracovního adresáře.

$ cd ..
$ pwd
~/deb/
$ ls
helloworld_1~ondrejsika-1_all

Niní můžeme balíček sestavit příkazem

$ dpkg-deb --build helloworld_1~ondrejsika-1_all helloworld_1~ondrejsika-1_all.deb
dpkg-deb: building package `helloworld_1~ondrejsika-1_all' in `helloworld_1~ondrejsika-1_all.deb'.

To je vše. Přeji hodně úspěchů při tvorbě vlastních balíčků.

Share on Facebook, Twitter, Google+, Linkedin

comments powered by Disqus