Na čem aktuálně pracují vývojáři GNOME a KDE Plasma? Pravidelný přehled novinek v Týden v GNOME a Týden v KDE Plasma. V Týdnu v GNOME je zmíněn flatpak balíček pro GIMP 0.54.1 z roku 1996. Jedná se o poslední verzi GIMPu postavenou nad toolkitem Motif.
Home Assistant Operating System, tj. linuxová distribuce optimalizována pro hostování Home Assistanta a jeho aplikací, byl vydán v nové major verzi 18.0.
Po šestiletém úsilí byla z jádra Linux odstraněna funkce strncpy(). Všechna předchozí volání této funkce byla převedena na bezpečnější alternativy.
Byla vydána nová verze 261 správce systému a služeb systemd (Wikipedie, GitHub). Z novinek lze vypíchnout nový subsystém IMDS (Cloud "Instance Metadata Service"), nový příkaz storagectl nebo novou komponentu systemd-sysinstall.
Vývojové prostředí Qt Creator bylo vydáno ve verzi 20 (seznam změn). Novinky zahrnují hlavně rozšíření pro integraci LLM agentů nebo minimalistický editační režim uživatelského rozhraní („zen mode“).
Už jste se prolétli na webu Google Earth? Přibyl tam Simulátor letu (Nástroje / Simulátor letu). Funguje i bez účtu Google [𝕏].
Byla vydána nová verze 4.7 (𝕏, Bluesky, Mastodon) multiplatformního open source herního enginu Godot (Wikipedie, GitHub). Přehled novinek i s náhledy v příspěvku na blogu.
Mastodon (Wikipedie) - sociální síť, která není na prodej - byl vydán ve verzi 4.6. Přehled novinek s náhledy v oznámení na blogu.
V Edici CZ.NIC, knižní řady správce české národní domény, vychází nová kniha Martina Malého Kódy, buildy, firmwary. Autor po půl roce od vydání předchozího titulu přichází se svou již sedmou knihou, tentokrát zaměřenou na vývoj programového vybavení pro embedded zařízení. Publikace s podtitulem Základy vývojářského řemesla pro tvůrce hobby elektroniky nabízí praktického průvodce pro všechny, kdo své projekty vytvořené s Arduinem
… více »V Brně na FIT VUT probíhá dvoudenní open source komunitní konference DevConf.CZ 2026. 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.
Stav vydání jádra. Citáty týdne: James Bottomley, Sasha Levin a Paul McKenney. Nové API pro připojování souborových systémů.
Kernel release status. Jonathan Corbet. 9. května 2018
Současné vývojové jádro je 4.17-rc4, vydané 6. května. Linus řekl: „Dvě třetiny patche 4.17-rc4 jsou ovladače, což docela sedí. Média, sítě, rdma, vstupní zařízení, nvme, usb. Jinými slovy: od každého trošku.“ Kódové jméno bylo poprvé od 4.10 změněno, a to na „Merciless Moray“.
Stabilní aktualizace: 4.16.8, 4.14.40 a 4.9.99 byly vydány 9. května.
Quotes of the week. Jonathan Corbet. 9. května 2018
Kdybychom dokázali naskriptovat vkus, už dávno bychom Linuse nahradili něčím mnohem méně nevrlým.
Co kdyby Linus vůbec nevydával tečkové verze? Mohli bychom častěji otevírat začleňovací okno a protože by se lidé nemohli upínat k žádnému konkrétnímu vydání, ani by nespěchali se zařazením oprav do pozdějších -rc cyklů.
Odstranili bychom podnět k zařazování špatně otestovaných patchů. Správci by stále mohli commitovat, co by se jim hodilo, ale nebyl by důvod, aby commitovali kód, kterému moc nevěří, jenom aby se stihlo nahodilé vydání, které stejně nikdo nebude používat.
Mno, řeknu to asi takhle…
Tohle je tvůj malý, hezký, elegantní algoritmus.
Tohle je tvůj malý, hezký, elegantní algoritmus vybavený, aby přežil v jádře Linux.
Nějaké otázky?
A new API for mounting filesystems. Jake Edge. 4. května 2018
Systémové volání mount() trpí řadou nedostatků, kvůli nimž někteří začali zvažovat jiné API. Jedním z nich byl na loňském Summitu o úložištích, souborových systémech a správě paměti Miklós Szeredi, který na sezení diskutoval své myšlenky, jak by mohlo vypadat nové API pro připojování souborových systémů. David Howells od té doby se Szeredim a správcem VFS Alem Virem na tomto API pracovali, a to na letošním summitu prezentoval.
Začal vyjmenováním některých nevýhod stávajícího API pro připojování. Jedna z nich spočívá v tom, že volání mount() sice můžete předat datovou stránku, ale jen jednu. Je-li potřeba příliš mnoho voleb nebo jsou-li parametry příslušející volbám příliš dlouhé, na stránku se nevejdou. Chybové hlášky a informace o tom, co se pokazilo, by se daly vylepšit. Některé souborové systémy obsahují chybu takovou, že neplatná volba vede k selhání volání mount(), ale zanechá superblok v nekonzistentním stavu, protože předcházející volby aplikovány budou. Z publika se ozvalo několik hlasů, že tato chyba byla průběžně opravena v ext4 i XFS, leč mohou zbývat jiné souborové systémy, které tímto chováním stále trpí.
Další problémy se týkají předávání parametrů v jádře pomocí datové stránky, pokračoval Howells. Například jmenný prostor nejde převést na řetězec, což by bylo potřeba při předávání volby jmenného prostoru. Aktuálně se jmenné prostory dědí od rodičovského souborového systému, ale při automatickém připojení by se jmenné prostory připojení a sítě měly dědit od procesu, který připojení vyvolal.
Na úrovni jádra první krok připojování spočívá ve vytvoření kontextu souborového systému, který je reprezentován pomocí struct fs_context. Jde o interní strukturu jádra, kterou uživatelé uvnitř jádra mohou inicializovat a přímo používat, ale pro účely volání z uživatelského prostoru ji vytvářejí ovladače souborových systémů. Tato struktura obsahuje různá pole zahrnující operace parsovacích a validačních voleb, typ souborového systému, informace o jmenném prostoru a zabezpečení atd. Více informací je k mání v commitu v Howellsově gitovém repozitáři věnovaném této práci.
Viro navrhl, že by mohlo být užitečné uvažovat o ovladačích souborových systémů jako o externích serverech. Ve skutečnosti mohou (ale nemusejí) být v jádře, ale připojování je vlastně vytvoření žádosti o připojení k příslušnému serveru. Volající z uživatelského prostoru by voláním fsopen() získal deskriptor souboru, pak by získal volby zápisu a informace o konfiguraci dotyčného deskriptoru souboru, následované příkazem k „vytvoření“, který by vygeneroval superblok a kořenový adresář. Howells už má funkční kód, který zhruba odpovídá tomuto:
fd = fsopen("nfs", 0);
write(fd, "d server:/dir");
write(fd, "o tcp");
write(fd, "o intr");
write(fd, "x create");
Tím by se vytvořil kontext souborového systému NFS na „serveru“ se dvěma volbami (TCP transport a přerušitelná operace). Poslední zápis je to, co ve skutečnosti kontext vytvoří. Tento kontext se dá použít k připojení souborového systému voláním podobným tomuto:
fsmount(fd, "/mntpnt", flags);
Příznaky fsmount() by řídily volby, např. nodev a noexec, a propagační atributy jako „soukromý“ (private) nebo „podřízený“ (slave). Volby fsopen() by mohly zahrnovat záležitosti jako překladové tabulky UID/GID síťových souborových systémů typu NFS, odbourala by se tím potřeba něčeho jako shiftfs.
Vedle toho by přibylo nové systémové volání (fspick()), které by provádělo opětovné nastavení superbloku při opakovaném připojení, vázaném připojování atd. To je aspoň Howellsova představa – Viro pro stejnou věc navrhl několik nových volání jako mount_new(), mount_clone() a mount_move().
Howells byl dotázán, co by se stalo se stávajícím API pro připojování. Zůstalo by k dispozici, ale nejspíš by časem přešlo na implementaci postavenou na novém API. Jeví se nepravděpodobné, že by kdy bylo zcela odstraněno. Zatím Howells přidal práci s kontextem většině interních souborových systémů (např. procfs, sysfs a kernfs), jakožto i NFS a AFS. Upozornil ale, že tato sorta patchů se vždycky bude potýkat s bikesheddingem.
Nástroje: Tisk bez diskuse
Tiskni
Sdílej: