Edison Design Group po více než 30 letech zveřejnil zdrojový kód svého EDG C/C++ front-endu. Ten proslul širokou podporou standardů C++ a kompatibilitou s dialekty kompilátorů od Microsoftu, GNU, Clangu, Sunu a dokonce i s prehistorickým cfrontem. EDG byl použit například v kompilátoru Intel C++ Classic, kompilátoru NVCC od firmy NVIDIA pro platformu CUDA nebo v našeptávači kódu IntelliSense v produktech společnosti Microsoft. Projekt nyní spravuje organizace The C++ Alliance a kód je dostupný pod licencí Apache 2.0, doplněnou o výjimky projektu LLVM.
Pocket Tank je malé kapesní virtuální akvárium postavené na vývojové desce ESP32-S3-Touch-AMOLED-1.8. Na dvoujádrovém mikrokontroléru ESP32-S3 s 8 MB PSRAM a 16 MB flash paměti běží jak simulace akvária, tak i malý jazykový model určující chování rybiček. Lokální model o velikosti 7,56 MB se 14 miliony parametrů vznikl destilací modelu Gemma 4 26B, tedy učitele s 26 miliardami parametrů. Kromě firmwaru pro skutečný modul s AMOLED
… více »Open-source nástroj Jevstiller vytváří (destiluje) malý lokální model, který se průběžně učí z odpovědí komerční služby Jev. Běžné dotazy vyřizuje přímo na vlastním hardware, čímž může řádově zkrátit čas odezvy a snížit provozní náklady díky menšímu využívání zpoplatněného API. Nejisté požadavky Jevstiller posílá do Jevu, rovněž průběžně kontroluje náhodná dvě procenta dotazů Jevem. Pokud se lokální model začne s Jevem rozcházet,
… více »Konference LinuxDays 2026 proběhne již tento víkend 3. a 4. října v Praze v areálu ČVUT v Dejvicích na FIT. Konference LinuxDays 2026 znamená desítky přednášek a workshopů, zástup zajímavých osobností, místo pro setkání, spoustu nových nápadů a informací a stánky řady různých projektů: Fedora, openSUSE, vpsFree.cz, Mozilla, MacGyver - bastlíři SH, OpenAlt a mnoho dalších. Vstup je volný.
Microsoft oznámil, že WSL kontejnery (WSLC) aneb linuxové kontejnery ve Windows Subsystem for Linux (WSL) jsou již obecně dostupné. Současně popsal jejich architekturu.
openSUSE Leap 16.1 vstoupil do RC fáze. Nově lze instalovat jako standardní systém (Standard) nebo jako neměnný systém s atomickými aktualizacemi (Immutable). Samostatná neměnná distribuce openSUSE Leap Micro končí.
Byl vydán Mozilla Firefox 157.0. S nejvýraznější vizuální proměnou za poslední roky. Přehled novinek v poznámkách k vydání a poznámkách k vydání pro vývojáře. Řešeny jsou rovněž bezpečnostní chyby. Nový Firefox 157 bude brzy k dispozici také na Flathubu a Snapcraftu.
Rodina produktů Raspberry Pi se rozšířila o Raspberry Pi Smart Display Module. Deska pro Raspberry Pi Compute Module 5 se zasouvá přímo do displejů dle specifikace Intel SDM. Cena desky je 30 dolarů.
Byla vydána nová verze 2.56.0 distribuovaného systému správy verzí Git. Přispělo 104 vývojářů, z toho 39 nových. Přehled novinek v příspěvku na blogu GitHubu a v poznámkách k vydání.
Hackerská skupina ShinyHunters oznámila průnik do informačních systémů FBI, prostřednictvím zero-day zranitelnosti v platformě Oracle PeopleSoft, kterou úřad využívá mimo jiné pro náborový portál FBIJobs.gov. Útočníci tvrdí, že získali až 3 TB dat o současných i bývalých zaměstnancích a uchazečích o práci. Jako důkaz zveřejnili vzorek přibližně 5 000 záznamů obsahující jména, adresy, telefonní čísla, data narození, čísla
… více »V dnešním díle seriálu o souborových systémech v Linuxu se budeme zabývat filesystémem Ext3. Jedná se o filesystém s řadou výhod, ale také nedostatků. O nich bude právě řeč. Nejprve něco z jeho historie. Ext3 byl napsán Dr. Stephem Twediem jako nadstavba standardního linuxového souborového systému Linuxu (Ext2). Filesystém Ext2 je velmi rozšířený a oblíbený. Ačkoliv nemá podporu malých souborů jako ReiserFS nebo rychlost přístupu XFS, zůstává nejrozšířenější na linuxových platformách.
V dnešní době jsou některé Ext2 filesystémy opravdu velké, u nich pak trvá kontrola integrity dat v případě výpadku velmi dlouhou dobu (i několik hodin). Během doby, kdy se souborový systém kontroluje, jsou aplikace na počítači mimo provoz. Hlavním důvodem vzniku Ext3 je co nejvyšší dostupnost služeb i v případě výpadku. Nedisponuje ovšem vlastnostmi jako podpora extrémně rozsáhlých souborů, nebo mapování pomocí extents.
Jedním z nejdůležitějších cílů byla absolutní kompatibilita mezi Ext2 a Ext3 a to v obou směrech. Můžeme použít existující Ext2 filesystém, vytvořil žurnál a připojit ho jako Ext3 a dostáváme žurnálovací filesystém. Naopak pokud máme Ext3 filesystém a předtím došlo k bezpečnému odpojení tohoto souborového systému, můžeme ho připojit znovu jako Ext2 a vše funguje, jak má.
Jelikož Ext3 vychází z Ext2, má většinu jeho vlastností. Jako omezení velikosti souborového systému, velikosti souboru, velikosti bloků dat apod. Přestože některé informace se zapisují na Ext3 vícekrát než jednou, je Ext3 často rychlejší díky optimalizaci externí fragmentace.
Pro optimalizování rychlosti a zajištění datové integrity můžeme zvolit jeden ze tří módů:
Použití writeback módu dostáváme nejrychlejší variantu Ext3 filesystému. Je tomu tak, protože uchovává pouze změny metadat a nečeká dále na asociované změny dat souboru předtím než změmí např. velikost souboru. Protože změny dat souboru a žurnálované změny metadat filesystému jsou uskutečněny nezávisle, mohou byt metadata v nekonzistním stavu (např. obsahují ukazatele na bloky dat, na které ještě nebyly data zapsány). Použitím tohoto módu získáme pouze urychlení kontroly konzistence dat při havárii systému.
V módu ordered uchováváme opět pouze metadata souborového systému kvůli snížení redundance mezi zápisem do filesystému a do žurnálu a je proto rychlejší. Změny metadat jsou uskutečněny, narozdíl od módu writeback, až po změnách ve filesystému. Toto vede k lehkému snížení výkonu systému, naopak garantujeme, že při všech změnách budou metadata odpovídat datům, které jsme zapsali.
Použitím journal módu zapisujeme do žurnálu data i metadata. Každá operace se tedy musí uskutečnit dvakrát. Může proto snížit výkonnost systému, ale minimalizujeme šance ztráty nějakých dat.
Nejprve potřebujeme zkompilovat kernel s podporou Ext3 filesystému. V
jádrech řady 2.4 musíme zaškrtnout volbu CONFIG_EXT3_FS. Pokud používáte
při konfiguraci make menuconfig nebo make xconfig,
najdete tuto volbu v menu Filesystem, položka Ext3 journalling file system support.
Podpora
Ext3 filesystému se dá zkompilovat buď přímo do kernelu nebo jako modul.
Pokud ovšem chcete používat Ext3 na kořenovém oddílu, doporučuji podporu Ext3
zakompilovat přímo do kernelu (viz dále).
Pokud máme existující Ext2 filesystém, můžeme ho lehce převést na Ext3 vytvořením žurnálu. Stačí použít následující příkaz:
tune2fs -j /dev/hdXX
, kde /dev/hdXX je cílový diskový oddíl. K převedení dokonce nemusíme
ani daný filesystém odpojovat! Důležité je také přepsání záznamu v
/etc/fstab, kde stačí prostě přepsat ext2 na ext3.
Pokud chceme vytvořit nový Ext3 filesystém použijeme:
make2fs -j /dev/hdXX , /dev/hdXX je cílové zařízení.
Jelikož Ext3 vychází z Ext2, sdílí spolu vlastnost, že e2fsck kontroluje pravidelně filesystém i v případě, že je označen jako nepoškozený. Oddíl se kontroluje buď při každém dvacátém připojení filesystému, nebo jednou za 180 dní (toto jsou defaultní hodnoty, které lze pomocí příkazu tune2fs změnit dle libosti). Jelikož je tato kontrola v případě Ext3 zbytečná a pravděpodobně chceme přejít na Ext3 právě z důvodu vyhnutí se fsck, dá se tato vlastnost vypnout použitím příkazu:
tune2fs -i 0 -c 0 /dev/hdXX
Pokud je náš kořenový souborový systém typu Ext3 a používáme kernel s podporou Ext3, systém ho připojí právě jako Ext3. Defaultnímu chování však můžeme zabránit následujícím parametrem bootloadru LILO:
LILO: linux rootfstype=ext2
stejně tak se dají nastavit parametry při připojování filesystému (jako žurnálovací mód):
LILO: linux rootflags=data=journal
Pokud máme podporu filesystému Ext3 zakompilovanou pouze jako modul, je připojení kořenového adresáře poněkud těžším problémem. Nejprve musíme vytvořit ramdisk, který bude obsahovat moduly zkompilované s kernelem. Je nutné zjistit přesnou verzi kernelu, který právě používáme. K tomu slouží příkaz:
uname -a
Dostaneme podobný vypis: Linux host 2.4.19 #2 Sat Oct ...
Pro samotné vytvoření ramdisku použijeme následující příkaz (vytváří ramdisk pouze s moduly potřebnými pro žurnálování):
mkinitrd --preload jbd --preload ext3 /boot/initrd-2.4.19.img 2.4.19
Příkaz mkinitrd získáme po nainstalování například balíčku initrd-tools v
Debianu. Nyní stačí již jen upravit konfigurační soubor bootloaderu LILO,
kde přidáme řádek pod image=... ,který říká systému, že má daný ramdisk
načíst (viz manuálové stránky lilo.conf).
initrd=/boot/initrd-2.4.19.img
Poté můžeme systém restartovat a zkontrolovat výpis souboru
/proc/mounts, jestli opravdu používáme ext3 filesystém. Jelikož toto je
poměrně zdlouhavý proces, doporučuji zkompilovat kernel s přímou podporou
Ext3.
Teď si ještě shrneme ostatní výhody souborového systému Ext3, o kterých jsem se zatím nezmínil. Mezi hlavní z nich patří podpora žurnálovacího souboru na odděleném diskovém oddílu. Zajímavá je také podpora ACL (Access Control Lists) a EA (Extended atributes), správa vadných sektorů a quot. Pomocí externího patche v kernelu dovoluje měnit velikost připojeného filesystému (ovšem pouze zvyšovat). V případě nepřipojeného souborového systému můžeme velikostí hýbat oběma směry. Pro ty, co by se o tuto problematiku dále zajímali, doporučuji: GNU Parted.
Nástroje: Tisk bez diskuse
Tiskni
Sdílej: