Byl vydán Nextcloud Hub 8. Představení novinek tohoto open source cloudového řešení také na YouTube. Vypíchnout lze Nextcloud AI Assistant 2.0.
Vyšlo Pharo 12.0, programovací jazyk a vývojové prostředí s řadou pokročilých vlastností. Krom tradiční nadílky oprav přináší nový systém správy ladících bodů, nový způsob definice tříd, prostor pro objekty, které nemusí procházet GC a mnoho dalšího.
Microsoft zveřejnil na GitHubu zdrojové kódy MS-DOSu 4.0 pod licencí MIT. Ve stejném repozitáři se nacházejí i před lety zveřejněné zdrojové k kódy MS-DOSu 1.25 a 2.0.
Canonical vydal (email, blog, YouTube) Ubuntu 24.04 LTS Noble Numbat. Přehled novinek v poznámkách k vydání a také příspěvcích na blogu: novinky v desktopu a novinky v bezpečnosti. Vydány byly také oficiální deriváty Edubuntu, Kubuntu, Lubuntu, Ubuntu Budgie, Ubuntu Cinnamon, Ubuntu Kylin, Ubuntu MATE, Ubuntu Studio, Ubuntu Unity a Xubuntu. Jedná se o 10. LTS verzi.
Na YouTube je k dispozici videozáznam z včerejšího Czech Open Source Policy Forum 2024.
Fossil (Wikipedie) byl vydán ve verzi 2.24. Jedná se o distribuovaný systém správy verzí propojený se správou chyb, wiki stránek a blogů s integrovaným webovým rozhraním. Vše běží z jednoho jediného spustitelného souboru a uloženo je v SQLite databázi.
Byla vydána nová stabilní verze 6.7 webového prohlížeče Vivaldi (Wikipedie). Postavena je na Chromiu 124. Přehled novinek i s náhledy v příspěvku na blogu. Vypíchnout lze Spořič paměti (Memory Saver) automaticky hibernující karty, které nebyly nějakou dobu používány nebo vylepšené Odběry (Feed Reader).
OpenJS Foundation, oficiální projekt konsorcia Linux Foundation, oznámila vydání verze 22 otevřeného multiplatformního prostředí pro vývoj a běh síťových aplikací napsaných v JavaScriptu Node.js (Wikipedie). V říjnu se verze 22 stane novou aktivní LTS verzí. Podpora je plánována do dubna 2027.
Byla vydána verze 8.2 open source virtualizační platformy Proxmox VE (Proxmox Virtual Environment, Wikipedie) založené na Debianu. Přehled novinek v poznámkách k vydání a v informačním videu. Zdůrazněn je průvodce migrací hostů z VMware ESXi do Proxmoxu.
R (Wikipedie), programovací jazyk a prostředí určené pro statistickou analýzu dat a jejich grafické zobrazení, bylo vydáno ve verzi 4.4.0. Její kódové jméno je Puppy Cup.
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
Tiskni Sdílej:
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.
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).