Uroš Popović v krátkém článku vysvětluje, co jsou emulátor terminálu, TTY a shell a jaké jsou mezi nimi rozdíly. Jde o první díl seriálu na jeho novém webu Linux Field Guide věnovaném nízkoúrovňové práci s linuxovými systémy.
Byl vydán Debian 13.5, tj. pátá opravná verze Debianu 13 s kódovým názvem Trixie a Debian 12.14, tj. čtrnáctá opravná verze Debianu 12 s kódovým názvem Bookworm. Řešeny jsou především bezpečnostní problémy, ale také několik vážných chyb. Instalační média Debianu 13 a Debianu 12 lze samozřejmě nadále k instalaci používat. Po instalaci stačí systém aktualizovat.
CiviCRM (Wikipedie) bylo vydáno v nové verzi 6.14.0. Podrobnosti o nových funkcích a opravách najdete na release stránce. CiviCRM je robustní open-source CRM systém navržený speciálně pro neziskové organizace, spolky a občanské iniciativy. Projekt je napsán v jazyce PHP a licencován pod GNU Affero General Public License (AGPLv3). Český překlad má nyní 45 % přeložených řetězců a přibližuje se milníku 50 %. Potřebujeme vaši pomoc, abychom se dostali dál. Pokud máte chuť přispět překladem nebo korekturou, přidejte se na platformu Transifex.
Další lokální zranitelností Linuxu je ssh-keysign-pwn. Uživatel si může přečíst obsah souborů, ke kterým má právo ke čtení pouze root, například soubory s SSH klíči nebo /etc/shadow. V upstreamu již opraveno [oss-security mailing list].
Singularity (YouTube) je nejnovější otevřený film od Blender Studia. Jedná se o jejich první 4K HDR film.
Vyšla hra Život Není Krásný: Poslední Exekuce (Steam, ProtonDB). Kreslená point & click adventura ze staré školy plná černého humoru a nekorektního násilí. Vžijte se do role zpustlého exekutora Vladimíra Brehowského a projděte s ním jeho poslední pracovní den. Hra volně navazuje na sérii Život Není Krásný.
Společnost Red Hat představila Fedora Hummingbird, tj. linuxovou distribuci s nativním kontejnerovým designem určenou pro vývojáře využívající AI agenty.
Hru The Legend of Zelda: Twilight Princess od společnosti Nintendo si lze nově díky projektu Dusklight (původně Dusk) a reverznímu inženýrství zahrát i na počítačích a mobilních zařízeních. Vyžadována je kopie původní hry (textury, modely, hudba, zvukové efekty, …). Ukázka na YouTube. Projekt byl zahájen v srpnu 2020.
Byla vydána nová major verze 29.0 programovacího jazyka Erlang (Wikipedie) a související platformy OTP (Open Telecom Platform, Wikipedie). Detailní přehled novinek na GitHubu.
Po zranitelnostech Copy Fail a Dirty Frag přichází zranitelnost Fragnesia. Další lokální eskalace práv na Linuxu. Zatím v upstreamu neopravena. Přiřazeno ji bylo CVE-2026-46300.
11. črc - 22. črc
Michael S. Tsirkin napsal:
Dostal jsem za úkol obeznámit několik nových zaměstnanců se stylem psaní kódu v linuxovém jádře. Sice máme Documentation/CodingStyle, ale to vynechává podrobnosti, které mají být pochopeny díky studiu příkladů v samotných zdrojových kódech.
A protože jsem se díky tomu sám několikrát spálil, než jsem všechno pochytil, dal jsem dohromady krátký seznam pravidel doplňujících Documentation/CodingStyle.
Připojil odkaz na svůj seznam pravidel a několik lidí se ozvalo s více či méně podivnými návrhy na úpravy.
11. črc - 25. črc
Tom Zanussi řekl Andrew Mortonovi:
Mohl bys prosím začlenit relayfs? Umožňuje logování a bufferování s nízkou režií, které v současné době v jádru nejsou.
Kód relayfs byl v -mm více než tři měsíce po rozsáhlém testování, které proběhlo na LKML počátkem roku, kdy jsme adresovali všechny připomínky, které lidé měli. Od té doby bylo k původnímu kódu potřeba přidat je pár drobných patchů, většinu z nich poslali uživatelé. Těm, kdo si našli čas, aby poslali patche nebo upozornili na problémy, bychom rádi poděkovali.
Kód v -mm byl také nemilosrdně testován a nenarazili jsme na žádné problémy - vypadá velmi stabilně.
Také jsme se pokusili zařídit to tak, aby bylo pro lidi co nejsnazší vytvářet "rychlé a nepěkné" (nebo pořádnější) jaderné logovací aplikace. Připojuji odkaz na příklad, který ukazuje, jak to může být užitečné. V kostce: využívá logovací funkce relayfs ke sledování kmalloc/kfree a odhalování paměťových úniků. Jediná věc, kterou to dělá v jádře, je logování malého binárního záznamu pro kmalloc i kfree. Data jsou pak zpracována v uživatelském prostředí jednoduchým perlovým skriptem. Ukázku výstupu a samotný příklad najdete zde:
http://relayfs.sourceforge.net/examples.html#kleak
V neposlední řadě je kód také malý (40k zdrojáků), "soběstačný" [self-contained] a neobtěžuje zbytek jádra.
Abych to shrnul: relayfs je velmi stabilní, užitečný svým současným uživatelům a po začlenění bude užitečný mnoha dalším. Napadá-li tě něco, co jsme přehlédli, nebo na čem bychom měli pracovat, aby se relayfs dostal do podoby vhodné k začlenění, dej nám prosím vědět.
Andrew řekl, že proti tomu nic nemá, ale zeptal se: Měli byste čas sestavit seznam existujících a plánovaných aplikací? Dave Airlie odpověděl:
Mám v plánu to použít pro něco, o čem zatím nikdo neví.
Chystal jsem se to využít pro debuggovací logovač DRM paketů... Když chci zkusit vystopovat zamrzání systému, printk moc nepomůže, protože to systém natolik zpomalí, že se problémy přestanou vyskytovat. Už jsem k tomu napsal nějaký základní kód a doufám, že budu moci využít trochu pracovního času, abych to dokončil.
Baruch Even také napsal: Používám relayfs při vývoji k logování aktuálních parametrů TCP stacku [haldy] a časovacích informací. Rád bych, aby byl relayfs začleněn. A Tom dodal:
Vím, že systemtap (http://sourceware.org/systemtap/) používá relayfs a LTT (http://www.opersys.com/ltt/ index.html) je právě přepracováváno tak, aby jej využívalo.
Já sám bych si chtěl začít hrát s vytvářením nějakého vizualizačního
nástroje využívajícího data získaná z relayfs. Doufám, že na to budu mít
více času, bude-li relayfs začleněn
.
Na jiném místě poznamenal Christoph Hellwig, že kód vypadá velmi dobře. A poblíž řekl Andrew, že je nakloněn začlenění i bez velkého počtu uživatelů, protože relayfs je podle mě spíše pro aplikace "v jádře" než pro uživatelské prostředí.
21. črc - 28. črc
Lukasz Kosewski napsal:
Tato série patchů přidá do libata rámec pro umožnění přidávání a odebírání disků za chodu [hot-swapping].
Jsou to tři patche:
01-promise_sataII150_support
02-libata_hotswap_infrastructure
03-promise_hotswap_support
Budu rád za vaše připomínky a příspěvky k designu. Pokud někdo vidíte problémy se souběžností, navrhněte opravy.
Zatím jsem patche HODNĚ testoval s jádrem 2.6.11.12 + 2.6.11-libata-dev1.patch. S tímto jádrem jsem nepřišel na žádné závažné problémy. Všechno testování probíhalo s řadiči Promise SATA150 a SATAII150 Tx4/Tx2 Plus a velkým množstvím různých Western Digital a Seagate disků.
Patche jsem portoval na 2.6.13-rc3 a 2.6.13-rc3-mm1, na kterém jsem je také testoval. Fungovaly stejně jako ty oproti 2.6.11, až na chyby v SCSI vrstvě.
Patche, které připojím, budou aplikovatelné na 2.6.13-rc3-mm1, protože předpokládám, že než se lidi dostanou k tomu, aby se jimi vážně zabývali, budou už stávající libata patche z toho stromu v hlavním jádře. Pokud to není správný způsob, řekněte mi prosím, oproti které verzi jádra bych měl patche připravit.
Jeff Garzik odpověděl: Dost dobrý! Jakmile dokončím SATA ATAPI (tento týden), podívám se na to. Rychlý pohled na patche však neodhalil nic hrozivě špatného :). Navrhl poslat kopii mailu i do konference linux-ide k další diskuzi a Lukasz patche do této konference přeposlal. Mezitím se Doug Maxey nabídl, že pomůže s testováním, za což byl Lukasz velmi vděčný.
25. črc - 27. črc
Gene Heskett hlásil: Právě jsem zkompiloval jádro, o kterém jsem si myslel, že to je 2.6.12.3, ale můj skript se roznemohl, protože jsem nezkontroloval EXTRA_VERSION v Makefile, která byla nastavena .2 patchem u verze .2. Teď budu muset své 2.6.12 moduly překompilovat :(. Tak jaké je správné pořadí pro kompilaci 2.6.12.3? Brian Gerst odpověděl: Tyhle verze nejsou inkrementální. Každá se aplikuje na základní 2.6.12 strom. Kurt Wall řekl: Tohle se mi také před časem stalo. Pošlu patch, který na to v hlavním README upozorní. Steven Rostedt doplnil:
Někdo by měl také opravit stránku kernel.org, protože na ní není odkaz na plné jádro 2.6.12. A vzhledem k tomu, že hodně patchů na té stránce je přímo proti 2.6.12 a ne 2.6.12.3, bylo by fajn mít možnost získat z hlavní strany i tuhle verzi.
Pokud chci inkrementálně zkompilovat 2.6.13-rc3-mm1, potřeboval bych stáhnout balík s 2.6.12, potom patch 2.6.13-rc3 a nakonec je všechny v tom pořadí aplikovat? Jestli ano, tak mohu získat všechny kroky kromě prvního a základního. Jo, mohl bych také stáhnout plnou verzi kteréhokoliv z těch novějších, ale stejně mi připadá, že by dávalo smysl na hlavní stránce ten počáteční bod ponechat.
Valdis Kletnieks připojil: A ještě další dobrý důvod je, že až vyjde 2.6.13, bude vydán patch oproti 2.6.12, ne 2.6.12.N. Což znamená, že byste museli stáhnout balík 2.6.12.N a patch 2.6.12.N a pak provést patch -R a *potom* aplikovat patch 2.6.13.
V originálu Kernel Traffic 321 vyšla navíc ještě tato témata:
Tento článek vychází ze seriálu Kernel Traffic (www.kerneltraffic.org) a je zveřejněn pod licencí GPL verze 2.
Nástroje: Tisk bez diskuse
Tiskni
Sdílej:
4. Indentation rules for C Use tabs, not spaces, for indentation. Tabs are 8 characters wide.
Tabs are 8 characters, and thus indentations are also 8 characters. There are heretic movements that try to make indentations 4 (or even 2!) characters deep, and that is akin to trying to define the value of PI to be 3. Rationale: The whole idea behind indentation is to clearly define where a block of control starts and ends. Especially when you've been looking at your screen for 20 straight hours, you'll find it a lot easier to see how the indentation works if you have large indentations. Now, some people will claim that having 8-character indentations makes the code move too far to the right, and makes it hard to read on a 80-character terminal screen. The answer to that is that if you need more than 3 levels of indentation, you're screwed anyway, and should fix your program. In short, 8-char indents make things easier to read, and have the added benefit of warning you when you're nesting your functions too deep. Heed that warning.