Na GitHubu byl zveřejněn algoritmus "Pro vás" sociální sítě 𝕏.
Byla vydána nová major verze 34.0.0 webového prohlížeče Pale Moon (Wikipedie) vycházejícího z Firefoxu. Přehled novinek v poznámkách k vydání.
Win8DE je desktopové prostředí pro Wayland, inspirované nechvalně proslulým uživatelským rozhraním Metro z Windows 8. Nabízí dlaždicové rozhraní s velkými tlačítky a jednoduchou navigací, optimalizované pro dotyková zařízení. Cílem projektu je přetvořit design operačního systému Windows 8 do funkčního a minimalistického rozhraní vhodného pro každodenní použití na Linuxu.
Laboratoře CZ.NIC vydaly Datovku 4.28.0 a Mobilní Datovku 2.6.0. Hlavní novinkou je ukládání rozpracovaných datových zpráv do konceptů. Datovka je svobodné multiplatformní aplikace pro přístup k datovým schránkám a k trvalému uchovávání datových zpráv v lokální databázi.
Unix Pipe Game je vzdělávací karetní hra zaměřená na děti a rodiče, která děti učí používat unixové příkazy prostřednictvím interaktivních úkolů. Klíčovým prvkem hry je využití symbolu | pro pipeline neboli 'rouru', který umožňuje propojit výstupy a vstupy jednotlivých unixových příkazů, v tomto případě vytištěných na kartičkách. Předpokládá se, že rodič má alespoň nějaké povědomí o unixových příkazech a jejich provazování pomocí |.
… více »PCIem je linuxový framework, který vytváří virtuální zařízení PCIe pomocí technik, které umožňují hostitelskému operačnímu systému rozpoznat tyto syntetické 'neexistující' karty jako fyzické zařízení přítomné na sběrnici. Framework PCIem je primárně zamýšlen jako pomůcka pro vývoj a testování ovladačů bez nutnosti použít skutečný hardware. Dle tvrzení projektu si fungování PCIem můžeme představit jako MITM (Man-in-the-Middle), který se nachází mezi ovladači a kernelem.
Byla nalezena vážná bezpečnostní chyba v telnetd z balíčku GNU InetUtils. Týká se verzí GNU InetUtils od 1.9.3 z 12. května 2015 až po aktuální 2.7 z 14. prosince 2025. Útočník může obejít autentizaci a získat root přístup, jelikož telnetd nekontroluje předaný obsah proměnné prostředí USER a pokud obsahuje "-f root"…
Stanislav Aleksandrov předložil patch rozšiřující KWin (KDE Plasma) na 3D virtuální desktopové prostředí (videoukázka v mp4).
Digg (Wikipedie), "místo, kde můžete sdílet a objevovat to nejlepší z internetu – a nejen to", je zpět. Ve veřejné betě.
Po .deb balíčcích Mozilla nově poskytuje také .rpm balíčky Firefoxu Nightly.
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: