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 18:22 | Nová verze

    Open source 3D herní a simulační engine Open 3D Engine (O3DE) byl vydán v nové verzi 26.05. Podrobný přehled novinek v poznámkách k vydání.

    Ladislav Hagara | Komentářů: 0
    dnes 11:44 | IT novinky

    Český stát by v budoucnu mohl provozovat vlastní alternativu ke komunikačním aplikacím typu WhatsApp, Signal, Telegram, Facebook Messenger a podobně. Cílem je zajistit bezpečnou datovou komunikaci pro stát a jeho důležité subjekty, jako jsou bezpečnostní složky, ministerstva a další organizace.

    Ladislav Hagara | Komentářů: 17
    dnes 11:22 | Pozvánky

    Už za týden, ve čtvrtek 4. června, se v Národní technické knihovně v pražských Dejvicích uskuteční další konference věnovaná tématům spojeným s IPv6 - Den IPv6. Program akce a registrační formulář jsou k dispozici na webu akce. Kapacita konference je omezená, proto organizátoři doporučují, aby se vážní zájemci přihlásili včas (k dnešnímu dni zbývá přibližně 30 volných míst). Konferenci Den IPv6 2026 organizují i letos společně sdružení CESNET, CZ.NIC a NIX.CZ.

    VSladek | Komentářů: 1
    dnes 05:22 | IT novinky

    Zařízení Steam Deck OLED bylo znovu naskladněno, ale vlivem rostoucích cen pamětí a úložišť má novou, vyšší cenovku. Steam Deck OLED 512 GB stojí nově 779 EUR (stál 569 EUR) a Steam Deck OLED 1 TB stojí 919 EUR (stál 679 EUR). Samotné zařízení se nijak nezměnilo a nové ceny tedy pouze odráží aktuální náklady na komponenty a další globální logistické výzvy, se kterými se potýká celá branže.

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

    Český telekomunikační úřad zahajuje novou etapu využívání vysokofrekvenčního rádiového spektra v pásmu 26 GHz. Toto pásmo bude od 1. 7. 2026 otevřeno pro provoz moderních bezdrátových sítí, zejména sítí páté generace (5G), pevných bezdrátových přístupových sítí (FWA) a lokálních či průmyslových sítí určených například pro výrobní areály, logistická centra nebo technologické kampusy. Současně s otevřením pásma 26 GHz přistoupil ČTÚ ke zpřístupnění informací o využívání rádiových kmitočtů v tomto pásmu.

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

    Logitech představil myš Signature Comfort Plus M850 L s polstrovanou opěrkou dlaně pro větší pohodlí a sadu s touto myší a klávesnicí s integrovanou opěrkou dlaní Signature Comfort Plus Combo MK880.

    Ladislav Hagara | Komentářů: 0
    včera 16:33 | IT novinky

    Gaël Duval se rozepsal o novinkách a plánech Murena a /e/OS. Počet uživatelů telefonů Murena a mobilního operačního systému /e/OS bez aplikací a služeb od Googlu se blíží 100 000. Ambicí je, aby se /e/OS stal třetí mobilní platformou v Evropě i na světě, s potenciálem dostat se i na PC. Blíží se vydání nové verze 4 s funkcemi zálohování a obnova, import e-mailů z Gmailu a rozpoznávání hlasu. Murena Workspace přinese videohovory, elektronický podpis a správu zařízení (MDM).

    Ladislav Hagara | Komentářů: 4
    včera 15:22 | Komunita

    Dnes a zítra probíhá Ubuntu Summit 26.04. Na programu je řada zajímavých přednášek. Sledovat je lze na YouTube. Úvodní slovo měli Mark Shuttleworth a Jon Seager.

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

    Lazygit byl vydán ve verzi 0.62.0. Jedná se o TUI (Text User Interface) nadstavbu nad gitem.

    Ladislav Hagara | Komentářů: 0
    včera 04:44 | Zajímavý článek

    Jiří Eischmann se v příspěvku na svém blogu o rozepsal o tom, kam se vyhledávání v jeho očích posledních 10 let posunulo, jaké má zkušenosti s AI vyhledáváním, proč na něm nechce záviset a jaké vyhledávací služby ho v poslední době zaujaly.

    Ladislav Hagara | Komentářů: 2
    Které desktopové prostředí na Linuxu používáte?
     (12%)
     (8%)
     (2%)
     (14%)
     (31%)
     (4%)
     (7%)
     (3%)
     (16%)
     (26%)
    Celkem 1738 hlasů
     Komentářů: 30, poslední 3.4. 20:20
    Rozcestník

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

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

    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.