V úterý Google vydal Android 16. Zdrojové kódy jsou k dispozici na AOSP (Android Open Source Project). Chybí (zatím?) ale zdrojové kódy specifické pro telefony Pixel od Googlu. Projekty jako CalyxOS a GrapheneOS řeší, jak tyto telefony nadále podporovat. Nejistá je podpora budoucích Pixelů. Souvisí to s hrozícím rozdělením Googlu (Google, Chrome, Android)?
Byla vydána (𝕏) květnová aktualizace aneb nová verze 1.101 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.101 vyjde také VSCodium, tj. komunitní sestavení Visual Studia Code bez telemetrie a licenčních podmínek Microsoftu.
V Brně na FIT VUT probíhá třídenní open source komunitní konference DevConf.CZ 2025. Vstup je zdarma, nutná je ale registrace. Na programu je celá řada zajímavých přednášek, lightning talků, meetupů a workshopů. Přednášky lze sledovat i online na YouTube kanálu konference. Aktuální dění lze sledovat na Matrixu, 𝕏 nebo Mastodonu.
Vyloučení technologií, které by mohly představovat bezpečnostní riziko pro stát, má umožnit zákon o kybernetické bezpečnosti, který včera Senát schválil spolu s novelami navazujících právních předpisů. Norma, kterou nyní dostane k podpisu prezident, počítá rovněž s prověřováním dodavatelů technologií pro stát. Normy mají nabýt účinnosti od třetího měsíce po jejich vyhlášení ve Sbírce zákonů.
Open source platforma Home Assistant (Demo, GitHub, Wikipedie) pro monitorování a řízení inteligentní domácnosti byla vydána v nové verzi 2025.6.
Po Red Hat Enterprise Linuxu a AlmaLinuxu byl v nové stabilní verzi 10.0 vydán také Rocky Linux. Přehled novinek v poznámkách k vydání.
Bylo vydáno Eclipse IDE 2025-06 aneb Eclipse 4.36. Představení novinek tohoto integrovaného vývojového prostředí také na YouTube.
Americká filmová studia Walt Disney a Universal Pictures podala žalobu na provozovatele populárního generátoru obrázků pomocí umělé inteligence (AI) Midjourney. Zdůvodňují to údajným porušováním autorských práv. V žalobě podané u federálního soudu v Los Angeles označují firmu za „bezednou jámu plagiátorství“, neboť podle nich bez povolení bezostyšně kopíruje a šíří postavy z filmů jako Star Wars, Ledové království nebo Já, padouch, aniž by do nich investovala jediný cent.
Ultra Ethernet Consortium (UEC), jehož cílem je optimalizace a další vývoj Ethernetu s důrazem na rostoucí síťové požadavky AI a HPC, vydalo specifikaci Ultra Ethernet 1.0 (pdf, YouTube).
Francouzský prezident Emmanuel Macron chce zakázat přístup na sociální sítě pro děti do 15 let. Francie podle něj tento krok udělá sama do několika měsíců, i pokud se na něm neshodnou další státy Evropské unie. Reaguje tak na úterní vraždu vychovatelky, kterou ve východofrancouzském městě Nogent pobodal 14letý mladík. Jednotlivé sociální sítě podle něj mají možnost věk ověřit a vymáhat zákaz pomocí systémů na rozpoznávání tváří.
Původně se měl tento blogpost jmenovat: "Proč spolu openvswitch a systemd neka..?", ale podařilo se mi to lousknout, tak bych tady chtěl popsat v čem spočíval problém, než to - jako obvykle - zapomenu.
U "staršího" clusteru Peanuts, na kterém jsem rozjížděl openvswitch zhruba před necelým rokem, jsem řešil konfiguraci sítě takto...
root@stroj:~# cat /etc/network/interfaces auto eth0 iface eth0 inet manual up ip link set $IFACE up down ip link set $IFACE down auto interni iface interni inet static pre-up service openvswitch-switch start address 10.0.0.214 netmask 255.255.255.0 broadcast 10.0.0.255
Vyžaduje to však aby již byl předem vytvořený bridge interni se "zapojeným" síťovým zařízením eth0:
root@stroj:~# ovs-vsctl show 458eb0ea-1825-40de-8e3b-028ea61c0faf Bridge interni Port interni Interface interni type: internal Port "eth0" Interface "eth0" ovs_version: "2.1.0"
U strojů clusteru Schrot jsem ale narazil na problém, že s touto konfigurací systém vůbec nenajížděl. Při startu končilo spouštění při konfiguraci sítě v nekonečné smyčce - viz snímek:
Nezbylo, než přidat do parametrů jádra při zavádění break
, najet do ramdisku, namountovat systémový disk a laborovat se souborem /etc/network/interfaces
.
Jak se metodou pokus/omyl ukázalo, příčinou problému byl následující řádek v souboru /etc/network/interfaces
:
... pre-up service openvswitch-switch start ...
Po jeho zakomentování systém normálně najel, ale bez nahozeného portu interni.
Vrtalo mi hlavou proč, až mě napadlo podívat se, zda-li je u systémů staršího clusteru Peanuts nainstalován systemd. Samo že nebyl. Odinstaloval jsem ho, a voilá! Začalo to fungovat.
Síťová konfigurace Schrotu je ale oproti staršímu clusteru Peanuts složitější v tom směru, že jeho stroje lezou ven pouze prostřednictvím jediného nodu. Aby je bylo možné spravovat přes Puppet, musí mít nastavenou maškarádu a povolený forwarding na vnější a vnitřní síťové rozhraní.
Vytvořil jsem tedy jednoduchý skript /etc/network/if-up.d/iptables
, který se stará o zavedení pravidel pro iptables a do souboru /etc/sysctl.conf
přidal následující dva řádky:
net.ipv4.conf.eth0.forwarding=1 net.ipv4.conf.interni.forwarding=1
Ale ouha! Při startu je akceptováno pouze nastavení pro eth0. Nikoliv pro port interni. Mohl bych sice forwarding povolit jedním parametrem pro všechna rozhraní najednou, to však nepovažuji řešení. Také jsem nebyl spokojen s odinstalováním systemd což nelze považovat za vyřešení problému. Když je s ním schopen koexistovat Pacemaker, tak to musí být řešitelné pro openvswitch.
Při hledání řešení pro NAT jsem narazil v ukázkové konfiguraci souboru /etc/network/interfaces
na parametr allow-ovs
. Nakouknul jsem tedy do souboru /usr/share/doc/openvswitch-switch/README.Debian.gz
, upravil podle něj příslušným způsobem konfiguraci, doinstaloval systemd a restartoval.
root@stroj:~# cat /etc/network/interfaces allow-ovs interni iface interni inet static address 10.0.0.214 netmask 255.255.255.0 broadcast 10.0.0.255 ovs_type OVSBrid ovs_ports eth0 allow-interni eth0 iface eth0 inet manual ovs_bridge interni ovs_type OVSPort
Jak už jsem poznamenal - při konfiguraci rozhraní virtuálního switche je klíčový parametr allow-ovs
, kterým se aktivuje síťové rozhraní bridge v ukázkovém příkladu s názvem interni. Kromě obvyklé síťové konfigurace, může obsahovat každá příslušná položka virtuálního switche parametr ovs_type
, jimž se implicitně říká, o jaký typ zařízení jde (zda bridge nebo port). A v případě, že se u bridge mají hned po startu nahodit i některé porty parametr ovs_ports
s jejich seznamem.
U konfigurace portu (síťového rozhraní) se parametrem allow-interni
implicitně řekne, do kterého bridge port patří a tím dojde při spuštění bridge i k jeho nahození.
Tiskni
Sdílej:
TimeoutSec=0
, tj. nekonečný timeout.
samba
, ntpd
a dnsmasq
. Postinst skript prostě udělá /etc/init.d/služba restart a služba si to vyloží jako že se má spustit, i když neběží a byla zakázána (přes update-rc.d služba remove
).
Výsledná konfigurace je vedlejší produkt hledání řešení jiného problému - povolení forwardingu pro virtuální interface.to mi připomíná tenhle čerstvě spravenej bug - při dostatečně novým jádru a userlandu by to tím pádem už mohlo fungovat všude i bez zvláštních obezliček.
Chtěl jsem tomu dát šanci, protože jinak proti systemd vcelku nic nemám. Jenže za současného stavu by to znamenalo jen další opruz navíc.Já tomu trochu času navíc věnuju, protože používám systemd na gentoo, kde taky ještě zdaleka není doma.
To ovšem sebou nese zase další zpoždění, neboť se snažím ze svých stávajících masterů postupně vydestilovat univerzálně použitelné moduly.Jo to dává smysl.
pre-up service openvswitch-switch startHádám, že tímto vzniknul deadlock. Jelikož systemd dodržuje závislosti služeb mezi sebou, tak spouštění služby z jiné služby je k tomu náchylné. Příkaz service čekal, až openvswitch-switch nastartuje. Ten ale místo startování čekal ve frontě, až doběhne jiná služba, na níž má pořadní závislost. Pokud je skutečně zapotřebí spouštět služby z jiných služeb, hodí se použít
systemctl
s parametrem --no-block
nebo --ignore-dependencies
.
Pokud je skutečně zapotřebí spouštět služby z jiných služeb, hodí se použít systemctl s parametrem --no-block nebo --ignore-dependencies.Za
--no-block
jsem dostal od Michala Sekletára vynadáno a měnil jsem to na --ignore-dependencies
. Na druhou stranu takové neblokující volání už nebude ani v nejmenším pre-up
, takže to nejde použít. Ale --ignore-dependencies
normálně blokuje, ne, takže to by mělo případně fungovat, že?
Nevím jestli je to bug nebo feature, ale doufám, že už to opravili.Hláška dne.
Virtuální infrastruktura.
Takhle kupříkladu vypadá konfigurace, jakou můj agent pro Pacemaker zpracovává když spouští virtuální disklessový stroj postel.felk.cvut.cz
primitive postel ocf:dce:kvm \ params workdir="/root" binfile=qemu-system-x86_64 \ ifup="/etc/openvswitch/ovs-ifup" \ ifdown="/etc/openvswitch/ovs-ifdown" \ cpu=kvm64 memory=4096 monitor="/tmp/7013.monitor" \ nic="00:0f:b0:46:23:89,virtio,tap,main,17 00:0f:b0:47:23:89,virtio,tap,main,5" \ serial="file:/var/log/postel.serial" logfile="/var/log/postel.log" \ pidfile="/var/run/kvm_postel.pid" \ errlogfile="/var/log/postel.err" \ meta target-role=Started is-managed=true \ op monitor interval=20 \ op start interval=0 timeout=30 \ op stop interval=0 timeout=30
Skript /etc/openvswitch/ovs-ifup
se stará o nahození virtuálního portu a skript /etc/openvswitch/ovs-ifdown
zase o jeho zrušení, když Pacemaker stroj vypne. Zařazení virtuálního portu do příslušného bridge a vlan se řeší zpracováním záznamů v parametru nic.