Uživatelé mobilních telefonů s Linuxem si nyní mohou nainstalovat aplikaci Mobilní Datovka. Díky tomu je přístup k datovým schránkám dostupný i na zařízeních s mobilními linuxovými distribucemi, jako jsou například Mobian, NixOS Mobile, pmOS atd. Aplikace je dostupná na Flathubu.
Software Freedom Conservancy v novém dokumentu shrnuje doporučení, jak přistupovat ke generativní AI založené na LLM při přispívání do svobodného a open-source softwaru. Mimo jiné vyzývá k obezřetnosti, transparentnosti a revizi generovaného kódu člověkem.
Byla vydána nová verze 5.6.0 programu na úpravu digitálních fotografií darktable (Wikipedie).
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.
Aktuální vývojové jádro je 4.0.rc4, vydané 15. března. Linus k tomu řekl: "Nic zvláštního se neděje. Shortlog je otevřený, myslím, že na to, v jaké fázi cyklu jsme, si vedeme dobře."
Stabilní aktualizace: 3.19.2, 3.14.36 a 3.10.72 byly vydané 18. března.
Greg Kroah-Hartman přidal strom kdbus do linux-next se záměrem sloučit jej v průběhu příštího začleňovacího okna. "Ten kód byl přepracován a přezkoumán již mnohokrát, poslední kolo bylo bez závad, takže je ve frontě na sloučení do verze 4.1-rc1."
Zatímco většina letošního summitu Linux Storage, Filesystem and Memory Management byla věnována diskuzi o subsystému, některá další témata vyvolala takový zájem, že bylo třeba je projednat na plenárních zasedáních. Al Virova přednáška o vývoji virtuálního souborového systému kernelu (VFS) patřila k těmto tématům. Bez VFS by se toho v systému moc nestalo. Tak či onak, v rychle se vyjíjejícím kernelu, je třeba rychle měnit i VFS.
Jedna z věcí, kterou se ještě, navzdory přáním, nepodařilo uskutečnit, je zajištění lepší sady systémových volání, které by nahradily mount(). Al na tom sice pracoval, ale jeho patche byly zamítnuty ještě než mohly být revidovány. V této oblasti se o pokroku nedá mluvit. Na druhou stranu se trochu podařilo zapracovat na vzniku systémového volání revoke(). Plné přijetí je ještě daleko, ale něco se již podařilo udělat.
Více se pracovalo na přechodu k iov_iter interface. Al doufá, že než se uzavře začleňovací okno 4.1, bude přechod z aio_read() a aio_write() (část asynchronní implementace I/O) na iov_iter dokončen. Některé instance stále potřebují převedení, ale Al je toho názoru, že již nejsou žádné významné překážky.
V minulém roce se konverze iov_iter dočkaly send and recieve cesty síťového zásobníku. Stále chybí sendpages(), ale vypadá to, že v cestě nejsou žádné kompilace. Konverze systémového volání splice() bude mnohem těžší. Kód na straně zápisu byl již téměř celý vyměněn - s jednou výjimkou: Filesystem in Userspace (FUSE). Potíž s FUSE je zero-copy, přesouvání stránek přímo mezi splice() bufferem a cache stránky.
Když byl splice() do kernelu přidán poprvé, bylo "kradení stran" původně záměrem; šlo o užitečnou optimalizaci. Nevýhodou byla spousta chyb, například zmatek v kódu souborového systému v okamžiku kdy se aktualizované stránky dostanou do cache stránky. Nick Piggin tuto vlastnost odstranil v roce 2007 a od té doby se nikdo neměl k tomu ji tam vrátit. Al poznamenal, že Nick popsal některé z problémů ve své zprávě, ale jsou další, ke kterým se Nick v minulých letech nedostal a zdá se, že zůstanou tajemstvím, dokud je někdo znovu neobjeví.
Operace zero-copy jsou ve splice() zablokované s jednou výjimkou: FUSE. Problém, který ovlivňoval kradení stránek u jiných souborových systémů se u FUSE neobjevuje, takže nebyl důvod k zablokování. Kromě toho FUSE vyžaduje zero-copy operace, jina dochází k problémům s výkonem. Toto je důvod, který FUSE zatím ochránil od konverze na iov_iter. Alovým řešením problému by bylo obnovení zero-copy pro všechny případy, to však bude vyžadovat další výzkum.
Strana read (zastoupená splice_read() fire_operations) bude pravděpodobně konvertována někdy letos. Al je překvapen, kolik instancí iovec (předchůdců iov_iter) v kernelu nadále zůstává. A jen tak z něj nezmizí, ale používají se stále méně.
Další novou změnou, mimo virtuální souborový systém, je struktura nameidata, která se stane zcela neviditelnou. Bude definována v kódu VFS. Al by se časem rád zbavil ukazatelů k této struktuře a místo ní zavedl používání ukazatelů ze struktury úloh. Tato změna by neměla výrazně ovlivnit kód mimo VFS, ale Al považoval za dobré toto zmínit, jelikož to poškodí některé patche.
Pokračují i práce na projektu, který má za úkol zbavit se mnoha variant d_add(), základní funkce, která přidává záznam struktuře adresáře (dentry) do dentry cache. Jedna z těchto variant, — d_materialise_unique() — byla odstraněna již ve verzi 3.19. Jiné, jako například d_splice_alias() zůstaly. Ideální by bylo mít jediný základní prvek, který by sdružil dentry a inode. Matthew Wilcox se zeptal, zda by jiné variant stále měly význam pro účely dokumentace, ale Al mu odpověděl, že v takových případech by se mělo pracovat důrazně.
Několik dalších nedávných změn zahrnuje unmount souborových systémů při neplatnosti a lepší zpracování vypínání. Změna při odpojení (unmount) způsobuje automatické odebrání souborových systémů, je li zrušen přípojný bod - tato změna byla zařazena před několika měsíci. Velkou změnou je zpracování vypínaní souborového systému, které je nyní zpožděné a odehrává se v (shallow) zásobníku. To by mělo rozptýlit obavy o přetékání zásobníků, které by se jinak mohly objevit během vypínání.
Poslední Alovo téma se týkalo předávání informací o procesu BSD. Co se stává, když začne předávání informací do souboru a dojde k odpojení (unmount) základního FS. Na BSD systému způsobí odebrání EBUSY chybu. Na Linuxu se "někdo rozhodl, že bude nápomocný" a myslel, že by bylo hezkým gestem automaticky zastavit předávání a povolit odpojení (unmount). Tato taktika vypadá užitečně, ale má háček. Vytváří situace, kdy otevřený soubor na souborovém systému nezpůsobí zaneprázdnění souborového systému. To vedlo ke spoustám zajímavým souběhům "race conditions" zpět do roku 2000 nebo tak nějak. Podle Ala je to "pořádný oříšek".
Tento mechanismus byl z kernelu odebrán. Na jeho místě je mechanismus, který umožňuje přidat objekt do struktury vsmount (která zde zastupuje připojený souborový systém); tento objekt podporuje pouze jediný způsob: kill(). Tyto "pin" objekty zůstávají, dokud nezmizí konečný odkaz vfsmount a v tomto okamžiku jsou volány jejich funkce kill(). Jedná se tedy o čistý mechanismus pro provádění čištění, když zmizí souborový systém.
První využití tohoto mechanismu se využívá při ukončování BSD zápisu procesu informací. Dobré využití se nabízí také v případě, že je třeba odpojit velký strom s několika souborovými systémy. Pokud jsou na sobě souborové systémy závislé, lze vložit pin a ujistit se, že bude vyčistění provedeno ve správném pořadí. Tato funkcionalita, nachází se v fs/fs_pin.c vypadá užitečně, ale, jak poznamenal Ted Ts´o, je v současné době nezdokumentovaná. Al skončil svůj výstup s potvrzením (uznáním), že některé komentáře budou dalším uživatelům k užitku.
Nástroje: Tisk bez diskuse
Tiskni
Sdílej: