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 18:22 | Komunita

    O víkendu probíhá v Bruselu konference FOSDEM 2026 (Free and Open source Software Developers’ European Meeting). Program konference je velice nabitý: 37 místností, 71 tracků, 1184 přednášejících, 1069 přednášek, prezentací a workshopů. Sledovat je lze i online. K dispozici budou jejich videozáznamy. Aktuální dění lze sledovat na sociálních sítích.

    Ladislav Hagara | Komentářů: 1
    včera 18:00 | IT novinky

    Společnost Nex Computer stojící za "notebooky bez procesorů a pamětí" NexDock představila telefon NexPhone, který může funguje jako desktop PC, stačí k němu připojit monitor, klávesnici a myš nebo NexDock. Telefon by měl být k dispozici ve třetím čtvrtletí letošního roku. Jeho cena by měla být 549 dolarů. Předobjednat jej lze s vratní zálohou 199 dolarů. V dual-bootu by měl být předinstalovaný Android s Linuxem (Debian) jako aplikací a Windows 11.

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

    Byla vydána nová major verze 9.0 softwaru pro správu elektronických knih Calibre (Wikipedie). Přehled novinek v poznámkách k vydání. Vypíchnuta je podpora AI.

    Ladislav Hagara | Komentářů: 1
    včera 14:22 | Nová verze

    Wasmer byl vydán ve verzi 7.0. Jedná se o běhové prostředí pro programy ve WebAssembly. Zdrojové kódy jsou k dispozici na GitHubu pod licencí MIT.

    Ladislav Hagara | Komentářů: 1
    včera 12:22 | Zajímavý software

    V reakci na nepopulární plán Microsoftu ještě více ve Windows prohloubit integraci umělé inteligence Copilot, Opera na sociální síti 𝕏 oznámila, že připravuje nativní linuxovou verzi prohlížeče Opera GX. Jedná se o internetový prohlížeč zaměřený pro hráče, přičemž obsahuje všechny základní funkce běžného prohlížeče Opera. Kromě integrace sociálních sítí prohlížeč například disponuje 'omezovačem', který umožňuje uživatelům omezit využití sítě, procesoru a paměti prohlížečem, aby se tak šetřily systémové zdroje pro jinou aktivitu.

    NUKE GAZA! 🎆 | Komentářů: 8
    včera 06:22 | Zajímavý software

    NVIDIA vydala nativního klienta své cloudové herní služby GeForce NOW pro Linux. Zatím v beta verzi.

    Ladislav Hagara | Komentářů: 6
    včera 04:33 | Zajímavý projekt

    Open Gaming Collective (OGC) si klade za cíl sdružit všechny klíčové projekty v oblasti linuxového hraní počítačových her. Zakládajícími členy jsou Universal Blue a Bazzite, ASUS Linux, ShadowBlip, PikaOS a Fyra Labs. Strategickými partnery a klíčovými přispěvateli ChimeraOS, Nobara, Playtron a další. Cílem je centralizovat úsilí, takže namísto toho, aby každá distribuce udržovala samostatné opravy systému a podporu hardwaru na

    … více »
    NUKE GAZA! 🎆 | Komentářů: 0
    včera 04:11 | Bezpečnostní upozornění

    V kryptografické knihovně OpenSSL bylo nalezeno 12 zranitelností. Opraveny jsou v upstream verzích OpenSSL 3.6.1, 3.5.5, 3.4.4, 3.3.6 a 3.0.19. Zranitelnosti objevila společnost AISLE pomocí svého autonomního analyzátoru.

    Ladislav Hagara | Komentářů: 1
    29.1. 20:11 | Zajímavý software

    Desktopové prostředí Xfce bude mít vlastní kompozitor pro Wayland s názvem xfwl4. V programovacím jazyce Rust s využitím stavebních bloků z projektu Smithay jej napíše Brian Tarricone. Úprava stávajícího xfwm4 tak, aby paralelně podporoval X11 i Wayland, se ukázala jako špatná cesta.

    Ladislav Hagara | Komentářů: 6
    29.1. 19:11 | Komunita

    Desktopové prostředí KDE Plasma 6.8 poběží už pouze nad Waylandem. Vývojáři, kteří s rozhodnutím nesouhlasí, vytvořili fork KDE Plasma s názvem SonicDE (Sonic Desktop Environment) s cílem zachovat a vylepšovat podporu X11.

    Ladislav Hagara | Komentářů: 8
    Které desktopové prostředí na Linuxu používáte?
     (17%)
     (6%)
     (0%)
     (10%)
     (24%)
     (3%)
     (5%)
     (2%)
     (12%)
     (32%)
    Celkem 684 hlasů
     Komentářů: 22, poslední 29.1. 23:06
    Rozcestník

    Docker dpkg-buildpackage [note]

    3.11.2015 23:50 | Přečteno: 1101× | dev | Výběrový blog | poslední úprava: 3.11.2015 23:50

    Micro-návod na balení deb balíků z unstable prostředí pomocí dockeru. Jde trochu o zápis *pro sebe*, ale třeba to někomu pomůže...

    Chceme-li vytvořit balík pro konkrétní verzi Debianu, např. wheezy, a chceme-li build provést na čistém systému (či jiné verzi), máme kromě chrootu, pbuilderu, dedikovaného virtuálu atd. možnost právě přes docker.
    Návod cílím na build pro debian wheezy, který máme na serverech.

    Nejprve si stáhneme či připravíme image s požadovaným systémem. Pokud důvěřujeme připravenému obrazu, stačí:

    $ sudo docker pull debian:wheezy
    

    Za dvojtečkou je uveden tag. Neuvedením se stáhne tag latest. Snadno můžeme mít připraveny image pro více různých verzí systému.

    $ sudo docker images
    REPOSITORY          TAG                 IMAGE ID            CREATED             VIRTUAL SIZE
    debian              wheezy              3b5671666ac3        11 days ago         84.89 MB
    

    Image chci doplnit o kompilátor a další utility, které nechci pokaždé nechávat instalovat znovu. Spustím tedy kontejner:

      $ sudo docker run -ti debian:wheezy /bin/bash
      root@1ec31c9983e3:/$
    

    Nainstaluji základ pro build (případně další dle potřeb - cmake, autotools atd.).

      root@1ec31c9983e3:/$ apt-get update
      root@1ec31c9983e3:/$ apt-get install build-essential devscripts debhelper
    

    Vytvoříme entrypoint pro build - jde o jednoduchý skript, který vleze do baleného adresáře, vytvoří z debian/control seznam závislostí, nainstaluje je (chce pořešit jinak, pokud je vyžadován neinteraktivní režim) a poté spustí build.

      root@1ec31c9983e3:/$ mkdir /mnt/package
      root@1ec31c9983e3:/$ cat <<EOF > /root/dpkg-buildpackage.sh
      #!/bin/bash
      cd /mnt/package/"\$PACKAGE_NAME" && mk-build-deps -i && dpkg-buildpackage \$@
      EOF
      root@1ec31c9983e3:/$ chmod +x /root/dpkg-buildpackage.sh
    

    Ukončím práci v kontejneru a zapíšu výsledek do image. Hash je z promptu root@1ec31c9983e3. Protože base systém dále nepotřebuji, nechám přepsat image debian v tagu wheezy, ale je možné zapsat i nový image a původní debian:wheezy si ponechat.

      root@1ec31c9983e3:/$ exit
      $ sudo docker commit -m 'Build and dev utils.' 1ec31c9983e3 debian:wheezy
    

    Poté uvažujme situaci, že chci balit ~/sources/projekt/. Adresář ~/sources/projekt/debian/ tedy obsahuje control, rules apod. Build nechává hotové balíky v nadřazeném adresáři, mountujeme do kontejneru tedy ten. Název baleného adresáře předáme v proměnné PACKAGE_NAME, se kterou počítá skript /root/dpkg-buildpackage.sh.
    Poznámka: Volba -v ~/.gnupg:/root/.gnupg je zbytečná, nechcete-li hotový balík podepisovat.

      $ cd ~/sources
      $ sudo docker run -ti -v $(pwd):/mnt/package -v ~/.gnupg:/root/.gnupg -e PACKAGE_NAME=projekt --entrypoint=/root/dpkg-buildpackage.sh debian:wheezy
    

    Po skončení buildu by na nás měl čekat balík projekt-verze.deb (zjednodušeno).
    Postup tvorby image lze zjednodušit Dockerfilem, viz [1].

    No a zbývá jen promazat ukončené kontejnery - nechci je commitovat, ale zahodit.

      $ sudo docker rm `sudo docker ps -aq --filter 'status=exited'`
    

    Zdroje:
    [1] https://github.com/stevenjack/dpkg-buildpackage

           

    Hodnocení: 100 %

            špatnédobré        

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

    Komentáře

    Vložit další komentář

    pavlix avatar 4.11.2015 08:55 pavlix | skóre: 54 | blog: pavlix
    Rozbalit Rozbalit vše Re: Docker dpkg-buildpackage [note]
    To úplně nevypadá jako hezké integrované řešení.
    Já už tu vlastně ani nejsem. Abclinuxu umřelo.
    4.11.2015 09:19 johniez | skóre: 17 | blog: xyz | Praha
    Rozbalit Rozbalit vše Re: Docker dpkg-buildpackage [note]
    Tak ono s tim Dockerfile je rozjeti celkem v pohode. Jak jsem si rozepsal jednotlive kroky, vypada to kostrbate.

    No a tem prikaz pro build - idealne skript ci alias, jinak je to zrudnost, no :)
    Josef Kufner avatar 4.11.2015 13:06 Josef Kufner | skóre: 70
    Rozbalit Rozbalit vše Re: Docker dpkg-buildpackage [note]
    Můžeš tedy přihodit na konec kompakní výsledek, jak to vypadá v reálném provozu?
    Hello world ! Segmentation fault (core dumped)
    cezz avatar 4.11.2015 16:38 cezz | skóre: 24 | blog: dm6
    Rozbalit Rozbalit vše Re: Docker dpkg-buildpackage [note]
    Ja osobne by som za tym ziadnu eleganciu a integraciu nehladal. Ono je to take riesenie "na kolene", ked potrebujes skompilovat balicek a nechces si za*rat system. (alebo pre inu verziu) Ten link na konci clanku je o dost jednoduchsi a posobi viac elegantne. V zasade je to asi to iste ako pouzit chroot, akurat to moze byt jednoduchsie ak je niekto familiarnejsi s Dockerom.

    Ak kompilujes balicky castejsie ako raz za uhorsky rok, tak je urcite lepsie obzriet sa po niecom inom, ale zas zvycajne ide o trosku vacsiu casovu investiciu.
    Computers are not intelligent. They only think they are.
    4.11.2015 10:30 little-drunk-jesus | skóre: 14
    Rozbalit Rozbalit vše Re: Docker dpkg-buildpackage [note]
    super zapisek, jen v tom Dockerfile je dobre nahradit:

    RUN apt-get update RUN apt-get install build-essential debhelper -y

    za:

    RUN apt-get update && apt-get install build-essential debhelper -y

    Jinak hrozi automaticke vyuziti cache dockeru pro layer a dost zvlastni chovani. Obecne plati, ze v Dockeru je dobre co nejvice prikazu spojit, protoze kazda RUN instrukce vytvari vrstvu a soubory v ni uz nejdou odstranit (image bobtna).

    Bedňa avatar 7.11.2015 22:46 Bedňa | skóre: 34 | blog: Žumpa | Horňany
    Rozbalit Rozbalit vše Re: Docker dpkg-buildpackage [note]
    Fakt Docker a balíčkovanie? Trochu mi to riešenie pripomína jeden init čo robí všetko okrem toho čo by mal :-) Teda nech si každý robí čo chce len nech sa to nedostane main streamu :-D
    KERNEL ULTRAS video channel >>>
    pavlix avatar 8.11.2015 19:46 pavlix | skóre: 54 | blog: pavlix
    Rozbalit Rozbalit vše Re: Docker dpkg-buildpackage [note]
    Přijde ti použití třeba mocku o tolik čistší? :)
    Já už tu vlastně ani nejsem. Abclinuxu umřelo.
    Bedňa avatar 8.11.2015 20:32 Bedňa | skóre: 34 | blog: Žumpa | Horňany
    Rozbalit Rozbalit vše Re: Docker dpkg-buildpackage [note]
    Tak Mock je nápad od RHEL, či?
    KERNEL ULTRAS video channel >>>
    cezz avatar 9.11.2015 16:51 cezz | skóre: 24 | blog: dm6
    Rozbalit Rozbalit vše Re: Docker dpkg-buildpackage [note]
    Vzhladom na to, ze docker je v podstate taky chroot na steroidoch mi to nepripada o moc ine ako pouzit napriklad fakeroot..
    Computers are not intelligent. They only think they are.
    9.11.2015 21:40 johniez | skóre: 17 | blog: xyz | Praha
    Rozbalit Rozbalit vše Re: Docker dpkg-buildpackage [note]
    Jasne. Co se ti na tom nezda? Mas pripravene prostredi, ve kterem se balik vytvori - jednoduche a rychle. Prijde mi to v pohode.

    K cemu bys docker vyuzil?

    Založit nové vláknoNahoru

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