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.
Před 25 lety zaplavil celý svět virus ILOVEYOU. Virus se šířil e-mailem, jenž nesl přílohu s názvem I Love You. Příjemci, zvědavému, kdo se do něj zamiloval, pak program spuštěný otevřením přílohy načetl z adresáře e-mailové adresy a na ně pak „milostný vzkaz“ poslal dál. Škody vznikaly jak zahlcením e-mailových serverů, tak i druhou činností viru, kterou bylo přemazání souborů uložených v napadeném počítači.
Byla vydána nová major verze 5.0.0 svobodného multiplatformního nástroje BleachBit (GitHub, Wikipedie) určeného především k efektivnímu čištění disku od nepotřebných souborů.
Na čem pracují vývojáři webového prohlížeče Ladybird (GitHub)? Byl publikován přehled vývoje za duben (YouTube).
Provozovatel čínské sociální sítě TikTok dostal v Evropské unii pokutu 530 milionů eur (13,2 miliardy Kč) za nedostatky při ochraně osobních údajů. Ve svém oznámení to dnes uvedla irská Komise pro ochranu údajů (DPC), která jedná jménem EU. Zároveň TikToku nařídila, že pokud správu dat neuvede do šesti měsíců do souladu s požadavky, musí přestat posílat data o unijních uživatelích do Číny. TikTok uvedl, že se proti rozhodnutí odvolá.
Společnost JetBrains uvolnila Mellum, tj. svůj velký jazykový model (LLM) pro vývojáře, jako open source. Mellum podporuje programovací jazyky Java, Kotlin, Python, Go, PHP, C, C++, C#, JavaScript, TypeScript, CSS, HTML, Rust a Ruby.
Vývojáři Kali Linuxu upozorňují na nový klíč pro podepisování balíčků. K původnímu klíči ztratili přístup.
V březnu loňského roku přestal být Redis svobodný. Společnost Redis Labs jej přelicencovala z licence BSD na nesvobodné licence Redis Source Available License (RSALv2) a Server Side Public License (SSPLv1). Hned o pár dní později vznikly svobodné forky Redisu s názvy Valkey a Redict. Dnes bylo oznámeno, že Redis je opět svobodný. S nejnovější verzí 8 je k dispozici také pod licencí AGPLv3.
Oficiální ceny Raspberry Pi Compute Modulů 4 klesly o 5 dolarů (4 GB varianty), respektive o 10 dolarů (8 GB varianty).
Byla vydána beta verze openSUSE Leap 16. Ve výchozím nastavení s novým instalátorem Agama.
Současné vývojové jádro je stále 2.6.32-rc8 vydané 19. listopadu. Podle toho, jak si věci stojí, tohle pravděpodobně bude poslední -rc. Přál bych si, aby se více lidí podívalo na seznam regresí, ale v nějakém okamžiku prostě budu muset říci ,ok, čeho je moc, toho je příliš‘. Detaily lze nalézt v kompletním changelogu.
Během minulého týdne nevyšly žádné aktualizace stabilního jádra.
-- Dan Williams
LogFs je projekt Jörna Engela s dlouhou historií, je to pokus vytvořit souborový systém pro současná úložná zařízení bez rotujících částí; naposledy se zde o něm hovořilo v květnu 2007. Od té doby se LogFS v podstatě ztratil z dohledu. Od 20. listopadu je nicméně LogFS zpátky a podle všeho připraven pro začlenění do hlavní řady. Jörn říká:
Minulý týden se na LWN zabývali používáním snímků v Btrfs, které by mohly správcům systémů umožnit obnovu po problematických aktualizacích. Btrfs nicméně není v jádře jediný mechanismus pro vytváření snímků [snapshot]; device mapper to již umí nějakou dobu. Co v DM chybí, je možnost obnovit „původní“ (hlavní) zařízení do předešlého stavu, pokud je to zapotřebí. S pomocí device mapper v současné podobě tedy nelze vzít zpět nešťastnou aktualizaci bez vypnutí systému a zkopírování dat.
Tato situace by se brzy mohla změnit, možná dokonce již v 2.6.33. Mike Snitzer zaslal patche pro cíl sloučení snímku DM. Tento cíl jednoduše sloučí snímek zpět na původní zařízení, čímž obnoví stav tohoto zařízení do doby, kdy byl snímek pořízen. Správce systému tedy může vytvořit snímek těsně před aktualizací a pak se vrátí do stavu před ní, pokud se věci nepovedou.
Jedna hezká vlastnost je, že sloučení snímku zachová stav všech ostatních snímků v systému. Náš správce systému si tedy může vytvořit další snímek po nepovedené aktualizaci před návratem do původního stavu. Tento snímek bude po aktualizaci existovat i nadále, což umožní ručně si vybrat změněné soubory, které by měly zůstat zachovány poté, co je systém jako celek vrácen do původního stavu.
Správce DM Alasdair Kergon řekl Jonathanu Corbetovi, že tento kód krátce revidoval a že si možná v blízké budoucnosti najde cestu do linux-next.
Sam Ravnborg, po dlouhou dobu správce jaderného subsystému pro překlad (kbuild), oznámil svůj úmysl se této funkce vzdát. Dělal jsem to čistě jako koníčka a rodina (3 děti atd.) + práce mě potřebují, takže dělat správce kbuild najednou nebyla zábava, ale povinnost. Není jasné, kdo ho nahradí. Samovi je vhodné poděkovat, protože po sobě zanechává systém pro překlad jádra v mnohem lepším stavu, než v jakém k němu přišel.
V době psaní tohoto článku se zdá, že 2.6.32 se zdá být připraveno k vydání někdy začátkem prosince. To znamená, že je čas podívat se na kód, který se do tohoto jádra dostal, a odkud přišel. Byl to další aktivní cyklus, ve kterém se do hlavní řady dostalo mnoho změn.
Konkrétně je v době psaní tohoto článku (krátce po vydání 2.6.32-rc8) 2.6.32 výsledkem 10 767 neslučovacích sad změn zaslaných 1 229 vývojáři. Tyto změny přidaly celkem 1,17 milionů řádek a odstranily 611 000 řádek, čistý přírůstek je tedy 559 000 řádek kódu. Podle zpráv o regresích od Rafaela Wysockiho tento vývojový cyklus do jádra zavedl celkem 86 regresí – o něco méně, než jsme viděli v 2.6.31. Od doby zaslání této zprávy se počet nevyřešených regresí rychle snižoval, bez řešeních jich je ještě 25.
Kdo tedy všechny tyto regrese řádky kódu přidal? Statistiky pro tento vývojový cyklus vypadají následovně:
Nejaktivnější vývojáři 2.6.32 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
|
Jak už se stalo tradicí, Greg Kroah-Hartman a Bartlomiej Zolnierkiewicz se objevují na prvních příčkách. Většina Gregovy práce má co do činění s pročišťováním ovladačů „hv“ od Microsoftu. Jeho rozpoložení během tohoto procesu lze nejlépe posoudit ze zpráv u commitů, které většinou vypadají jako tato:
Greg také ze stromu staging odstranil několik ovladačů, což jádro zmenšilo o více než 100 000 řádek.
Většina Bartlomiejovy práce je také ve stromu staging a většinou se týká opravování série nepříliš milovaných ovladačů pro bezdrátová síťová zařízení. Tyto patche jsou poněkud kontroverzní; vývojáři bezdrátového síťování by byli raději, aby se daná snaha věnovala jiné sadě ovladačů, které nebudou ve staging. Tyto ovladače ale ještě nejsou připraveny k nasazení, takže mezi tím lidé používají ovladače ve staging. Bezdrátové ovladače jsou také centrem práce Johannese Berga; na mnoha místech vylepšil subsystém mac80211 a konfigurační rozhraní cfg80211. Mark Brown dále přispívá velkým množstvím kódu podporujícího komponenty Wolfson Micro a Paul Mundt je stále aktivní jako správce Super-H.
Co se sloupečku „podle změněných řádek“ týče, Mauro Carvalho Chehab přispěl spoustou patchů jako správce Video4Linux2. Jing Huang přispěl SCSI ovladačem Brocade BFA FC a Forest Bond přidal do stromu staging bezdrátový ovladač VT6656.
Vývojáři pracující na 2.6.32 byli podporováni (přinejmenším) 196 zaměstnavateli. Nejaktivnějšími společnostmi tentokráte byly:
Nejaktivnější zaměstnavatelé 2.6.32 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
|
Oko pozorného čtenáře si okamžitě všimne faktu, že Red Hat spadl pod 10 % celkového počtu změn – poprvé od vývojového cyklu 2.6.21 z počátku roku 2007. Celkový počet změn od Red Hatu je nicméně v tomto cyklu jenom o málo menší než obvykle; stalo se to, že jiné firmy začaly náskok dohánět.
Je zde několik dalších zajímavých záznamů. Google je často kritizován za to, že nepřispívá ničím nazpátek, ale tato společnost je tentokrát zdrojem slušného množství kódu, který se dostane do 2.6.32. Velká část z toho byla podpora pro platformu telefonu HTC „Dream“ (též známo jako G1 či ADP1, vizte T-Mobile G1 s Google Android), ale Google také přispěl do kontrolních skupin, ext4, správy paměti, IPVS a libata. A někdo by možná nikdy nečekal, že se v seznamu největších přispěvatelů do jádra objeví Microsoft, ale ovladače hv jej do něj v 2.6.32 dostaly.
Počet podpisů se od předchozích cyklů nemění:
Počet neautorských podpisů v 2.6.32 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
|
Pokud něco, pak se správci subsystémů shlukují víc než kdy dříve. Plné 2/3 patchů přicházející do jádra prochází pod rukama vývojářům pracujících pro pouhé čtyři firmy.
Na Jaderném summitu 2009 se jeho účastníci shodli, že i když zlepšení jsou možná vždy, proces jako celek funguje dobře. Obraz, který si lze udělat z těchto čísel, naznačuje stejný závěr: Stroj vyvíjející linuxové jádro nadále absorbuje masivní množství změn od široké vývojové komunity, přičemž produkuje stabilní a více funkcemi vybavená jádra.
Úložné technologie RAID 4, 5 a 6 jsou navrženy tak, aby chránily proti selhání jednoho disku (RAID 6 chrání proti selhání dvou disků – pozn. překl.). Bloky dat jsou rozmístěny na poli a pro každý pruh [stripe] se na jednom z disků uloží jeden paritní blok. Pokud jeden z disků selže, ztracená data lze obnovit použitím zbývajících disků a paritních informací. Tento mechanismus si ale hůře poradí s pády systémů a výpadky napájení, což správce pole nutí vybírat si mezi rychlostí a spolehlivostí. Nový mechanismus nazvaný „žurnálem vedená resynchronizace“ může lidem zjednodušit život, ale jenom jestli se opravdu dostane do jádra.
Problém je v tom, že data a paritní bloky se musí aktualizovat atomicky; pokud se rozejdou, pole již nemá možnost obnovit ztracená data; dokonce je možné, že v takovém případě vrátí data chybná. Drahá pole používají záložní baterii, která zajišťuje, že aktualizace není přerušena v polovině, ale řešení pomocí softwarového RAIDu tuto možnost často nemají. Takže když systém spadne – nebo vypadne napájení – během aktualizace RAID svazku, svazek může být poškozen. To lidé od počítačů z nějakého důvodu většinou považují za Špatnou Věc.
Je několik způsobů, jak toto riziko omezit. Jedním je provést kompletní prohledání RAID svazku po pádu s tím, že se opraví všechny částečně aktualizované pruhy [stripes]. Problém je zde v tom, že (1) správná oprava nekonzistentního pruhu nemusí být vždy zjevná a (2) tento proces může trvat dlouho. Dost dlouho na to, aby uživatelé začali vzpomínat na dny rychlých a spolehlivých disket.
Alternativní přístup je zavést do RAID vrstvy nějaký typ žurnálování. Implementace RAID si může na úložišti odložit nějaké místo, kam bude zapisovat pruhy (pravděpodobně ne data, ale jenom čísla pruhů, které se používají) před změnou na skutečném poli. Tento přístup funguje a dokáže obnovit spadlé pole bez kompletního prohledávání, ale za určitou cenu: Žurnálování může významně zpomalit fungování pole. Zapisování do žurnálu musí být synchronní, jinak nelze spoléhat na to, že funguje, takže zapisování je najednou mnohem pomalejší, než bylo. Vzhledem k tomu není překvapení, že spousta správců RAID vypne žurnálování na úrovni RAID a tráví spoustu času doufáním, že se nic nepokazí.
Před několika lety Timothy E. Denehy, Andrea C. Arpaci-Dusseau a Remzi H. Arpaci-Dusseau publikovali pojednání, ve kterém popsali lepší způsob nazvaný „žurnálem řízená resynchronizace“. Současné souborové systémy žurnálují samy; proč nepoužít jejich žurnál tak, aby sledoval i RAID? Používat jeden žurnál musí být levnější než používat dva – obzvlášť když uvážíme, že kromě jiných věcí musí žurnál RAIDu sledovat i změny v žurnálu souborového systému. Jediný problém je v tom, že vrstvy RAID a souborového systému komunikují pomocí relativně úzkého API blokové vrstvy; používání žurnálování souborového systému ke sledování informací na úrovni RAID má potenciál vrstvy významně promíchat.
Implementace žurnálem řízené resynchronizace Jodyho McIntyra přidává do souborového systému ext3 nový režim „declared“. Když je zapisován žurnál, přidá se k němu nový „deklarační blok“, který přesně popisuje, které bloky se mají na úložném zařízení zapsat. Tyto bloky jsou poté zapsány s novým BIO příznakem, který říká, že souborový systém přebírá zodpovědnost za to, že pruh synchronizuje, pokud se něco pokazí; to umožňuje úložné vrstvě na tento problém zapomenout. Pokud systém spadne, souborový systém najde tyto deklarační bloky v žurnálu; poté může provést (novou) operaci BIO_SYNCRAID, kterou požádá úložný subsystém o resynchronizaci specifických pruhů, které obsahují vyjmenované bloky.
Výsledkem by mělo být to nejlepší z obou světů. Cena za přidání dalšího bloku do žurnálu souborového systému je mnohem menší než zajišťovat toto žurnálování ve vrstvě RAID; Jody tvrdí, že postih na výkonnosti je 3-5 % oproti 30 % mechanismu bitové mapy plánovaných zápisů [write-intent bitmap] v MD. Resynchronizace po pádu by nicméně měla být poměrně rychlá, protože bude stačit podívat se jenom na ty bloky v poli, které byly právě modifikovány. Jediný problém je, že to vyžaduje přidání specifické podpory do vrstvy souborového systému, takže každý souborový systém by bylo nutné modifikovat odděleně. Také je potřeba vyřešit, jak tuto techniku použít u souborových systémů, které pracují bez žurnálování (například Btrfs.)
Pak je zde ještě jeden malý problém. Na této funkci se pracovalo v Sunu jako na způsobu, jak vylepšit výkonnost se souborovým systémem Lustre. Jody ale poznamenává:
Tato série patchů je tedy nyní opuštěna. Zdá se, že by její funkcionalita mohla být uživatelům softwarového RAIDu užitečná, takže doufejme, že ji někdo převezme a bude na ní pracovat dál. Bez nového vývojáře budou správci softwarových RAIDů stále čelit nepříjemnému rozhodování.
Nástroje: Tisk bez diskuse
Tiskni
Sdílej: