Momo je fenka cavapoo, která svými náhodnými stisky kláves bezdrátové klávesnice vytváří jednoduché počítačové hry. Technicky to funguje tak, že Raspberry Pi s připojenou bluetooth klávesnicí posílá text do Claude Code, který pak v Godotu píše hry a sám je i testuje pomocí screenshotů a jednoduchých simulovaných vstupů. Za stisky kláves je Momo automaticky odměňována pamlsky. Klíčový je pro projekt prompt, který instruuje AI, aby i
… více »GNU awk (gawk), implementace specializovaného programovacího jazyka pro zpracování textu, byl vydán ve verzi 5.4.0. Jedná se o větší vydání po více než dvou letech. Mezi četnými změnami figuruje např. MinRX nově jako výchozí implementace pro regulární výrazy.
Internetový prohlížeč Ladybird ohlásil tranzici z programovacího jazyka C++ do Rustu. Přechod bude probíhat postupně a nové komponenty budou dočasně koexistovat se stávajícím C++ kódem. Pro urychlení práce bude použita umělá inteligence, při portování první komponenty prohlížeče, JavaScriptového enginu LibJS, bylo během dvou týdnů pomocí nástrojů Claude Code a Codex vygenerováno kolem 25 000 řádků kódu. Nejedná se o čistě autonomní vývoj pomocí agentů.
Byl vydán Mozilla Firefox 148.0. Přehled novinek v poznámkách k vydání a poznámkách k vydání pro vývojáře. Nově lze snadno povolit nebo zakázat jednotlivé AI funkce. Řešeny jsou rovněž bezpečnostní chyby. Nový Firefox 148 bude brzy k dispozici také na Flathubu a Snapcraftu.
Byla vydána nová verze 22.1.0, tj. první stabilní verze z nové řady 22.1.x, překladačové infrastruktury LLVM (Wikipedie). Přehled novinek v poznámkách k vydání: LLVM, Clang, LLD, Extra Clang Tools a Libc++.
X86CSS je experimentální webový emulátor instrukční sady x86 napsaný výhradně v CSS, tedy bez JavaScriptu nebo dalších dynamických prvků. Stránka 'spouští' assemblerovový program mikroprocesoru 8086 a názorně tak demonstruje, že i prosté CSS může fungovat jako Turingovsky kompletní jazyk. Zdrojový kód projektu je na GitHubu.
Po šesti letech byla vydána nová verze 1.3 webového rozhraní ke gitovým repozitářům CGit.
Byla vydána nová verze 6.1 linuxové distribuce Lakka (Wikipedie), jež umožňuje transformovat podporované počítače v herní konzole. Nejnovější Lakka přichází s RetroArchem 1.22.2.
Matematický software GNU Octave byl vydán ve verzi 11.1.0. Podrobnosti v poznámkách k vydání. Vedle menších změn rozhraní jsou jako obvykle zahrnuta také výkonnostní vylepšení a zlepšení kompatibility s Matlabem.
Weston, referenční implementace kompozitoru pro Wayland, byl vydán ve verzi 15.0.0. Přehled novinek v příspěvku na blogu společnosti Collabora. Vypíchnout lze Lua shell umožňující psát správu oken v jazyce Lua.
/etc/nsswitch.conf – ale jde to jenom globálně, tj. pořadí v jakém se budou hledat skupiny (např. nejprve v LDAP, pak v souborech). Vezme se údaj z první databáze, ve které skupina je uvedená – tj. nelze mít stejnou skupinu i v souboru i v LDAP a čekat, že se tyto dvě skupiny spojí. Tj. pokud dáte LDAP na první místo, budou se jako první prohledávat skupiny v LDAP i pro uživatele z lokálního souboru, a pokud bude příslušná skupina nalezena v LDAP, jako by už v /etc/groups nebyla.
nsswitch.conf).
Ani mne nenapadá důvod, proč by mělo být potřeba hledat skupiny k uživatelům v LDAPu jen v LDAPu – běžné je to, že v souborech máte jen „systémové“ uživatele – root a uživatele, pod kterými běží služby, plus případně související skupiny – aby systém běžel, i když nebude mít přístup k LDAPu. No a lidské uživatele a jejich skupiny už pak máte v LDAPu. Nenapadá mne důvod, proč by se tyto „systémové“ a „lidské“ účty a skupiny měly nějak prolínat. Třeba má váš problém řešení v jiném uspořádání skupin.
nss_initgroups backlink v ldap.conf, ale to by asi znamenalo změnit strukturu LDAP databáze – a pouze jsem to našel v dokumentaci, nemám v praxi vyzkoušené, jak to funguje.
group: compat [SUCCESS=continue] ldapTo by možná mohlo dělat to, co potřebuju, ne? Jen doufám že se compat nepřeskočí i v případě, že ldap bude nedostupný.
nss_reconnect_tries 6 nss_reconnect_sleeptime 1 nss_reconnect_maxsleeptime 2 nss_reconnect_maxconntries 6 bind_policy soft bind_timelimit 30Pokud změním bind_policy na hard, se kterým by to asi fungovalo tak jak má a nemusel bych vůbec řešit tuhle diskusi se to sekne při bootu, protože se neustále prohledává tento zdroj i když je omezen počet pokusů a v nsswitch.conf je ldap [NOTFOUND=continue] compat. Možná byste mi pomohl s tímhle ??
[NOTFOUND=continue] se uplatní, pokud není skupina nalezena – nikoli v případě, že nefunguje spojení. Navíc tohle chování je defaultní. To nastavení, které máte, by mělo vést k maximálnímu timeoutu 11 sekund (jestli dobře počítám). Přikládám výpis z Gentooovského ldap.conf, ať to nemusím složitě vysvětlovat:
# Timeout behavior # Upstream nss_ldap hard-codes these values: #nss_reconnect_tries 5 # number of times to double the sleep time #nss_reconnect_sleeptime 4 # initial sleep value #nss_reconnect_maxsleeptime 64 # max sleep value to cap at #nss_reconnect_maxconntries 2 # how many tries before sleeping # This leads to a delay of 124 seconds (4+8+16+32+64=124) per lookup if the # server is not available. # For Gentoo's distribution of nss_ldap, as of 250-r1, we use these values # (The hardwired constants in the code are changed to them as well): nss_reconnect_tries 4 # number of times to double the sleep time nss_reconnect_sleeptime 1 # initial sleep value nss_reconnect_maxsleeptime 16 # max sleep value to cap at nss_reconnect_maxconntries 2 # how many tries before sleeping # This leads to a delay of 15 seconds (1+2+4+8=15) # If you are impatient, and know your LDAP server is reliable, fast or local, # you may wish to use these values instead: #nss_reconnect_tries 1 # number of times to double the sleep time #nss_reconnect_sleeptime 1 # initial sleep value #nss_reconnect_maxsleeptime 1 # max sleep value to cap at #nss_reconnect_maxconntries 3 # how many tries before sleeping # This leads to a delay of 1 second.Problém bude asi právě jen s tou skupinou
plugdev. Protože ta je potřeba už při inicializaci zařízení udevem, tzn. ještě před tím, než se inicializuje síťová karta a tedy před tím, než se LDAP může připojit k síti. Je to takový provblém, co bylo dřív, jestli vejce, nebo slepice
Jedno řešení by bylo nakonfigurovat boot tak, aby se síťová karta inicializovala staticky (bez udev), a pak start sítě předřadit i udev (nebo hotplug) startovacímu skriptu. Což může být docela ošklivý zásah do startovacích skriptů.
Další možnost je mít dva nsswitch.conf, jeden pro boot (kde bude pořaíd compat ldap) a druhý, kterým se ten první po bootu nahradí (s opačným pořadím). To taky není moc hezké řešení, navíc pro aplikaci platí nejspíš ten, který viděla při svém startu – protože si jej při startu přečte a dál jej již nekontroluje.
Nejlepší řešení by byla knihovna nss, která by uměla obalit volání více podřízených knihoven a vytvořit z toho jednu sdruženou skupinu. Nic takového jsem ale nenašel. Jenom popis podobného problému.
Z těch řešení, která nevyžadují nic programovat ani se pokoušet rozbít init skripty mne napadá snad jenom použít nscd (který asi stejně používáte) a pro group mu nastavit persistent na yes (vizte man nscd.conf). Ovšem zase bude potřeba zařídit, aby se nscd spustil ještě před hotplug…
nscd, bude to 11 sekund pokaždé, když nějaký program tyhle údaje potřebuje (jeden proces si ty údaje asi bude cachovat, ale jakmile se spustí jiný, znovu bude čekat těch 11 sekund). Ale je fakt, že po těch 11 s by ten proces měl skočit na compat a tam už by to mělo projít. Nejsem si taky jist, co přesně dělá nss_reconnect_maxconntries – tipoval bych, že je to počet pokusů, kdy se při neúspěchu snaží hned znova navázat spojení, a teprve když se tenhle počet vyčerpá, pokouší se navázat spojení až po pauze (která se pokaždé zdvojnásobí). Ovšem zjištění, že se nedaří navázat spojení, také může nějakou dobu trvat – opět tam musí být nějaký timeout, do kterého když se spojení nenaváže, vyhodnotí se to jako nemožnost navázat spojení. Tenhle timeout asi nastavuje bind_timelimit (i když tedy z popisu si tím jistý nejsem), některé LDAP knihovny navíc tenhle parametr vůbec nemusí umět.
udev v sobě spouští spoustu procesů? Každý ten proces pak začne od začátku – 1sekundový timeout, 2sekundový – a pak se spustí další proces (potomek udev) a celé se to opakuje. Jestli můžete, zkuste zjistit PID těch čekajících procesů, nebo prostě jenom sledovat, zda se vždy před tím prvním 1sekundovým timeoutem nevytvoří nový proces.
Což by ale stejně odhalilo, proč dochází k tomu dlouhému hledání v LDAPu, ale nevyřešilo by to váš problém. Napadá mne jedině nějakým skriptem pravidelně stahovat seznam uživatelů skupiny plugdev z LDAPu a nahrazovat jím seznam uživatelů této skupiny v souboru /etc/group. A v NSS pak mít normálně nejdřív compat a pak LDAP.
Tiskni
Sdílej: