Byla vydána verze 4.0.0 programovacího jazyka Ruby (Wikipedie). S Ruby Box a ZJIT. Ruby lze vyzkoušet na webové stránce TryRuby. U příležitosti 30. narozenin, první veřejná verze Ruby 0.95 byla oznámena 21. prosince 1995, proběhl redesign webových stránek.
Všem čtenářkám a čtenářům AbcLinuxu krásné Vánoce.
Byla vydána nová verze 7.0 linuxové distribuce Parrot OS (Wikipedie). S kódovým názvem Echo. Jedná se o linuxovou distribuci založenou na Debianu a zaměřenou na penetrační testování, digitální forenzní analýzu, reverzní inženýrství, hacking, anonymitu nebo kryptografii. Přehled novinek v příspěvku na blogu.
Vývojáři postmarketOS vydali verzi 25.12 tohoto před osmi lety představeného operačního systému pro chytré telefony vycházejícího z optimalizovaného a nakonfigurovaného Alpine Linuxu s vlastními balíčky. Přehled novinek v příspěvku na blogu. Na výběr jsou 4 uživatelská rozhraní: GNOME Shell on Mobile, KDE Plasma Mobile, Phosh a Sxmo.
Byla vydána nová verze 0.41.0 multimediálního přehrávače mpv (Wikipedie) vycházejícího z přehrávačů MPlayer a mplayer2. Přehled novinek, změn a oprav na GitHubu. Požadován je FFmpeg 6.1 nebo novější a také libplacebo 6.338.2 nebo novější.
Byla vydána nová verze 5.5 (novinky) skriptovacího jazyka Lua (Wikipedie). Po pěti a půl letech od vydání verze 5.4.
Byla vydána nová verze 5.4.0 programu na úpravu digitálních fotografií darktable (Wikipedie). Z novinek lze vypíchnout vylepšenou podporu Waylandu. Nejnovější darktable by měl na Waylandu fungovat stejně dobře jako na X11.
Byla vydána beta verze Linux Mintu 22.3 s kódovým jménem Zena. Podrobnosti v přehledu novinek a poznámkách k vydání. Vypíchnout lze, že nástroj Systémová hlášení (System Reports) získal mnoho nových funkcí a byl přejmenován na Informace o systému (System Information). Linux Mint 22.3 bude podporován do roku 2029.
GNU Project Debugger aneb GDB byl vydán ve verzi 17.1. Podrobný přehled novinek v souboru NEWS.
Josef Průša oznámil zveřejnění kompletních CAD souborů rámů tiskáren Prusa CORE One a CORE One L. Nejsou vydány pod obecnou veřejnou licenci GNU ani Creative Commons ale pod novou licencí OCL neboli Open Community License. Ta nepovoluje prodávat kompletní tiskárny či remixy založené na těchto zdrojích.
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: