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í
×
    včera 23:22 | Humor

    Jihokorejská Národní daňová služba (NTS) zabavila kryptoměnu Pre-retogeum (PRTG) v hodnotě 5,6 milionu dolarů. Pochlubila se v tiskové zprávě, do které vložila fotografii zabavených USB flash disků s kryptoměnovými peněženkami spolu se souvisejícími ručně napsanými mnemotechnickými obnovovacími frázemi. Krátce na to byla kryptoměna v hodnotě 4,8 milionu dolarů odcizena. O několik hodin ale vrácena, jelikož PRTG je extrémně nelikvidní, s denním objemem obchodování kolem 332 dolarů a zalistováním na jediné burze, MEXC [Bitcoin.com].

    Ladislav Hagara | Komentářů: 3
    včera 16:33 | Nová verze

    Komunita kolem Linuxu From Scratch (LFS) vydala nové verze knih s návody na instalaci vlastního linuxového systému ze zdrojových kódů Linux From Scratch 13.0 a Beyond Linux From Scratch 13.0. Pouze se systemd.

    Ladislav Hagara | Komentářů: 1
    včera 16:00 | Nová verze

    Byla vydána nová stabilní major verze 25.12 linuxové distribuce primárně určené pro routery a vestavěné systémy OpenWrt (Wikipedie). Jedná se o nástupce předchozí major verze 24.10. Přehled novinek v poznámkách k vydání. Podporováno je více než 2200 zařízení.

    Ladislav Hagara | Komentářů: 0
    včera 04:44 | Komunita

    Na čem pracují vývojáři webového prohlížeče Ladybird (GitHub)? Byl publikován přehled vývoje za únor (YouTube). Odstraněn byl veškerý kód napsaný ve Swiftu. JavaScriptový engine LibJS byl reimplementován v Rustu.

    Ladislav Hagara | Komentářů: 0
    5.3. 21:11 | Nová verze

    Byla vydána verze 1.94.0 programovacího jazyka Rust (Wikipedie). Podrobnosti v poznámkách k vydání. Vyzkoušet Rust lze například na stránce Rust by Example. Zveřejněny byly výsledky průzkumu mezi vývojáři v programovacím jazyce Rust: 2025 State of Rust Survey Results.

    Ladislav Hagara | Komentářů: 7
    5.3. 17:33 | Komunita

    Google zveřejnil seznam 185 organizací přijatých do letošního Google Summer of Code (GSoC). Dle plánu se zájemci přihlašují od 16. do 31. března. Vydělat si mohou od 750 do 6600 dolarů. V Česku a na Slovensku je to 900 dolarů za malý, 1800 dolarů za střední a 3600 dolarů za velký projekt. Další informace v často kladených otázkách (FAQ). K dispozici jsou také statistiky z minulých let.

    Ladislav Hagara | Komentářů: 0
    4.3. 22:55 | Nová verze

    Byla vydána únorová aktualizace aneb nová verze 1.110 editoru zdrojových kódů Visual Studio Code (Wikipedie). Přehled novinek i s náhledy a videi v poznámkách k vydání. Ve verzi 1.110 vyjde také VSCodium, tj. komunitní sestavení Visual Studia Code bez telemetrie a licenčních podmínek Microsoftu.

    Ladislav Hagara | Komentářů: 8
    4.3. 18:11 | IT novinky

    Apple představil 13palcový MacBook Neo s čipem A18 Pro. V základní konfiguraci za 16 990 Kč.

    Ladislav Hagara | Komentářů: 56
    4.3. 12:22 | Komunita

    Kalifornský zákon AB 1043 platný od 1. ledna 2027 vyžaduje, aby operační systémy požadovaly po uživatelích věk nebo datum narození a skrze API poskytovaly aplikacím informaci, zda je uživatel mladší 13 let, má 13 až 16 let, má 16 až 18 let nebo má alespoň 18 let. Vývojáři linuxových distribucí řeší, co s tím (Ubuntu, Fedora, …).

    Ladislav Hagara | Komentářů: 104
    4.3. 11:44 | Pozvánky

    Konference LinuxDays 2026 proběhne o víkendu 3. a 4. října v Praze v areálu ČVUT v Dejvicích na FIT. Čekají vás desítky přednášek, workshopy, stánky a setkání se spoustou chytrých lidí.

    Petr Krčmář | Komentářů: 0
    Které desktopové prostředí na Linuxu používáte?
     (17%)
     (7%)
     (0%)
     (11%)
     (28%)
     (2%)
     (5%)
     (2%)
     (13%)
     (25%)
    Celkem 1026 hlasů
     Komentářů: 25, poslední 3.2. 19:50
    Rozcestník

    pbuilder – balíčkování pro Debian a Ubuntu

    18. 8. 2009 | Daniel Kolesa | Návody | 4834×

    Pbuilder (Personal Builder) je sada skriptů určená pro balíčkování. Umožňuje balíčkovat pro různé distribuce a architektury bez nutnosti instalace jiného systému, využívá tzv. chrooty. Hodí se třeba pro backporty do starších verzí distribuce, balíčkování pro repozitáře (sestavení balíků v chrootu je vždy stejné), sám si instaluje všechny závislosti. Pro ušetření místa se ke kompresi chrootu používá formát tar.gz.

    Obsah

    Co budeme potřebovat?

    link
    1. PC/Mac/cokoliv_kde_běží_Linux s Debianem nebo Ubuntu.
    2. Znalost Bash.
    3. Pokud nechcete, aby kompilace trvala věky, dostatečně výkonný CPU.

    Začínáme

    link

    Nejdříve si budeme muset pbuilder nainstalovat, udělejte to jakýmkoliv způsobem; apt-get, Aptitude, Synaptic, …

    Doporučuji nainstalovat také balíky dpkg-dev, devscripts, fakeroot, cdebootstrap a je-li to možné, také sudo, pokud chybí.

    Po instalaci se vám v /usr/bin objeví pár binárek, v /usr/lib/pbuilder několik scriptů (není třeba je upravovat) a také výchozí konfigurační soubor /etc/pbuilderrc. Ten obsahuje pouze jeden řádek, a to mirror Debianu. Většinou se pro normální využití nehodí, a proto si za chvíli vytvoříme vlastní konfigurační soubor.

    Konfigurujeme

    link

    Váš uživatelský konfigurační soubor pbuilderu se nachází ve vaší domovské složce, jmenuje se .pbuilderrc a vypadá třeba takhle.

    #!/bin/bash
    
    # Kódová jména větví Debianu
    UNSTABLE_CODENAME="sid"
    TESTING_CODENAME="squeeze"
    STABLE_CODENAME="lenny"
    
    # Dostupná vydání Debianu
    DEBIAN_SUITES=($UNSTABLE_CODENAME $TESTING_CODENAME $STABLE_CODENAME
        "unstable" "testing" "stable")
    
    # Dostupná vydání Ubuntu
    UBUNTU_SUITES=("jaunty" "intrepid" "hardy")
    
    # Servery, ze kterých stahovat
    DEBIAN_MIRROR="ftp.debian.org"
    UBUNTU_MIRROR="archive.ubuntu.com"
    UBUNTU_PORTS_MIRROR="ports.ubuntu.com"
    
    # Nastavit architekturu, pokud nezadána
    : ${ARCH:="$(dpkg --print-architecture)"}
    
    NAME="$DIST"
    # pokud je architektura nastavena, použít jiný název tarballu
    if [ -n "${ARCH}" ]; then
        NAME="$DIST-$ARCH"
        DEBOOTSTRAPOPTS=("--arch" "$ARCH" "${DEBOOTSTRAPOPTS[@]}")
    fi
    
    DISTRIBUTION="$DIST"
    BASETGZ="/var/cache/pbuilder/$NAME-base.tgz"
    BUILDRESULT="/var/cache/pbuilder/$NAME/result/"
    APTCACHE="/var/cache/pbuilder/$NAME/aptcache/"
    BUILDPLACE="/var/cache/pbuilder/build/"
    
    if $(echo ${DEBIAN_SUITES[@]} | grep -q "$DIST"); then
        # Debian
        MIRRORSITE="http://$DEBIAN_MIRROR/debian/"
        COMPONENTS="main contrib non-free"
    elif $(echo ${UBUNTU_SUITES[@]} | grep -q "$DIST"); then
        # Ubuntu
        MIRRORSITE="http://$UBUNTU_MIRROR/ubuntu/"
        COMPONENTS="main restricted universe multiverse"
    else
        echo "Neznámá distribuce: $DIST"
        exit 1
    fi
    
    # pro architektury armel a lpia použít ubuntu-ports, když se kompiluje pro ubuntu
    case $ARCH in
        armel|lpia)
            if $(echo ${UBUNTU_SUITES[@]} | grep -q "$DIST"); then
                    MIRRORSITE="http://$UBUNTU_PORTS_MIRROR/ubuntu-ports/"
            fi
        ;;
    esac
    
    # když se kompiluje více věcí, které na sobě závisí, je dobré mít kompilační skript,
    # který po každé kompilaci vytvoří lokální repozitář, a ten pak nastavit jako OTHERMIRROR
    # (a také ve skriptu pohlídat, aby se rozbalovalo jen jednou
    #  a komprimovalo také jednou, před a po kompilaci všeho)
    OTHERMIRROR="deb file:///var/cache/pbuilder/$NAME/result/ /"
    
    if $(echo ${UBUNTU_SUITES[@]} | grep -q "$DIST"); then
        case $ARCH in
            armel|lpia)
                if [ -z "$OTHERMIRROR" ]; then
                    OTHERMIRROR="deb http://$UBUNTU_PORTS_MIRROR/ubuntu-ports/ $DIST-security $COMPONENTS | deb http://$UBUNTU_PORTS_MIRROR/ubuntu-ports/ $DIST-updates $COMPONENTS"
                else
                    OTHERMIRROR="$OTHERMIRROR | deb http://$UBUNTU_PORTS_MIRROR/ubuntu-ports/ $DIST-security $COMPONENTS | deb http://$UBUNTU_PORTS_MIRROR/ubuntu-ports/ $DIST-updates $COMPONENTS"
                fi
            ;;
            *)
                if [ -z "$OTHERMIRROR" ]; then
                    OTHERMIRROR="deb http://$UBUNTU_MIRROR/ubuntu/ $DIST-security $COMPONENTS | deb http://$UBUNTU_MIRROR/ubuntu/ $DIST-updates $COMPONENTS"
                else
                    OTHERMIRROR="$OTHERMIRROR | deb http://$UBUNTU_MIRROR/ubuntu/ $DIST-security $COMPONENTS | deb http://$UBUNTU_MIRROR/ubuntu/ $DIST-updates $COMPONENTS"
                fi
            ;;
        esac
    fi
    
    # použít ccache pro rychlejší opakované kompilace
    sudo mkdir -p $PBUILDERPLACE/ccache
    sudo chmod a+w $PBUILDERPLACE/ccache
    export CCACHE_DIR="$PBUILDERPLACE/ccache"
    export PATH="/usr/lib/ccache:${PATH}"
    BINDMOUNTS="${CCACHE_DIR} $PBUILDERPLACE/$NAME/result"
    
    # extra balíky v chrootu
    EXTRAPACKAGES="ccache"
    

    Jak vidíte, je to vcelku obyčejný bashovský script. Všechny proměnné můžete ovlivnit při spouštění pbuilderu – např.:

    sudo DIST=hardy pbuilder create

    Nyní vám popíšu proměnné, které pbuilder využívá (všechny se dají nahradit parametry pbuilderu), ostatní už si snad napíšete sami, když byla v úvodu požadována znalost bashe ;-)

    DISTRIBUTION
    Název distribuce, pro kterou se bude kompilovat.
    MIRRORSITE
    Mirror distribuce, který se zapíše do chrootového sources.list a ze kterého se bude chroot stahovat.
    COMPONENTS
    Komponenty hlavního repozitáře distribuce použité v chrootovém sources.list.
    OTHERMIRROR
    Ostatní repozitáře, které chcete v chrootu v sources.list; většinou se používá váš lokální repozitář. Můžete je oddělit znakem | (viz .pbuilderrc).
    BINDMOUNTS
    Cesty ze základního systému, které se připojí pomocí parametru --bind do chrootu po rozbalení.
    BASETGZ
    Cesta k chroot tarballu (při tvorbě a rozbalování).
    BUILDRESULT
    Cesta, kam přesouvat binární balíky a zdrojové balíky.
    APTCACHE
    Cesta, kam ukládat stažené balíčky pro chroot.
    BUILDPLACE
    Adresář s rozbalenými chrooty.

    Vytváříme chrooty

    link

    Když už máme hotový konfigurační soubor, můžeme si vytvořit první chroot. Spusťte tedy:

    sudo DIST=squeeze pbuilder create

    Pak čekejte, v závislosti na vašem internetovém připojení to bude chvilka, nebo věčnost. Pokud je nutné chroot aktualizovat, nahraďte create slovem update.

    Kompilujeme

    link

    Teď už můžeme balíček zkompilovat. Pokud máte zdrojový balík, spusťte prostě:

    sudo DIST=squeeze pbuilder build
    *.dsc

    a pokud ne, můžete použít pdebuild v adresáři se zdrojáky – musí obsahovat adresář debian.

    sudo DIST=squeeze pdebuild

    Užitečné parametry pbuilderu

    link

    Programu můžete zadat různé parametry, ty se zadávají na konec příkazu, ale při parametru build před název dsc souboru. Zde uvedu pár základních, o dalších se můžete dočíst v manuálové stránce.

    Akce

    link
    --create | create
    Vytvořit chroot.
    --update | update
    Aktualizovat chroot.
    --build | build
    Zkompilovat balíček.
    --clean | clean
    Vyčistí BUILDPLACE a APTCACHE
    --login | login
    Zachrootuje se do BASETGZ.
    --execute | execute
    Spustí něco v BASETGZ.
    --dumpconfig | dumpconfig
    Zaznamená konfigurační informace, pro debugging.
    --debuild | debuild
    Stejné jako pdebuild.

    Parametry

    link
    --othermirror "deb something | deb somethingelse"
    Viz OTHERMIRROR, ale měl by končit znakem |, pokud je specifikovaný jako parametr.
    --override-config
    Při upgradu chrootu dělá i apt-get update. Volby --distribution, --components, --mirror--othermirror jsou platné, jen když je --override-config povoleno.
    --configfile SOUBOR
    Vlastní cesta ke konfiguráku pbuilderu.
    --debbuildopts "-volba -volba2"
    Parametry předané dpkg-buildpackage programu.
    --logfile SOUBOR
    Pokud chcete zaznamenávat výstup do souboru.
    --debootstrapopts --p1 --p2 --p3
    Parametry debootstrapu.
    --debootstrap debootstrap | cdebootstrap
    Výběr, jaký debootstrap se bude používat.
    --save-after-login | --save-after-exec
    Při login nebo execute akcích zaznamenat stav chrootu.
    --autocleanaptcache
    Automaticky vyčistit apt cache.
    --removepackages "balíky"
    Balíčky k odstranění z chrootu při tvorbě.
    --extrapackages "balíky"
    Balíčky k instalaci do chrootu při tvorbě – funguje i při update, když je --override-config zapnuto.
    --no-targz
    Nebude se rozbalovat chroot a použije se --buildplace.

    Závěr

    link

    Tento návod byl určen jen jako úvod do práce s pbuilderem. Dále doporučuji pročíst dokumenty uvedené pod článkem jako Odkazy a zdroje.

           

    Hodnocení: 75 %

            š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ář

    Jakub Lucký avatar 18.8.2009 00:25 Jakub Lucký | skóre: 40 | Praha
    Rozbalit Rozbalit vše Re: pbuilder – balíčkování pro Debian a Ubuntu
    --debuild | debuild Stejné jako pdebuild.
    Ale nikde není uvedené, co dělá pdebuild ;)

    Jinak zajímavý článek
    If you understand, things are just as they are; if you do not understand, things are just as they are.
    18.8.2009 07:12 Bednič
    Rozbalit Rozbalit vše Re: pbuilder – balíčkování pro Debian a Ubuntu

    Čítaš niekedy čo napíšeš, tak toto je napísané pre toho kto to nepetrebuje čítať, kto nevie o čo ide aj tak nepochopí čo je čo, takže zas ďaľší zbytočný článok, celkom by ma to zaujímalo, takže sadni si k tomu znova a prepíš to s vysvetlením pojmov, lebo viac mi napovie "man", dík.

    18.8.2009 07:26 MoB
    Rozbalit Rozbalit vše Re: pbuilder – balíčkování pro Debian a Ubuntu

    S lítostí se musím připojit k tomuto názoru... na základě tohoto stručného výtahu z man stránek se to nedá pochopit, je to spíš stručný seznam klíčových slov pro toho, kdo to všechno ví a zná a jenom se mu nechce si to pamatovat. (Jestli to tak ovšem bylo myšleno, pak je to napsáno dobře.)

    18.8.2009 08:15 Robert Krátký | skóre: 94 | blog: Robertův bloček
    Rozbalit Rozbalit vše Re: pbuilder – balíčkování pro Debian a Ubuntu
    Vzhledem k tomu, že se jedná o poměrně pokročilé a zároveň úzkoprofilové téma, tak je to pochopitelné. Pokud se chce někdo vyhnout trablům při zabalení jednoho balíčku pro osobní potřebu, použije checkinstall. Ale pokud se chce opravdu naučit balit, podívá se nejprve na Seriál: Balíčky pro Debian a potom mu může tento článek posloužit jako rychlá reference, pokud se rozhodne zkoumat další možnosti, v tomto případě pbuilder.
    18.8.2009 19:12 eoj
    Rozbalit Rozbalit vše Re: pbuilder – balíčkování pro Debian a Ubuntu
    Ano, článek na nic, už to zaznělo výše.
    18.8.2009 08:18 trekker.dk | skóre: 72
    Rozbalit Rozbalit vše Re: pbuilder – balíčkování pro Debian a Ubuntu
    +1, bohužel
    Quando omni flunkus moritati
    18.8.2009 11:25 Jan Včelák | skóre: 28 | blog: Fcelda
    Rozbalit Rozbalit vše Re: pbuilder – balíčkování pro Debian a Ubuntu
    Tohle podle mě patří spíše do blogu. Na článek je to slabý... :-(

    Založit nové vláknoNahoru

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