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 03:33 | Zajímavý článek

    Mozilla před dvěma týdny na svém blogu oznámila, že díky Claude Mythos Preview bylo ve Firefoxu nalezeno a opraveno 271 bezpečnostních chyb. Včera vyšel na Mozilla Hacks článek s podrobnějšími informacemi. Z 271 bezpečnostních chyb mělo 180 chyb vysokou závažnost, 80 chyb střední závažnost a 11 chyb nízkou závažnost. Celkově bylo v dubnu ve Firefoxu opraveno 423 bezpečnostních chyb. Čísla CVE nemusí být přiřazována jednotlivým chybám. CVE-2026-6784 například představuje 154 bezpečnostních chyb.

    Ladislav Hagara | Komentářů: 0
    včera 22:55 | Bezpečnostní upozornění

    Před týdnem zranitelnost Copy Fail. Dnes zranitelnost Dirty Frag. Běžný uživatel může na Linuxu získat práva roota (lokální eskalaci práv). Na většině linuxových distribucí vydaných od roku 2017. Aktuálně bez oficiální záplaty a CVE čísla [oss-security mailing list].

    Ladislav Hagara | Komentářů: 0
    včera 14:00 | Humor

    Ačkoli je papež Lev XIV. hlavou katolické církve a stojí v čele více než miliardy věřících po celém světě, také on někdy řeší všední potíže. A kdo v životě neměl problémy se zákaznickou linkou? Krátce poté, co nastoupil do úřadu, musel papež se svou bankou řešit změnu údajů. Operátorka ale nechtěla uvěřit, s kým mluví, a Svatému otci zavěsila.

    Ladislav Hagara | Komentářů: 7
    včera 05:11 | Nová verze

    Incus, komunitní fork nástroje pro správu kontejnerů LXD, byl vydán ve verzi 7.0 LTS (YouTube). Stejně tak související LXC a LXCFS.

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

    Google Chrome 148 byl prohlášen za stabilní. Nejnovější stabilní verze 148.0.7778.96 přináší řadu novinek z hlediska uživatelů i vývojářů. Vypíchnout lze Prompt API (demo) pro přímý přístup k AI v zařízení. Podrobný přehled v poznámkách k vydání. Opraveno bylo 127 bezpečnostních chyb. Vylepšeny byly také nástroje pro vývojáře.

    Ladislav Hagara | Komentářů: 0
    6.5. 16:44 | Komunita

    Richard Hughes oznámil, že po společnostech Red Hat a Framework a organizacích OSFF a Linux Foundation, službu Linux Vendor Firmware Service (LVFS) umožňující aktualizovat firmware zařízení na počítačích s Linuxem, nově sponzorují také společnosti Dell a Lenovo. Do dnešního dne bylo díky LVFS provedeno více než 145 milionů aktualizací firmwarů od více než 100 různých výrobců na milionech linuxových zařízení.

    Ladislav Hagara | Komentářů: 0
    6.5. 15:22 | IT novinky

    Americké technologické společnosti Microsoft, Google a xAI souhlasily, že vládě Spojených států poskytnou přístup k novým modelům umělé inteligence (AI) před jejich uvedením na trh. Oznámila to americká vláda, která tak bude moci prověřit, zda modely nepředstavují hrozbu pro národní bezpečnost. Oznámení podtrhuje rostoucí obavy Washingtonu z rizik spojených s výkonnými AI systémy. Americké úřady chtějí v rámci předběžného přístupu

    … více »
    Ladislav Hagara | Komentářů: 1
    6.5. 14:11 | IT novinky

    Společnost Valve zveřejnila (GitLab) nákresy ovladače Steam Controller a puku. Pro všechny, kdo by jej chtěli hacknout nebo modifikovat, případně pro ně navrhnout nějaké příslušenství. Pod licencí Creative Commons (CC BY-NC-SA 4.0).

    Ladislav Hagara | Komentářů: 0
    6.5. 12:44 | Komunita

    PHP bylo dlouho distribuováno pod vlastní licencí – s výjimkou částí spadajících pod licenci Zend Engine. Po několikaleté práci se povedlo PHP přelicencovat na 3bodovou licenci BSD.

    Ladislav Hagara | Komentářů: 0
    6.5. 05:00 | Komunita

    Na čem pracují vývojáři webového prohlížeče Ladybird (GitHub)? Byl publikován přehled vývoje za duben (YouTube). Na Linuxu je vedle Qt frontendu nově k dispozici také GTK4 / libadwaita frontend.

    Ladislav Hagara | Komentářů: 20
    Které desktopové prostředí na Linuxu používáte?
     (14%)
     (9%)
     (2%)
     (14%)
     (32%)
     (4%)
     (7%)
     (3%)
     (16%)
     (24%)
    Celkem 1529 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 | 4843×

    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.