Nové číslo časopisu Raspberry Pi zdarma ke čtení: Raspberry Pi Official Magazine 165 (pdf).
Byla vydána verze 9.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 informačním videu.
Firefox 151 podporuje Web Serial API. Pro komunikaci s různými mikrokontroléry připojenými přes USB nebo sériové porty už není nutné spouštět Chrome nebo na Chromiu postavené webové prohlížeče.
Byla vydána nová stabilní verze 8.0 webového prohlížeče Vivaldi (Wikipedie). Postavena je na Chromiu 148. Přehled novinek i s náhledy v příspěvku na blogu.
Ve FreeBSD byla nalezena a opravena zranitelnost FatGid aneb CVE-2026-45250. Jedná se o lokální eskalaci práv. Neprivilegovaný uživatel se může stát rootem.
Společnost Flipper Devices oznámila Flipper One. Zcela nový Flipper postavený od nuly. Jedná se o open-source linuxovou platformu založenou na čipu Rockchip RK3576. Hledají se dobrovolníci pro pomoc s dokončením vývoje (ovladače, testování, tvorba modulů).
Vývojáři Wine oznámili vydání verze 2.0 knihovny vkd3d pro překlad volání Direct3D na Vulkan. Přehled novinek na GitLabu.
Společnost Red Hat oznámila vydání Red Hat Enterprise Linuxu (RHEL) 10.2 a 9.8. Vedle nových vlastností a oprav chyb přináší také aktualizaci ovladačů a předběžné ukázky budoucích technologií. Vypíchnout lze CLI AI asistenta goose. Podrobnosti v poznámkách k vydání (10.2 a 9.8).
Organizace Apache Software Foundation (ASF) vydala verzi 30 integrovaného vývojového prostředí a vývojové platformy napsané v Javě NetBeans (Wikipedie). Přehled novinek na GitHubu. Instalovat lze také ze Snapcraftu a Flathubu.
Byla vydána nová verze 7.0 svobodného open source redakčního systému WordPress. Kódové jméno Armstrong bylo vybráno na počest amerického jazzového trumpetisty a zpěváka Louise Armstronga (What A Wonderful World).
Občas není od věci vyslovit něco, za co se upaluje nebo ukamenovává. Nic není totiž tak jednoduché, aby byla pravda vždy jediná a na první pohled zřejmá.
Když jsem před časem psal o inotify-cxx, objevil se v diskusi nápad na vytvoření démona, který by fungoval jako cron, ale reagoval by na události ve filesystému. Trochu jsem o tom zauvažoval, a došlo mi, jak dobrá věc by to byla, se spoustou možností využití. Proto jsem po volných chvilkách zbastlil něco, co by mohlo příslušné požadavky plnit.
inotify je dobrá věc, to je jasné. Je ovšem škoda, že se zatím používá jen zřídka, i když už je v jádře docela dlouho. Sledovat události v souborovém systému se může hodit z celé řady důvodů. Proto se zcela logicky objevila poptávka po programu, který by se pověsil na určitá místa (adresáře, soubory) a na základě událostí volal další programy nebo skripty.
Když se tehdy taková věc objevila v diskusi, nejprve jsem to poněkud zavrhl. Protože se ale ukázalo, k čemu všemu se takový program hodí, rozhodl jsem se něco takového napsat. Je to šité pořádně horkou jehlou, proto je jasné, že o chyby nebude nouze. Již nyní vím o řadě z nich (včetně nechutných prasáren, jako je volání wait() v handleru signálu SIGCHLD), ale bude jich určitě mnohem víc.
Celý systém je navržen tak, aby se používal podobně jako obyčejný cron. Má tedy dvě části - démona (incrond) a manipulační program (incrontab). Démon se spustí (pod rootem, např. z init skriptu), načte tabulky uživatelů a pověsí se na adresář s tabulkami - změny v tabulkách se tedy projeví okamžitě.
Manipulační program se používá prakticky stejně jako jeho vzor, program crontab. Lze vypsat tabulku, smazat ji, editovat (oblíbeným editorem podle proměnné EDITOR) nebo importovat ze souboru. Argumenty programu a další věci okolo toho se prakticky neliší od programu crontab.
Tabulka obsahuje řádky pro jednotlivé sledované cesty. Řádek vypadá takto:
<cesta> <maska> <příkaz>
Cesta může být libovolná ve filesystému, ale s mezerami apod. si program zatím neporadí. Masku lze zadat buď číselně, nebo lépe přímo symbolicky (symboly oddělené čárkou) podle headeru inotify.h. Příkaz může být binárka nebo skript, s absolutní cestou i bez ní (použije se PATH). Nemůže obsahovat přesměrování, roury ani nic podobného, zato lze ale používat speciální symboly. $@ znamená cestu zadanou na začátku řádku, $# název souboru, kde došlo k události, a $$ je pro samotný znak dolaru. Může to pak vypadat následovně:
/var/mail IN_CLOSE_WRITE,IN_MOVED_TO my_notify $#
Uvedený příklad bude sledovat adresář /var/mail, a když někdo zapíše do souboru v adresáři, nebo tam přesune soubor odjinud, spustí se program my_notify s názvem souboru jako argumentem. Jak prosté...
Kdo má zájem program použít, nechť stahuje. Budu velice vděčný za každou připomínku nebo námět. Také bych ocenil, kdyby se nějaký znalec na bezpečnost podíval na program i z tohoto pohledu - žonglování s efektivními právy a další podobné lahůdky nejsou mojí parketou. Program je založen na rozhraní inotify-cxx, který se současně posunulo do verze 0.2.0.
Než skončím, ještě pro informaci připomenu několik možností použití této hračky:
Tiskni
Sdílej:
Upřímně řečeno, nenapadá mě způsob, jak by to šlo čistě vyřešit. Sice by šlo zakázat příjem nebo zpracování událostí během obsluhy, ale to nerozlišuje (a ani to nejde) sekundární události způsobené reakcí na prvotní událost, a ty ostatní. Proto si myslím, že by se v těchto případech tíha měla přenést na reagující program (např. zámkem - takže se sice program spustí znovu, ale když bude mít přístup blokovaný, ihned skončí).