Společnost IBM představila server IBM LinuxONE Emperor 5 poháněný procesorem IBM Telum II.
Byla vydána verze 4.0 multiplatformního integrovaného vývojového prostředí (IDE) pro rychlý vývoj aplikaci (RAD) ve Free Pascalu Lazarus (Wikipedie). Přehled novinek v poznámkách k vydání. Využíván je Free Pascal Compiler (FPC) 3.2.2.
Podpora Windows 10 končí 14. října 2025. Připravovaná kampaň Konec desítek (End of 10) může uživatelům pomoci s přechodem na Linux.
Již tuto středu proběhne 50. Virtuální Bastlírna, tedy dle římského číslování L. Bude L značit velikost, tedy více diskutujících než obvykle, či délku, neboť díky svátku lze diskutovat dlouho do noci? Bude i příští Virtuální Bastlírna virtuální nebo reálná? Nejen to se dozvíte, když dorazíte na diskuzní večer o elektronice, softwaru, ale technice obecně, který si můžete představit jako virtuální posezení u piva spojené s učenou
… více »Český statistický úřad rozšiřuje Statistický geoportál o Datový portál GIS s otevřenými geografickými daty. Ten umožňuje stahování datových sad podle potřeb uživatelů i jejich prohlížení v mapě a přináší nové možnosti v oblasti analýzy a využití statistických dat.
Kevin Lin zkouší využívat chytré brýle Mentra při hraní na piano. Vytváří aplikaci AugmentedChords, pomocí které si do brýlí posílá notový zápis (YouTube). Uvnitř brýlí běží AugmentOS (GitHub), tj. open source operační systém pro chytré brýle.
Jarní konference EurOpen.cz 2025 proběhne 26. až 28. května v Brandýse nad Labem. Věnována je programovacím jazykům, vývoji softwaru a programovacím technikám.
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.
Současné vývojové jádro je 2.6.36-rc3, které bylo vydáno 29. srpna. Nevzpomínám si na nic zajímavého. Jako obvykle se jedná hlavně o aktualizace ovladačů (65 %), z čehož největší kus (podle počtu řádek) je odstranění staging ovladače, který není připraven k nasazení a nezlepšoval se. Na frontě ‚tohle možná vyvolá vyvolá nějaké nadšení‘ jsou také nějaké aktualizace drm radeon/nouveau. Všechny detaily vizte v kompletním changelogu.
Stabilní aktualizace: Jádra 2.6.27.53, 2.6.32.21, 2.6.34.6 a 2.6.35.4 vyšla 27. srpna. Jako vždy obsahují opravy v celém stromě. Údržba 2.6.34 touto aktualizací končí.
napsal Jonathan Corbet, 27. srpna 2010
Verzím hlavní řady jádra je věnováno mnoho pozornosti, ale jenom relativně málo uživatelů tato jádra používá. Místo toho mají jádra, která jim poskytli jejich distributoři, a ta jsou zase odvozena od stabilních jader. Praxe vydávání stabilních jader už je tu dobře přes pět let, takže je možná čas se podívat, jak funguje.
V březnu 2005, když komunita diskutovala způsoby, jak dostat důležité opravy uživatelům jader z hlavní řady, mluvilo se o samostatném stromě, který by obsahoval jenom opravy; Linus si tenkrát myslel, že něco takového je odsouzeno k nezdaru:
Po tak povzbuzujících slovech bylo jasné, že se někdo odhodlá a té práce se ujme; tím někým byli Greg Kroah-Hartman a Chris Wright. 4. března 2005 vydali 2.6.11 s celými třemi opravami. O více než pět let později na tom Greg (též známý jako „Og“) stále pracuje (Chris není, co se týče stabilních aktualizací, již nějakou dobu aktivní). Za tu dobu vypadá historie stabilních jader takto:
Jádro | Aktualizací | Změn | |
---|---|---|---|
Celkem | Na verzi | ||
2.6.11 | 12 | 79 | 7 |
2.6.12 | 6 | 53 | 9 |
2.6.13 | 5 | 44 | 9 |
2.6.14 | 7 | 96 | 14 |
2.6.15 | 7 | 110 | 16 |
2.6.16 | 62 | 1053 | 17 |
2.6.17 | 14 | 191 | 14 |
2.6.18 | 8 | 240 | 30 |
2.6.19 | 7 | 189 | 27 |
2.6.20 | 21 | 447 | 21 |
2.6.21 | 7 | 162 | 23 |
2.6.22 | 19 | 379 | 20 |
2.6.23 | 16 | 302 | 19 |
2.6.24 | 7 | 246 | 35 |
2.6.25 | 20 | 492 | 25 |
2.6.26 | 8 | 321 | 40 |
2.6.27 | 53 | 1553 | 29 |
2.6.28 | 10 | 613 | 61 |
2.6.29 | 6 | 383 | 64 |
2.6.30 | 10 | 419 | 42 |
2.6.31 | 14 | 826 | 59 |
2.6.32 | 21 | 1793 | 85 |
2.6.33 | 7 | 883 | 126 |
2.6.34 | 5 | 599 | 120 |
2.6.35 | 4 | 228 | 57 |
V tabulce výše jsou tučně zvýrazněna jádra, která jsou stále podporována v době psaní tohoto článku (i když 2.6.27 se zjevně blíží ke konečné).
Na první pohled můžeme vyvodit několik závěrů. První je, že počet oprav, které se dostanou do stabilních aktualizací, se postupem času rozhodně zvýšil. Z toho by se dal učinit závěr, že jádra jsou čím dál tím víc zachybovaná. To se těžko měří, ale je také potřeba mít na paměti, že je tu další důležitý faktor: Jaderní vývojáři jednoduše směřují do stabilního stromu více oprav. Mnohem více vývojářů se dívá na patche a má přitom na paměti aktualizaci stabilních jader, takže jsou vcelku běžné návrhy na to, že daný patch by měl být zaslán i tímto směrem. Oproti době před několika lety se ztratí o mnoho méně patchů.
Ještě jeden faktor zde hraje roli: Původní definice toho, co je vhodné pro stabilní strom, byla velmi restriktivní; jestliže chyba jasně nezpůsobovala oops nebo bezpečnostní zranitelnost, do stabilního stromu se nedostala. Nyní ale máme aktualizaci 2.6.35.4 a v ní je mnohem širší spektrum „oprav“ včetně podpory pro laptop Acer rv620, opravy překlepů, zlepšení sledovacích bodů, aby powertop fungoval lépe, úpravu příliš optimistického čekání mutexu v cyklu, nový parametr pro ovladač emu10k1 a podporu oprofile pro nový procesor od Intelu. Tato zlepšení jsou určitě něčím, co si uživatelé stabilních jader přejí, ale rozhodně jdou mimo původní rámec.
Autor článku si také za poslední dobu povšiml, že si do stabilních aktualizací našly cestu regrese; vzhledem k objemu patchů, které tam míří, není občasná regrese žádné překvapení. Nicméně možnost, že se jich ve stabilních jádrech objeví více, trochu nahání hrůzu, takže doufejme, že se problém nezhorší.
Další fakt, který stojí za povšimnutí, je, že počet stabilních aktualizací pro většinu jader pomalu klesá; pět aktualizací za celou historii 2.6.34 je nejmenší počet vůbec, odpovídá to počtu aktualizací 2.6.13. A to navíc 2.6.34 dostalo kvůli bezpečnostním chybám o jednu aktualizaci více, než bylo plánováno. Je vcelku zjevné, že práce s takovým tokem patchů na čtyřech jádrech zároveň je náročná; Greg toho má na bedrech víc, takže mu možná dochází čas.
Kdo přispívá patchi do stabilních jader? Autor článku se rozhodl, že se trochu povrtá v datech; zvolil dvě jádra: 2.6.32, které se udržuje déle, protože ho používají „enterprise“ distribuce, a 2.6.34, protože je to nejnovější jádro, které již není dále udržováno. Zde jsou největší přispěvatelé pro obě:
Nejaktivnější přispěvatelé do stabilních jader | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
|
Několik jmen na seznamu vypadá povědomě. Linus se již nikdy neobjevuje mezi největšími přispěvateli do hlavní řady, ale oprav pro stabilní jádra vytváří poměrně hodně. Další jména se v kontextu jádra vyskytují méně: Daniel Chen je například přispěvatel z komunity Ubuntu; jeho příspěvky se nejčastěji týkají toho, aby audiozařízení opravdu fungovala. Někteří lidé jsou ve výše uvedeném seznamu, protože zavedli chyby, které svými patchi opravují – být v této roli není tak velká pocta. Autor přiznává, že zde nedělal žádnou rigorózní studii, ale předpokládá, že lidé zmínění výše z větší části opravují chyby, které zavedl někdo jiný. Dělají tak důležitou a nedostatečně oceňovanou službu tím, že vylepšují vydané verze hlavní řady, aby vznikla jádra, která chce zbytek světa používat.
Také se můžeme podívat na to, kdo tuto práci podporuje:
Nejaktivnější přispěvatelé podle zaměstnavatele | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
|
Tato čísla poměrně dobře odpovídají příspěvkům do hlavní řady, obzvláště na prvních příčkách. O opravování chyb se říká, že to je práce, která slávu nepřináší, ale dobrovolníci vedou žebříček i tak.
Prvních deset vydání 2.6.x stabilní strom nemělo, což je nyní těžké si představit. V ideálním světě by se jádro hlavní řady vydalo až poté, co v něm nezbývají žádné chyby. Historie vývojových cyklů (mimo jiné) 2.3 a 2.5 nicméně ukazuje, že tento přístup ve skutečném světě nefunguje – přijde bod, ve kterém komunita musí vytvořit stabilní verzi a začít další cyklus. Stabilní strom to umožňuje, aniž by se tím ukončil přítok oprav do vydaného jádra.
Tabulky výše ukazují, že proces práce se stabilními jádry funguje dobře; směřuje do nich mnoho oprav a spolupracuje na tom celá komunita. Může však přijít okamžik, kdy bude komunita muset revidovat standardy pro patche, které jdou do stabilních aktualizací. V určitém okamžiku se také možná ukáže, že práce se správou těchto jader je příliš rozsáhlá na to, aby ji mohl dělat jenom jeden člověk. Nyní ale stabilní stromy zjevně dělají to, co mají; Greg zasluhuje velké uznání za to, že všechno klape tak dlouho a tak dobře.
napsal Jake Edge, 1. září 2010
Možnost vytvořit sjednocení dvou (nebo více) souborových systémů je vlastnost Linuxu, která je často požadována a která se nikdy do hlavní řady nedostala. Byly vyzkoušeny různé implementace (vizte pohled Valerie Aurory z roku 2009, 1. část, 2. část), ale žádná nepřekročila bariéru. V poslední době učinila pokrok sjednocená připojení [union mounts], ale stále je tam na čem pracovat. Miklos Szeredi nedávno zaslal sadu RFC patchů, které implementují hybridní přístup, jenž zahrnuje techniky na úrovni souborového systému i VFS.
Myšlenka za sjednocujícími souborovými systémy je poměrně jednoduchá, ale háček se schovává v detailech. Ve sjednocení je souborový systém připojen „nad“ jiným s tím, že obsah obou se projevuje jako jediný zkombinovaný souborový systém. Změny provedené v tomto souborovém systému se objevují v „horním“ souborovém systému a se „spodním“ se pracuje v režimu pouze pro čtení. Jedno běžné nasazení je souborový systém na médiu pouze pro čtení (např. CD), který nicméně uživatelům umožňuje zápis do horního souborového systému uloženého na zapisovatelném médiu (disk, flash).
Je tu ale spousta detailů, které vývojáře sjednocujících souborových systémů sužují, mezi ně patří práce se jmennými prostory, se smazanými soubory a adresáři, POSIXová definice readdir() a tak dál. Žádný není nepřekonatelný, ale jsou problematické a je ještě těžší je implementovat tak, aby se nenarazilo na technické stížnosti správců VFS.
Miklosův přístup spojuje implementace založené na souborových systémech, jako je unionfs a aufs, s implementacemi založenými na VFS. Pro soubory je open() předáno tomu souborovému systému, který soubor obsahuje, zatímco s adresáři se pracuje na úrovni vrstvy sjednoceného souborového systému. První verze dokumentace od Neila Browna práci souborů a adresářů nerozlišovala, ale Miklos to prohlásil za chybu. Přístup k adresářům se nikdy ostatním souborovým systémům nepředává a adresáře musí z různých důvodů přijít ze samotných sjednocených připojení.
Jak naznačil Neil ve svém dokumentu, většina akcí ve sjednocení se týká adresářů. Zde je přesnější říci, že se jedná spíše o sjednocení adresářových stromů než souborových systémů, protože není potřeba, aby stromy sídlily na různých souborových systémech. Teoreticky by nižší strom mohl být také sjednocení, ale současná implementace to nepřipouští.
Souborový systém používaný v horním stromě podporuje „důvěryhodné“ rozšířené atributy (xattrs) a také musí poskytovat platný d_type (typ souboru) v odpovědích readdir(), což vyřazuje NFS. Vybělení – tj. soubory, které existují ve spodním souborovém systému, ale z horního byly odstraněny – se řeší pomocí atributu „trusted.union.whiteout“. Podobně jsou řešeny neprůhledné adresáře, které neumožňují zobrazit obsah adresáře ve spodním stromě, používají atribut „trusted.union.opaque“.
Záznamy v adresářích se slučují podle poměrně jednoduchých pravidel: Jestliže je ve spodní i horní vrstvě záznam stejného jména, horní má vždy přednost, pokud oba nejsou adresáře. V takovém případě se vytvoří adresář ve sjednoceném připojení, který spojí záznamy z obou. Při vytvoření sjednoceného připojení se vytvoří spojený adresář z kořenů horního a spodního adresářového stromu; následující vyhledávání dodržují stanovená pravidla a vytvářejí spojené adresáře, které se podle potřeby cachují v dentry sjednocení.
Zápis do spodní vrstvy je řešen pomocí tradičního přístupu „kopírování výše“ [copy up]. Otevření souboru nebo změna jeho metadat tedy zkopíruje soubor do horního stromu. To může znamenat vytváření adresářů, pokud soubor leží na nižších úrovních adresářového stromu. Když je to hotovo, hybridní sjednocující souborový systém se souborem dál nepracuje, přinejmenším ne přímo, protože operace se předávají hornímu souborovému systému.
Sada patchů je relativně malá a dělá jenom málo změn ve VFS – kromě změny struct inode_operations, která má dopady v celém stromě souborových systémů. V současnosti prvek permissions() této struktury očekává parametr typu struct inode* – hybridní sjednocující souborový systém ale potřebuje mít přístup k datům specifickým pro souborový systém (d_fsdata), která jsou uložena v dentry, takže se parametr mění na struct dentry*. David P. Quigley tuto změnu zpochybnil s tím, že unionfs ani aufs ji nepotřebovaly. Valerie Aurora upozornila, že sjednocená připojení by potřebovala něco podobného, což společně s Neilovou dokumentací záležitost vyřešilo.
Zbytek patchů jsou víceméně malé změny. První přidává nový prvek do struktury struct file_operations, který je nazván open_other() a používá se k předávání volání open() do horní nebo spodní vrstvy podle potřeby. Další umožňuje souborovým systémům nastavit příznak FS_RENAME_SELF_ALLOW, takže rename() stále přejmenování vyřeší na interních nepravých [dummy] inodech, které souborový systém používá pro objekty, jež nejsou adresáře. Zbytek kódu (po odečtení změny permissions()) je sám nový souborový systém fs/union.
I když je pro tyto souborové systémy (nebo připojení) obvykle používán název „sjednocení“ [union], Neil poznamenal, že to není přesné, a navrhl, aby se místo toho použil „překryv“ [overlay]. Miklos nebyl proti s tím, že „overlayfs“ by dávalo větší smysl. Valerie s tím víceméně souhlasila a dodala, že sjednocená připojení byla v jedné verzi nazývána „zapisovatelné překryvy“ [writable overlays]. Zmatek plynoucí z mnoha použití „sjednocení“ v existujících patchích (lze splést s unionfs, sjednocenými připojeními), mohou být dalším důvodem k přejmenování.
Sémantika readdir() je pro hybridní sjednocení také trochu jiná. Změny sjednocených adresářů, když jsou tyto adresáře čteny, se neprojeví ve vrácených záznamech a pozice [offset] vrácené funkcí telldir() nemusí být ve sloučeném adresáři stejné při dalším volání. Seznam záznamů ve sloučeném adresáři se vytváří a cachuje při prvním volání readdir() a pozice jsou přiřazeny sekvenčně, jak jsou záznamy čteny. Z větší části není pravděpodobné, že by si toho mnoho aplikací všimlo, jak říká Neilova dokumentace.
Větší záležitost se týká toho, s čím bojují všechny implementace sjednocení: Jak řešit změny v nějaké vrstvě, které proběhly mimo kontext sjednocení. Jestliže uživatel nebo správce přímo změní souborové systémy, které jsou součástí spojení, objevuje se mnoho ošklivých okrajových případů. Vynutit, aby byl nižší souborový systém pouze pro čtení, je atraktivní řešení, ale není jednoduché to vynutit obzvláště pro souborové systémy jako NFS.
Mikklos by rád problémy odstranil definicí nebo našel nějaký způsob, jak vynutit požadavky, které sjednocení má:
O tomto problému se trochu diskutovalo a nedošlo se k žádným závěrům kromě toho, že je potřeba, aby změna mimo sjednocený souborový systém nezpůsobila souběh [deadlock] nebo zpanikaření jádra.
V některých ohledech hybridní sjednocení vypadá jako jednodušší přístup než sjednocená připojení. Jestli ale dokáží vyhovět Al Virovi a dalším správcům souborových systémů, to se ještě uvidí. Tak nebo tak to ale vypadá, že řešení chybějícího sjednocujícího/překrývajícího souborového systému v hlavní řadě se blíží.
Nástroje: Tisk bez diskuse
Tiskni
Sdílej:
Stabilní aktualizace: Jádra … 2.6.34.6 … vyšla 27. srpna. … Údržba 2.6.34 touto aktualizací končí.
Asi ne tak úplně:
mike@lion:~> uname -r 2.6.34.7-0.2-desktop