Blíží se prázdniny a než se rozutečete k moři, je na čase se opět sejít na Virtuální Bastlírně - pravidelném setkání elektroniků, ajťáků, bastlířů a obecně nadšenců do techniky. Co si pro vás strahovští bastlíři připravili tentokrát? Určitě proberou blížící se Linux Days i další události. U softwaru se chvíli zdrží a poví si kupříkladu o tom, jak se zbavit Bambu Cloudu, ale nepřijít o možnost ovládat tiskárnu na dálku. Řeč dojde i na AI,
… více »Vývojáři postmarketOS vydali verzi 26.06 tohoto 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, KDE Plasma Mobile, Phosh a Sxmo.
Byla vydána nová verze 2.55.0 distribuovaného systému správy verzí Git. Přispělo 100 vývojářů, z toho 33 nových. Přehled novinek v příspěvku na blogu GitHubu a v poznámkách k vydání.
Craig Loewen na blogu Microsoftu oznámil veřejnou preview verzi WSL kontejnerů, tj. linuxových kontejnerů ve Windows Subsystem for Linux (WSL). Spouští se příkazem wslc.exe.
Byla vydána (𝕏, Bluesky) nová verze 2026.2 linuxové distribuce navržené pro digitální forenzní analýzu a penetrační testování Kali Linux (Wikipedie). Přehled novinek se seznamem 9 nových nástrojů v oficiálním oznámení na blogu.
Grafická aplikace Krokiet/Czkawka pro vyhledávání a odstraňovaní nepotřebných souborů (duplicitní soubory, prázdné složky, podobné obrázky, podobná videa, poškozené soubory a další) byla vydána ve verzi 12.0.0. Podrobný přehled novinek v příspěvku na Medium. Jedná se o poslední verzi frontendu Czkawka GTK nad Czkawka Core. Uživatelům se doporučuje migrovat na frontend Krokiet postavený nad frameworkem Slint. Představena byla aplikace Cedinia pro Android využívající Czkawka Core. Dostupná je jako APK pro ruční instalaci.
Po téměř třech letech od vydání verze 9 byla vydána nová verze 10 linuxové distribuce Mageia (Wikipedie). Přehled novinek v poznámkách k vydání.
Nourish (GitHub) je nový správce oken pro Linux. Tradiční plochy nahrazuje nekonečným plátnem a posouváním a přibližováním. Využívá vlastní kompozitor pro Wayland s názvem y5. Videoukázka.
Po 20 letech a 17 otevřených (open source) krátkých filmech Blender Studio oznámilo plán na svůj první celovečerní film. Cílem samozřejmě není jenom nový otevřený film, ale především vývoj a vylepšení otevřených nástrojů pro spolupráci napříč celým procesem a vytvoření otevřené příručky (playbook) pro filmovou produkci ve velkém měřítku s informacemi, které jsou obvykle dostupné pouze uvnitř komerčních studií, a pomoci tak nezávislým tvůrcům překonat technické a organizační bariéry.
Byla vydána nová verze 26.6.25 svobodného multiplatformního video editoru Shotcut (Wikipedie) postaveného nad multimediálním frameworkem MLT. Shotcut je vedle zdrojových kódů k dispozici také ve formátech AppImage, Flatpak a Snap.
Aktuální vývojová verze jádra je 3.11-rc7 vydaná 25. srpna s neobvyklým oznámením: Dělám na (svobodném) operačním systému (jen jako koníček, i když je velký a profesionální) pro klony 486+ AT a snad i všechno ostatní, co na světě existuje. Dělám na tom už od dubna 1991 a ještě to není hotové. Budu vděčný za jakoukoliv zpětnou vazbu ohledně toho, co se lidem na Linuxu 3.11-rc7 nelíbí. Samozřejmě jde o oslavu 22. výročí od původního mailu, kde Linus představoval Linux.
Stabilní aktualizace: za uplynulý týden žádné nevyšly. V době psaní tohoto textu se aktualizace 3.10.10, 3.4.60 a 3.0.94 revidují; jejich vydání lze očekávat 29. srpna nebo později.
Někdy je těžké si uvědomit, že „tento kus kódu je naprostá *pííp*“ ve skutečnosti znamená "řekl bych, že obecný návrh ujde, ale musíš se zamyslet nad tímto kouskem kódu, a pak to snad bude dobré."
Na druhou stranu by na tohle měl člověk po vysoké škole být zvyklý.
Historie ukázala, že ignorování managementu výrobců hardwaru vždy vedlo k lepším ovladačům. Neříkám, že někteří výrobci nemají kompetentní inženýry (mnoho ano, mnoho ne), ale jakmile je do rozhodování okolo ovladačů zapojen management, všechna naděje je ztracena.
Před několika týdny jsme psali o začlenění patche přidávajícího systémové volání flink(), které by programu umožnilo přidat odkaz na soubor na základě otevřeného popisovače. Přidání této funkce bylo dlouho blokováno kvůli obavám z bezpečnostních problémů; tentokrát to prošlo díky argumentu, že jádro už tuto funkčnost nabízí přes volání linkat(). Zdálo se, že tuto funkci v Linuxu 3.11 uvidíme.
Ne všichni ale byli spokojení; Brad Spengler upozornil na problém, kdy procesy mohou vytvářet odkazy na popisovače předané z více privilegované domény. Proto Andy Lutomirski, autor původního patche, zaslal úpravu omezující funkčnost na soubory vytvořené s vobou O_TMPFILE. Jediný problém byl v tom, že se patch nikomu moc nelíbil; Linus to dal jednoznačně najevo.
Následovala dlouhá diskuze (plná patchů) o tom, jak problém lépe vyřešit. Jediná věc byla jasná, a to, že není jasné, jaké řešení je to nejlepší. Proto 28. srpna Linus patch revertoval se slovy Je jasné, že diskuze ještě neskončila a patche, co se tu objevují, nejsou pro 3.11 vhodné. Proto bude funkčnost flink() muset počkat minimálně do 3.12.
Lehkotonážní virtualizace za použití kontejnerů je nástroj, který se konečně dostal na Linux, i když jsou tu ještě určité drobnosti, které scházejí. Kontejnery jsou vytvářeny pomocí dvou oddělených jaderných funkcí: řídících skupin (cgroups) a jmenných prostorů. Cgroups se aktuálně předělávají a možná ještě bude nutné přidat další jmenné prostory k těm, co jsou nyní k dispozici. Například není žádný způsob, jak oddělit většinu zařízení do vlastního jmenného prostoru. To je mezera, kterou by Oren Laadan rád zaplnil, takže nedávno rozeslal RFC ke jmenným prostorům zařízení.
Jmenné prostory rozdělují globální systémové prostředky tak, že různé skupiny procesů mají různý náhled na tyto prostředky. Například jmenné prostory mountů rozdělují připojené systémy souborů na různé pohledy s tím důsledkem, že procesy v jednom jmenném prostoru nemohou vidět nebo zacházet se systémy souborů připojenými v jiném. Obdobně jmenné prostory PID dávají každému jmennému prostoru vlastní rozsah čísel procesů (PID). Některá zařízení mají vlastní jmenný prostor nebo podobnou funkčnost: jmenné prostory pro síťová zařízení a pseudo systém soubprů devpts pro pseudoterminály (neboli pty). Ale není žádný způsob, jak rozčlenit všechna zařízení v systému, což mají za úkol právě jmenné prostory zařízení.
Cílem této funkčnosti je mít vícero virtuálních telefonů na jednom fyzickém telefonu. Člověk by například mohl mít dva kompletní androidí systémy na telefonu, jeden pro práci a druhý pro soukromé použití. Každý ze systémů by běžel ve vlastním kontejneru a vzájemně by byly izolované. Izolace by umožnila řídit aplikace a bezpečnost ve „firemní polovině“ telefonu, zatímco uživatel by si mohl udržovat osobní data bokem. Přehled, jak by to vypadalo, můžete vidět na videu. Většinu tohoto rozdělení je možné udělat už dnes, ale něco ještě chybí: virtualizace zařízení (např. framebufferu, dotykové obrazovky nebo tlačítek).
Návrh přidává koncept „aktivního“ jmenného prostoru zařízení, kterým by byl ten, se kterým uživatel právě pracuje. Výhodou je, že uživatel by mohl mezi identitami na telefonu přepínat stejně jednoduše jako mezi aplikacemi. Každá identita by měla přístup ke všem schopnostem telefonu v době, kdy jde o aktivní jmenný prostor, jakmile je ale neaktivní (nebo na pozadí), tak by přístup neměla.
Jmenný prostor se dělá obvyklým způsobem, a to pomocí clone(), setns() nebo unshare(). Jedním překvapením je to, že pro jmenné prostory zařízení nepřibyl nový příznak CLONE_* a příznak CLONE_NEWPID je přetěžován. Tento komentář v kódu vysvětluje důvod:
/* * Couple device namespace semantics with pid-namespace. * It's convenient, and we ran out of clone flags anyway. */
Ačkoliv spojení jmenných prostorů pro PID a zařízení může fungovat, vypadá to, že by se nějaké řešení pro příznaky clone hodilo. Jakmile je proces umístěn do jmenného prostoru zařízení, jakýkoliv open() zařízení, které podporuje jmenné prostory, povede k omezení tohoto zařízení na daný jmenný prostor.
Na určité úrovni je přidávání jmenných prostorů zařízení jen otázkou virtualizování major/minor čísel zařízení, aby každý jmenný prostor měl vlastní čísla. Čísla major/minor v jmenném prostoru odpovídají ovladači načtenému pro daný jmenný prostor. Ovladače, které mohou být dostupné vícero jmenným prostorům, budou muset být upraveny tak, aby jmenné prostory přímo podporovaly. U některých ovladačů, například těch, co nemají žádný skutečný stav (např. u Androidu subsystém LED nebo subsystém podsvětlení/LCD), by změny byly minimální – vlastně jen takový test. Pokud je jmenný prostor obsahující zařízení aktivní, tak pokračuj, jinak požadované změny ignoruj.
Zařízení jsou ale někdy stavová. Není jen tak možné přepnout v půlce posílání dat framebufferu (nebo proudy smíchat) a očekávat, že obsah obrazovky bude v pořádku. Proto ovladače a subsystémy budou muset podporovat přepínání. Například framebuffer by měl na obrazovce ukazovat jen změny od aktivního jmenného prostoru, ale ukládat si změny od jmenného prostoru na pozadí, aby po přepnutí tyto změny byly zobrazeny.
Laadan a jeho kolegové z Cellroxu vytvořili sadu patchů pro jádro na emulátoru Androidu (goldfish). Je tam také dosti podrobný popis patchů a změn udělaných u stavových i bezstavových zařízení. Vytvořili také demo pro Android, kde se přepíná mezi běžícím telefonem a aplikací, která ukazuje měnící se barvy.
Moc komentářů se na toto téma zatím nevyrojilo. Na jednu stranu dává smysl moci virtualizovat všechna zařízení v systému, na druhou stranu to znamená, že se hodně ovladačů bude muset upravit. Mohou se vyskytnout i určité „směrovací“ problémy – když zazvoní telefon, který jmenný prostor se o to postará? Existující API pro přepínání jmenných prostorů v podobě proof-of-concept bude také ještě potřebovat trochu pozornosti.
I když může jít o užitečnou funkčnost, může to také způsobit velkou vlnu změn v ovladačích. Jak snadno se jmenné prostory zařízení dostanou do hlavní řady jádra, bude dost možná záviset na tom, jaká další využití se pro toto najdou. Hlavní změny pro podporu funkčnosti ale nejsou veliké, takže přepínání identit na telefonu bude možná nakonec přece jen stačit.
Nástroje: Tisk bez diskuse
Tiskni
Sdílej: