abclinuxu.cz AbcLinuxu.cz itbiz.cz ITBiz.cz HDmag.cz HDmag.cz abcprace.cz AbcPráce.cz
AbcLinuxu hledá autory!
Inzerujte na AbcPráce.cz od 950 Kč
Rozšířené hledání
×
    dnes 17:33 | IT novinky

    Apple oznámil, že iPhone a iPad jako první a jediná zařízení pro koncové uživatele splňují požadavky členských států NATO na zabezpečení informací. Díky tomu je možné je používat pro práci s utajovanými informacemi až do stupně „NATO Restricted“, a to bez nutnosti instalovat speciální software nebo měnit nastavení. Žádné jiné běžně dostupné mobilní zařízení tak vysokou úroveň státní certifikace dosud nezískalo.

    Ladislav Hagara | Komentářů: 4
    dnes 13:00 | IT novinky

    Americký provozovatel streamovací platformy Netflix odmítl zvýšit nabídku na převzetí filmových studií a streamovací divize konglomerátu Warner Bros. Discovery (WBD). Netflix to ve čtvrtek oznámil v tiskové zprávě. Jeho krok po několikaměsíčním boji o převzetí otevírá dveře k akvizici WBD mediální skupině Paramount Skydance, a to zhruba za 111 miliard dolarů (2,28 bilionu Kč).

    Ladislav Hagara | Komentářů: 5
    dnes 12:44 | IT novinky

    Americká společnosti Apple přesune část výroby svého malého stolního počítače Mac mini z Asie do Spojených států. Výroba v závodě v Houstonu by měla začít ještě v letošním roce, uvedla firma na svém webu. Apple také plánuje rozšířit svůj závod v Houstonu o nové školicí centrum pro pokročilou výrobu. V Houstonu by měly vzniknout tisíce nových pracovních míst.

    Ladislav Hagara | Komentářů: 15
    dnes 12:11 | Zajímavý článek

    Vědci Biotechnologické společnosti Cortical Labs vytvořili biopočítač nazvaný CL1, který využívá živé lidské mozkové buňky vypěstované z kmenových buněk na čipu. Po úspěchu se hrou PONG se ho nyní snaží naučit hrát DOOM. Neurony přijímají signály podle toho, co se ve hře děje, a jejich reakce jsou převáděny na akce jako pohyb nebo střelba. V tuto chvíli systém hraje velmi špatně, ale dokáže reagovat, trochu se učit a v reálném čase se hrou

    … více »
    karkar | Komentářů: 6
    dnes 01:55 | Nová verze Ladislav Hagara | Komentářů: 0
    včera 21:33 | Nová verze

    Ben Sturmfels oznámil vydání MediaGoblinu 0.15.0. Přehled novinek v poznámkách k vydání. MediaGoblin (Wikipedie) je svobodná multimediální publikační platforma a decentralizovaná alternativa ke službám jako Flickr, YouTube, SoundCloud atd. Ukázka například na LibrePlanet.

    Ladislav Hagara | Komentářů: 0
    včera 15:44 | Zajímavý software

    TerminalPhone (png) je skript v Bashi pro push-to-talk hlasovou a textovou komunikaci přes Tor využívající .onion adresy.

    Ladislav Hagara | Komentářů: 6
    včera 12:22 | IT novinky

    Před dvěma lety zavedli operátoři ochranu proti podvrženým hovorům, kdy volající falšuje čísla anebo se vydává za někoho jiného. Nyní v roce 2026 blokují operátoři díky nasazeným technologiím v průměru 3 miliony pokusů o podvodný hovor měsíčně (tzn., že k propojení na zákazníka vůbec nedojde). Ochrana před tzv. spoofingem je pro zákazníky a zákaznice všech tří operátorů zdarma, ať už jde o mobilní čísla nebo pevné linky.

    Ladislav Hagara | Komentářů: 10
    včera 03:44 | Komunita

    Společnost Meta (Facebook) předává React, React Native a související projekty jako JSX nadaci React Foundation patřící pod Linux Foundation. Zakládajícími členy React Foundation jsou Amazon, Callstack, Expo, Huawei, Meta, Microsoft, Software Mansion a Vercel.

    Ladislav Hagara | Komentářů: 3
    včera 01:22 | IT novinky

    Samsung na akci Galaxy Unpacked February 2026 (YouTube) představil své nové telefony Galaxy S26, S26+ a S26 Ultra a sluchátka Galaxy Buds4 a Buds4 Pro. Telefon Galaxy S26 Ultra má nový typ displeje (Privacy Display) chránící obsah na obrazovce před zvědavými pohledy (YouTube).

    Ladislav Hagara | Komentářů: 12
    Které desktopové prostředí na Linuxu používáte?
     (17%)
     (6%)
     (0%)
     (11%)
     (27%)
     (2%)
     (5%)
     (2%)
     (13%)
     (26%)
    Celkem 970 hlasů
     Komentářů: 25, poslední 3.2. 19:50
    Rozcestník

    Balíčky pro Debian - 1 (úvod)

    3. 6. 2008 | Michal Čihař | Návody | 11011×

    Pokud používáte Debian (nebo některou z jeho odvozenin, například Ubuntu) a chcete si pro tento systém vytvářet balíčky, tak vítejte u tohoto seriálu. Během následujících dvanácti dílů se dozvíte vše, co potřebujete vědět k vytvoření balíčků pro Debian.

    Obsah

    Úvod

    link

    Seriál začneme obecným úvodem o tom, jak vlastně takový balíček vypadá. Budeme pokračovat přes popis důležitých souborů až k nástrojům, které pro vytváření balíčku potřebujeme. V závěru popíšu několik speciálních případů balíčků a připojím několik tipů, jak se s balíčky nejlépe vypořádat.

    Vše, co je v tomto seriálu popsáno, se týká přímo Debianu a je možné, že v Ubuntu jsou některé drobnosti řešené jinak. Pokud o těchto odlišnostech vím, upozorním na ně, ale protože balíčky přímo pro Ubuntu nevytvářím, nejspíš zde v tomto ohledu bude něco chybět a budu rád, pokud na tyto odlišnosti upozorníte v diskuzi.

    Jak vypadá binární balíček

    link

    Protože chceme vytvářet balíčky, měli bychom vědět, jak takový výsledný binární balíček vlastně vypadá. Na rozdíl od RPM (viz Seriál: Rukověť baliče RPM) není problém balíček pro Debian vytvořit bez použití speciálních nástrojů. Jediné, co potřebujeme, jsou nástroje ar a tar.

    Když se podíváme na nějaký existující debianní balíček (pro ukázky v tomto a následujících kapitolách jsem ze svých balíčků vybral ten nejjednodušší, a to jest photo-uploader), zjistíme, že se vlastně jedná o ar archív se třemi soubory:

    $ ar tv photo-uploader_0.5-1_all.deb 
    rw-r--r-- 0/0      4 Dec 11 12:49 2007 debian-binary
    rw-r--r-- 0/0   1632 Dec 11 12:49 2007 control.tar.gz
    rw-r--r-- 0/0  11332 Dec 11 12:49 2007 data.tar.gz
    

    To, že se jedná o binární balíček pro Debian, poznáme podle existence souboru debian-binary. Tento soubor obsahuje verzi binárního balíčku (všechny balíčky, se kterými se dnes setkáte, jsou ve verzi 2.0):

    $ ar p photo-uploader_0.5-1_all.deb debian-binary
    2.0

    Dále archív obsahuje soubory control.tar.gz a data.tar.gz, které obsahují vlastní data balíčku. Pro kompresi se kvůli kompatibilitě se staršími verzemi stále používá gzip, přestože jsou podporovány i bzip2 a lzma.

    Soubor data.tar.gz je při instalaci rozbalen do kořenového adresáře systému, takže jeho obsah je celkem zřejmý.

    V souboru control.tar.gz jsou veškeré informace pro balíčkovací systém:

    $ ar p photo-uploader_0.5-1_all.deb control.tar.gz | tar tfz -
    ./
    ./md5sums
    ./postinst
    ./prerm
    ./control
    

    Jak možná uhodnete z názvu, soubor control obsahuje informace o balíčku, postinst a prerm jsou skriptíky pouštěné při instalaci nebo odinstalování a md5sums obsahuje kontrolní součty souborů v data.tar.gz. Souborů může být mnohem více, ale pro první seznámení si vystačíme s těmito.

    Podrobnosti o tom, co všechno mohou obsahovat tyto soubory, se postupně dozvíte v průběhu seriálu, ale je dobré vědět, jak vlastně binární balíček uvnitř vypadá.

    Jak vypadá zdrojový balíček

    link

    Zdrojový balíček se oproti tomu binárnímu skládá ze dvou nebo tří souborů. V případě výše použitého balíčku pro photo-uploader to budou tyto soubory:

    $ ll
    celkem 28
    -rw-r--r-- 1 nijel nijel   844 11. pro 13.02 photo-uploader_0.5-1.dsc
    -rw-r--r-- 1 nijel nijel 17796 11. pro 13.02 photo-uploader_0.5.orig.tar.gz
    -rw-r--r-- 1 nijel nijel  1846 11. pro 13.02 photo-uploader_0.5-1.diff.gz
    

    První soubor je vlastně jakýsi popis zdrojového balíčku, najdeme v něm informace o balíčku (správce, verze, závislosti pro kompilaci apod.) a seznam souborů, ze kterých se zdrojový balíček skládá (tedy orig.tar.gz a diff.gz spolu s jejich kontrolními součty. Tento soubor by také měl být podepsán PGP, takže si můžete ověřit původ zdrojového balíčku.

    Druhým souborem je původní tarball tak, jak jsme ho získali od autora softwaru. Pokud to není nezbytně nutné, neměl by být nijak změněn a přesně odpovídat tomu, který autor nabízí na svých stránkách. Ne vždy je to však možné, nejčastěji z důvodů problematické licence některých částí nebo kvůli zabalení gzipem (zde opět platí výše uvedené, že dpkg podporuje i bzip2 a lzma, ale z důvodů kompatibility se staršími verzemi se nadále používá gzip).

    Poslední soubor obsahuje změny potřebné pro vytvoření debianního balíčku. Přinejmenším tedy přidává skripty potřebné pro kompilaci balíčku, ale může i upravovat soubory v tarballu. Tento soubor se změnami nenaleznete u takzvaných nativních balíčků. Jedná se o programy psané přímo pro Debian, kde nemá smysl rozlišovat mezi verzí balíčku a verzí programu. Pokud však takovýto balíček bez souboru diff.gz vytvoříte vy, obvykle se jedná o chybu.

    Adresář debian a co vše musí obsahovat

    link

    Pro práci se zdrojovými balíčky používáme nástroj dpkg-source. Přepínačem -x si zdrojový balíček rozbalíme a podíváme se dovnitř:

    $ dpkg-source -x photo-uploader_0.5-1.dsc
    dpkg-source: extracting photo-uploader in photo-uploader-0.5
    dpkg-source: unpacking photo-uploader_0.5.orig.tar.gz
    dpkg-source: applying ./photo-uploader_0.5-1.diff.gz
    $ ll photo-uploader-0.5/
    celkem 72
    -rw-r--r-- 1 nijel nijel    32 25. zář 15.46 AUTHORS
    -rw-r--r-- 1 nijel nijel 17987 25. zář 14.55 COPYING
    drwxr-xr-x 2 nijel nijel  4096  4. úno 21.44 debian
    -rw-r--r-- 1 nijel nijel   240 25. zář 15.40 INSTALL
    -rw-r--r-- 1 nijel nijel   690 11. pro 12.40 NEWS
    -rwxr-xr-x 1 nijel nijel  5289 29. lis 22.59 photo-upload.py
    -rw-r--r-- 1 nijel nijel   223  5. říj 12.39 photo-uploadrc
    -rw-r--r-- 1 nijel nijel  2641 11. pro 12.44 photo-upload.1
    drwxr-xr-x 3 nijel nijel  4096 11. pro 12.48 phoupl
    -rw-r--r-- 1 nijel nijel  1038 11. pro 12.48 PKG-INFO
    -rw-r--r-- 1 nijel nijel  1490 26. zář 15.52 README
    -rwxr-xr-x 1 nijel nijel  6238 26. zář 11.35 setup.py
    

    Jak jistě vidíte, kromě věcí, které vypadají jako zdrojové kódy nějaké aplikace, se vytvořil adresář debian, který obsahuje veškeré věci týkající se vytváření balíčku. Obsah tohoto adresáře je obvykle právě vytvořen souborem diff.gz. V případě námi zkoumaného balíčku tento adresář obsahuje sedm souborů:

    $ ll photo-uploader-0.5/debian/
    celkem 28
    -rw-r--r-- 1 nijel nijel    2  4. úno 21.44 compat
    -rw-r--r-- 1 nijel nijel  894  4. úno 21.44 control
    -rw-r--r-- 1 nijel nijel 1162  4. úno 21.44 copyright
    -rw-r--r-- 1 nijel nijel   12  4. úno 21.44 docs
    -rw-r--r-- 1 nijel nijel  873  4. úno 21.44 changelog
    -rwxr-xr-x 1 nijel nijel  730  4. úno 21.44 rules
    -rw-r--r-- 1 nijel nijel   80  4. úno 21.44 watch
    

    U komplikovanějších balíčků naleznete mnohem více souborů, ale nemusíme hned začínat tím nejtěžším. Dnes se pro vytváření téměř všech balíčků používá debhelper, který usnadňuje mnoho kroků nutných pro jejich vytvoření. V celém seriálu předpokládám jeho použití a pokud někdo z nějakých obskurních důvodů potřebuje používat něco jiného, má smůlu :-).

    Stručný popis, co jednotlivé soubory obsahují, najdete ve zbývající části článku, všechny však budou postupně podrobněji popsány v dalších dílech seriálu. Všechny soubory by měly být v UTF-8, takže můžete bez obav používat nabodeníčka ve svých jménech.

    debian/compat

    link

    Povinný soubor určující verzi nástroje debhelper, se kterým byl balíček otestován. Stejně jako vše ostatní se i debhelper vyvíjí a tímto souborem je zajištěna zpětná kompatibilita - při zpracování balíčku se debhelper automaticky přepíná do režimu kompatibilního s verzí uvedenou v tomto souboru.

    debian/control

    link

    Povinný textový soubor obsahující informace zdrojovém balíčku a binárních balíčcích, které vzniknou při jeho kompilaci. Obsahuje jak popis balíčků, tak i informace o závislostech, odkaz na domovskou stránku programu a další informace.

    link

    Povinný textový soubor s informacemi o licenci balíčku. Debian je poměrně přísný na posuzování licencí, a proto pokud chcete balíček dostat do distribuce, dejte si na tomto souboru záležet.

    debian/docs

    link

    Nepovinný soubor, jenž obsahuje seznam dokumentace, kterou má debhelper nainstalovat.

    debian/changelog

    link

    Povinný soubor popisující seznam změn mezi revizemi balíčku.

    debian/rules

    link

    Pravidla pro make, pomocí kterých je možné zkompilovat balíček.

    debian/watch

    link

    Nepovinný soubor obsahující skript pro program uscan, který umožňuje kontrolu aktuálnosti verze programu a případně stažení aktuálního tarballu od autora.

    Závěr

    link

    Nyní již tušíte, jak takový balíček pro Debian vypadá, a v dalším díle se už budeme věnovat jejich vytváření.

           

    Hodnocení: 96 %

            špatnédobré        

    Nástroje: Tisk bez diskuse

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

    Komentáře

    Vložit další komentář

    3.6.2008 00:48 Lubos Kopecky | skóre: 32
    Rozbalit Rozbalit vše Re: Balíčky pro Debian - 1 (úvod)
    dotazek - bude volnym pokracovanim balicku pro Debian vytvoreni vlastni mutace Debianu s mnou preferovanyma balickama ci primo cely vlastni system zalozeny na deb-baliccich? pokud by se tak stalo, byl bych hodne potesen :)

    dik
    3.6.2008 01:13 laco
    Rozbalit Rozbalit vše Re: Balíčky pro Debian - 1 (úvod)
    Něco jako Greenie-linux ? Ale teď vážně.

    Balíčkování je skvělá věc, bohužel se mi zatím nepodařilo nově instalovaný Debian "testing" ani pořádně rozjet (viz dotaz v poradně). Kdyby tak někdo napsal podrobný seriál o řešení potíží s touto distribucí !
    tommyq avatar 3.6.2008 05:22 tommyq | skóre: 8
    Rozbalit Rozbalit vše Re: Balíčky pro Debian - 1 (úvod)
    Nelze napsat žádnej souhrn řešení problémů, protože v této v podstatě největší distribuci je počet možností problémů dán právě jeho velikostí :) Každopádně, co jsem v poslední době někomu instaloval Lenny, tak se choval méně stabilně než Sid. Zvláštní, ale bylo to tak :) A jen můj názor - kdo si nedokáže poradit s testingem a ani do snažení se s googlem se mu nechce nebo nemůže, měl by používat stable nebo Bububuntu :)
    3.6.2008 10:03 networ
    Rozbalit Rozbalit vše Re: Balíčky pro Debian - 1 (úvod)
    To je i má zkušenost. Testing se chová hůře než unstable. Proto na servery instaluji jedině stable a na své PC unstable.
    3.6.2008 23:40 miro | skóre: 19 | blog: miro
    Rozbalit Rozbalit vše Re: Balíčky pro Debian - 1 (úvod)
    Mam uplne opacnu skusenost. Testing na notebooku a ziaden problem. Upgradujem pravidelne, tak raz za tyzden.
    3.6.2008 10:24 Pev | skóre: 28
    Rozbalit Rozbalit vše Re: Balíčky pro Debian - 1 (úvod)
    Já používám testing, ale pomalu se mi mění na unstable - jsem línej čekat 10 či více dnů a programy většinou fungují :-).

    Zato na notebooku se stabilní verzí Ubuntu pořád něco opravuju. Nevím, jestli je to tím notebookem nebo Ubuntu (hádám na kombinaci obojího).
    3.6.2008 12:25 diverman | skóre: 32 | blog: život s tučňáčkem
    Rozbalit Rozbalit vše Re: Balíčky pro Debian - 1 (úvod)
    spis rukama...
    deb http://ftp.cz.debian.org/debian jessie main contrib non-free
    3.6.2008 14:18 Pev | skóre: 28
    Rozbalit Rozbalit vše Re: Balíčky pro Debian - 1 (úvod)
    No, když něco ve výchozí instalaci Ubuntu nefunguje a potom, co to opravím to funguje, tak je to opravdu rukama.

    Ale spíš je problém ve WM - na Debianu používám Fluxbox, na Ubuntu je Gnome. Poslední, co jsem např upravoval byly hal skripty pro uspání do paměti na disk. Ve Fluxboxu na Debianu není problém dát příkaz v xtermu a je to, v Gnome se musejí upravit ty skripty. Dále se Ubuntu nastartovalo s tmavým lcd (opět zřejmě problém hal scriptů nebo HW).

    Jasan, rozhodně nechci tvrdit, že moje zásahy jsou nějaká nádhera a že nebývá problém mezi klavesnicí a židlí, ale Ubuntu stable mi přijde nestabilnější než Debian unstable. Nejsem sám kdo tvrdí že Ubuntí patche balíčků Debianu nejsou zrovna to nejlepší...
    jiri.one avatar 4.6.2008 10:00 jiri.one | skóre: 19 | blog: Jiriho blog
    Rozbalit Rozbalit vše Re: Balíčky pro Debian - 1 (úvod)
    to s tim tmavym LCD jsi uz nejak vyresil? mne to docela zajimalo, mam stejny problem
    www.jiri.one - Můj blog o Linuxu, hrách, životě, ...
    3.6.2008 06:30 Jachym Cepicky
    Rozbalit Rozbalit vše Re: Balíčky pro Debian - 1 (úvod)
    V podstatě je to o vytvoření potřebných "meta" balíků. Vytvoříte si prázdný balíček, který bude mít ty správné závislosti a voila - vlastní mutace je na světě.

    K tomu by neškodilo pár dílů o vytváření repositářů
    3.6.2008 08:39 Michal Čihař | skóre: 61 | blog: Bláboly | Praha
    Rozbalit Rozbalit vše Re: Balíčky pro Debian - 1 (úvod)
    fabian avatar 3.6.2008 09:07 fabian | skóre: 18
    Rozbalit Rozbalit vše Re: Balíčky pro Debian - 1 (úvod)
    Diky za pekny uvod. Tesim se na pokracovani.
    3.6.2008 10:32 Pev | skóre: 28
    Rozbalit Rozbalit vše Re: Balíčky pro Debian - 1 (úvod)
    Tak tak - díky.
    3.6.2008 09:59 stick | skóre: 10 | Praha
    Rozbalit Rozbalit vše Re: Balíčky pro Debian - 1 (úvod)
    "Na rozdíl od RPM (viz Seriál: Rukověť baliče RPM) není problém balíček pro Debian vytvořit bez použití speciálních nástrojů. Jediné, co potřebujeme, jsou nástroje ar a tar." ... a o par odstavcov nizsie: ... "Pro práci se zdrojovými balíčky používáme nástroj dpkg-source."

    Ale inak fajn serial, som zvedavy na dalsie casti. Snad sa naucim balit aj .deb baliky :)
    0118 999 881 999 119 725 3
    3.6.2008 11:55 Jirka | skóre: 36
    Rozbalit Rozbalit vše Re: Balíčky pro Debian - 1 (úvod)
    Problém by to asi nebyl, ale proč si komplikovat život? :-)
    3.6.2008 11:58 Michal Čihař | skóre: 61 | blog: Bláboly | Praha
    Rozbalit Rozbalit vše Re: Balíčky pro Debian - 1 (úvod)
    No jde to, ale nikde tam nepíšu, že je rozumné to tak dělat :-).
    Komunista avatar 3.6.2008 16:18 Komunista
    Rozbalit Rozbalit vše Re: Balíčky pro Debian - 1 (úvod)
    ...a vcelku by ma potešil popis ako na to s ar (ty by som ešte možno zvládol) a tar, občas potrebujem zmeniť len prkotinu v existujúcom balíčku a akosi nemám odvahu sa do toho pustiť metódou pokus omyl :-)
    5.6.2008 12:09 R
    Rozbalit Rozbalit vše Re: Balíčky pro Debian - 1 (úvod)
    Ak vies obsluhovat programy ar a tar, tak na to ziadny navod nepotrebujes.
    3.6.2008 18:29 Jirka P
    Rozbalit Rozbalit vše Re: Balíčky pro Debian - 1 (úvod)
    Bude se seriál věnovat i novým formátům zdrojových balíků? Jak je to vlastně s jejich podporou? (uploadnout do Debianu se nedaj, je to tak?)
    4.6.2008 10:55 Michal Čihař | skóre: 61 | blog: Bláboly | Praha
    Rozbalit Rozbalit vše Re: Balíčky pro Debian - 1 (úvod)
    Jenom okrajově, protože stejně zatím není jasné co a jak se nakonec bude používat. Ale díl, ve kterém to je, vyjde asi za dva měsíce, tak se to možná mezitím trochu ujasní :-).

    Založit nové vláknoNahoru

    ISSN 1214-1267   www.czech-server.cz
    © 1999-2015 Nitemedia s. r. o. Všechna práva vyhrazena.