abclinuxu.cz AbcLinuxu.cz itbiz.cz ITBiz.cz HDmag.cz HDmag.cz abcprace.cz AbcPráce.cz
AbcLinuxu hledá autory!
Inzerujte na AbcPráce.cz od 950 Kč
Rozšířené hledání
×

včera 20:11 | Zajímavý software

Alexandre Julliard oznámil jménem vývojového týmu Wine vydání první verze 1.0 knihovny vkd3d určené pro překlad volání Direct3D 12 na Vulkan. Zdrojové kódy vkd3d jsou k dispozici pod licencí LGPLv2.1+.

Ladislav Hagara | Komentářů: 1
včera 19:33 | Komunita

Dnešním dnem lze účet Firefoxu chránit dvoufázovým ověřováním (2FA). Implementován byl standard TOTP (Time-based One-Time Password).

Ladislav Hagara | Komentářů: 0
včera 15:17 | Pozvánky

Od pátku 25. 5. proběhne na Fakultě informačních technologií ČVUT v Praze openSUSE Conference. Můžete se těšit na spoustu zajímavých přednášek, workshopů a také na Release Party nového openSUSE Leap 15.0. Na stejném místě proběhne v sobotu 26. 5. i seminář o bezpečnosti CryptoFest.

Jendа | Komentářů: 0
včera 13:33 | Zajímavý software

Drawpile je svobodný multiplatformní program pro kreslení podporující společné kreslení několika uživatelů. Zdrojové kódy jsou k dispozici na GitHubu pod licencí GPLv3+. Drawpile i Drawpile Server jsou ke stažení také ve formátu AppImage. Stačí tedy nastavit právo na spouštění a spustit.

Ladislav Hagara | Komentářů: 0
včera 09:44 | Zajímavý software

Kalifornskému Muzeu počítačové historie (Computer History Museum) se po pěti letech vyjednávání se společností Qualcomm podařilo získat veškerá práva na poštovního klienta Eudora (Wikipedie), tj. kromě zdrojových kódů muzeum získalo také ochranní známku Eudora nebo domény eudora.com a eudora.org. Po pročištění byly zdrojové kódy Eudory uvolněny pod licencí BSD.

Ladislav Hagara | Komentářů: 3
22.5. 15:00 | Nová verze

Byla vydána nová stabilní verze 5.11 toolkitu Qt. Přehled novinek v příspěvku na blogu a na wiki stránce. Další dnešní příspěvek na blogu Qt je věnován Qt pro WebAssembly umožňujícímu běh Qt aplikací ve webovém prohlížeči. K vyzkoušení jsou příklady.

Ladislav Hagara | Komentářů: 0
22.5. 12:22 | Nová verze

Po 7 měsících vývoje od verze 0.12.0 byla vydána verze 0.13.0 hardwarově nenáročného desktopového prostředí LXQt (Lightweight Qt Desktop Environment, Wikipedie) vzniklého sloučením projektů Razor-qt a LXDE. Přehled novinek v oznámení o vydání a v příspěvku ve fóru.

Ladislav Hagara | Komentářů: 14
22.5. 12:11 | Pozvánky

V úterý 29. května v 18:00 se v Brně koná pátý přednáškový večer o webovém vývoji. Čeká vás povídání o frameworku v Elixiru, vydávání nové kryptoměny přes ICO, component trees v Reactu. Na místě bude lehké občerstvení; vstup zdarma pro registrované. Více informací na Facebooku nebo se rovnou registrujte na Meetup.

dejvik | Komentářů: 0
22.5. 12:00 | Pozvánky

V pátek 25. května 2018 v Praze proběhne společné setkání komunity kolem Drupalu a překladatelů softwaru – tématem bude právě lokalizace svobodného softwaru (nejen Drupalu). Program začíná v 9.30 v budově Českého rozhlasu (Vinohradská 12), ale můžete přijít i později během dne.

Fluttershy, yay! | Komentářů: 0
22.5. 06:55 | Zajímavý software

Operační systém 9front, zřejmě nejaktivněji vyvíjený neoficiální fork systému Plan 9 (více informací), se dočkal nové verze nazvané „Ghost in the Minesweeper Shell“. K novým vydáním obvykle dochází každé jeden až tři měsíce.

Fluttershy, yay! | Komentářů: 0
Používáte pro některé služby inetd?
 (34%)
 (23%)
 (43%)
Celkem 148 hlasů
 Komentářů: 5, poslední 22.5. 16:46
    Rozcestník

    LiveCD - 2 (komprimované souborové systémy)

    2. 2. 2006 | Michal Vyskočil | Systém | 8102×

    V dnešním díle si probereme komprimované souborové systémy určené pro LiveCD.

    Úvodem

    Souborový systém je způsob organizace dat na záznamovém médiu. Zahrnuje jednak způsob fyzického uložení dat a také poskytuje vysokoúrovňový přístup k nim. Existují stovky různých systémů. Počínaje klasickými diskovými, jako je primitivní FAT nebo transakční a žurnálovací ext3. Dále sem patří síťové souborové systémy, jako například NFS nebo Coda. Existují i databázové, jakým je BFS (BeOS FS). V Unixu a v Linuxu zvlášť je také silná tradice používání pseudo filesystémů, jako procfs, relayfs nebo sysfs. No a také existuje řádka souborových systémů, které jsou velmi speciální.

    Linux zdědil z Unixu skvělý mechanismus zvaný Virtual File System, zkráceně VFS. Toto je aplikací jednoho ze základních unixových principů, oddělit mechanismus od postupu. V praxi to znamená, že všechen kód je soustředěn v příslušném modulu (například xfs.ko, který implementuje abstraktní rozhraní VFS. Přidání nového podporovaného souborového systému je snadné, stačí napsat nový modul.

    Ovšem důsledkem je, že linuxové jádro samo o sobě neumí pracovat s žádným souborovým systémem. Jenže při bootu se musí připojit kořenový souborový systém, ale naše jádro nekodáže načíst z disku potřebné moduly. Proto musíme do jádra podporu pro kořenový fs zakompilovat natvrdo. Anebo použít initrd (initial ram disk), což je v podstatě diskový oddíl, který se při startu připojí jako kořenový adresář a který obsahuje potřebné moduly pro jádro. Jádro tedy musí umět pouze filesystém ramdisku, což je ve většině případů ext2.

    Poměrně horkou novinkou je FUSE, která je v hlavním jádře od verze 2.6.14 (v době psaní tohoto článku byla stabilní 2.6.1521). Tato zkratka znamená Filesystem in USErspace a jeho myšlenka pochází už z Plan9. Ve zkratce umožňuje uživatelským programům používat další, speciální souborové systémy. Mezi ně patří třeba GmailFS, který interně používá poštovní schránku na serveru gmail.google.com, BitTorrent File System, nebo SshFS. Zatím je dostupný pro linuxová jádra 2.4 a 2.6 a jako port pro jádra FreeBSD.

    Dost bylo obecné teorie a přejděme zpět k tématu, kterým jsou LiveCD. V minulém díle (LiveCD - 1 (úvod, isolinux)) jsme se seznámili se souborovým systémem ISO 9660. Ten je ovšem pro unixový systém nepoužitelný. Především proto, že neobsahuje podporu pro POSIXová práva. Rozšíření RockRidge a ISO Layer 2 sice možnosti tohoto filesystému zvětšily, ale zůstává další problém: omezená velikost místa na disku. Plná instalace Slackware zabere 3GB, a to je distribuce obsahující velmi málo software (ve srovnání s distribucemi jako Debian, Gentoo nebo SUSE).

    Komprimované souborové systémy

    Naštěstí ve světě Linuxu existuje mnoho komprimovaných souborových systémů. Díky tomu můžeme do omezeného místa na CD-ROM dostat daleko více software, ovšem za cenu větší zátěže procesoru při běžném procházení.

    Cramfs

    Celé jméno je compressed ROM filesystem. Je součástí jádra od verze 2.3 (respektive 2.4). Jak už napovídá název, jedná se o komprimovaný read-only souborový systém. Některé konvenční distribuce (například Debian) používají initrd právě v tomto formátu. Byl využíván staršími verzemi Slax (3 a starší) nebo v embedded zařízeních jako handheldy a podobně.

    mkfs.cramfs source destination

    Stejně jako mnoho dalších komprimovaných filesystémů používá knihovnu zlib. Bohužel trpí spoustou omezení:

    • Maximální velikost souboru je 16MB.
    • Maximální velikost souborového systému je něco málo přes 256MB.
    • Podporuje hardlinky, ale počet odkazů stále zůstává roven 1.
    • Není přenositelný na stroje s různým endianness (tedy s různým pořadím vyšších a nižších bytů ve slově).

    Cloop

    Alias compressed loopback device není souborový systém, ale modul, který poskytuje komprimované read-only loopback zařízení. Vytvořil jej Paul Russell (autor ipchains a iptables) pro distribuci Linuxcare, pro jádra 2.2. Mohou být naformátovány libovolným souborovým systémem (podobně jako tradiční loopback zařízení). Asi nejznámější distribucí, která tyto obrazy používá, je Knoppix (a jeho deriváty). Samotný Klaus Knopper je správcem patchů pro jádra 2.4 a 2.6, protože ve vanilla jádře tento modul není.

    # vytvoreni obrazu
    mkisofs -r -l datadir | \
    create compressed fs - 65536 > isoimg.z
    
    # pripojeni (linuxrc distribuce Knoppix)
    insmod cloop.o file=/cdrom/KNOPPIX/KNOPPIX
    mount -r /dev/cloop /mnt/knoppix

    Data jsou komprimována po jednotlivých blocích (opět pomocí zlib), typická velikost na LiveCD se pohybuje kolem 256kB. Ovšem i cloop má svoje problémy:

    • create_compressed_fs, což je utilita, která vytváří obraz, nepodporuje proudové zpracování. Celý komprimovaný obraz se musí vejít do operační paměti.
    • ovladač cloop je velmi pomalý při častých čtení, například v systémech s malou operační pamětí (neustálé načítání a rozbalování bloků) nebo při nahrávání programu s velkým množstvím sdílených knihoven.

    zisofs

    Je klasický iso 9660 s podporou transparentní komprese a dekomprese (jak jinak než pomocí knihovny zlib). V jádře se objevil ve verzi 2.4.14. O vytváření obrazů se stará balík nástrojů zisofs-tools, které spravuje H. Peter Anvin, správce zavaděčů syslinux a isolinux, s nimiž jsme se setkali už v minulém díle. Tento způsob komprese používala distribuce Slax ve verzi 4.x.

    Použití programu mkzfree(1), kde input je vstupní adresářová struktura a output je výstupní komprimovaná struktura. Výsledek může být zpracován klasickými nástroji, jako mkisofs, nebo growisofs.

    mkzftree source destination
    -z Stupeň komprese (1-9, výchozí 9)
    -u Rozbalit, užitečné v systémech, které nativně nepodporují zisofs
    -x Nepřistupovat na jiné oddíly, pouze vytvořit přípojné body
    -X Nepřistupovat na jiné oddíly a přípojné body nevytvářet.

    e2compr

    Toto je pouze patch ovladače souborového systému ext2, který přidává podporu transparentní komprese na úrovni souborů. Do konfiguračního souboru přidává volbu EXT2_COMPR_FL. Pro jeho použití není potřeba daný oddíl znovu přeformátovat, protože dokáže zcela transparentně používat jak komprimované, tak nekomprimované soubory. Ovšem jeho vlastnosti nejsou ty nejlepší pro LiveCD a nenašel jsem žádné, které by používalo tento souborový systém.

    SquashFS

    Phillip Lougher uvolnil v roce 2002 první verzi tohoto komprimovaného filesystému, který odstraňuje nevýhody cramfs. První verze byla pro jádro 2.4.19; bohužel až do teď nebyl tento souborový systém do vanilla jádra začleněn. Ale GregKH už před časem zařadil patch do genpatches, což je patchset pro gentoo-sources (výchozí jádro distribuce Gentoo).

    V čem se tedy liší od cramfs? Preferuje velikost bloku 32kB (od verze 2 64kB), která má mnohem lepší kompresní poměr než 4kB. Jádro nativně podporuje 4kB bloky a tak tento souborový systém dává zbytek dat explicitně do cache. Komprimuje i informace z adresářů a inodů, které, opět pro větší kompresi, shlukuje dohromady. Podporuje 32bitové uid/guid (cramfs má uid 16b a guid 8b), velikost souboru je až 2^32B (cramfs 2^24). A v neposlední řadě podporuje časové značky (timestamps).

    Pro práci s tímto souborovým systémem je nutné mít program mksquashfs z balíku squashfs-tools. Ten má poněkud nezvyklou syntaxi:

    mksquashfs source1 source2 ...  dest [options] \
    [-e list of exclude dirs/files]

    Kde sourceX označují zdrojové adresáře, dest je cílový soubor, options jsou volby a na konci je, uvozen parametrem -e, seznam souborů adresářů, jež se mají vynechat.

    -all-root, nebo -root-owned všechny soubory v novém filesystému bude vlastnit uživatel root
    -be, nebo -le explicitně nastav velký (b), nebo malý (l) endián
    -ef <exclude_file> seznam souborů, adresářů, které nebudou v cílovém systému; jeden na každý řádek
    -noI, -noD, -noF nekomprimuj tabulku inodů (I), datové bloky (D), fragmentované bloky (F)

    Závěrem

    V tomto díle jsme se seznámili s různými komprimovanými souborovými systémy pro LiveCD. Přestože jich je hezká řádka, tak v současnosti se používají především SquashFS a cloop. Právě ty umožňují, aby se na miniCD vešlo přes 500MB, což je případ Slax.

    Tématem příštího dílu bude podpora pro zápis, a tudíž se bude točit hlavně kolem souborového systému UnionFS.

    Nejčtenější články posledního měsíce

    Týden na ITBiz: Autora programu lze určit nejen ze zdrojového kódu
    Jaderné noviny – 19. 4. 2018: Druhá polovina začleňovacího okna 4.17
    Jaderné noviny – 26. 4. 2018: Hledání zranitelností Spectre pomocí smatch

    Nejkomentovanější články posledního měsíce

    Jaderné noviny – 3. 5. 2018: Přístup k úložným zařízením jako k paměti
    Jaderné noviny – 26. 4. 2018: Hledání zranitelností Spectre pomocí smatch
    Týden na ScienceMag.cz: K čemu je 3D tisk přímo na kůži?
      všechny statistiky »

    Seriál LiveCD (dílů: 5)

    LiveCD - 1 (úvod, isolinux) (první díl)
    <—« LiveCD - 1 (úvod, isolinux)
    »—> LiveCD - 3 (podpora pro zápis)
    LiveCD - 5 (úprava distribuce Slax) (poslední díl)

    Související články

    LiveCD - 1 (úvod, isolinux)
    LiveCD - 3 (podpora pro zápis)
    LiveCD - 4 (linux live, před spuštěním systému)
    LiveCD - 5 (úprava distribuce Slax)
    Exkurze do světa live distribucí
    Vypalování CD - I Slovníček pojmů
    Na co se často ptáme 1: LILO
    Jak na animované LILO
    Jak změnit rozlišení při bootu?
    Jak na duální boot s Windows 2000
    Mandrakemove 2 CZ
    Slackware LiveCD
    Danix
    ProMEPIS 2005
    Jak jsem se poprala s ABC Linuxem

    Odkazy a zdroje

    cramfs
    cloop
    SquashFS
    SquashFS

    Další články z této rubriky

    Paralelizace běžných činností v konzoli pomocí GNU Parallel
    Unixové nástroje – 26 (triky pro práci v Bashi)
    Unixové nástroje – 25 ((s,c)fdisk, gdisk, parted a findmnt)
    Linux: systémové volání splice()
    Bootování ze sítě: pxelinux a kořenový adresář na NFS
           

    Hodnocení: 92 %

            špatnédobré        

    Nástroje: Tisk bez diskuse

    Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

    Komentáře

    Vložit další komentář

    2.2.2006 00:33 Michal Kubeček | skóre: 71 | Luštěnice
    Rozbalit Rozbalit vše Re: LiveCD - 2 (komprimované souborové systémy)
    V odstavci o SquashFS chybí ukončení odkazu s textem vanilla.
    2.2.2006 08:11 Robert Krátký | skóre: 94 | blog: Robertův bloček
    Rozbalit Rozbalit vše Re: LiveCD - 2 (komprimované souborové systémy)
    Díky, opraveno.
    2.2.2006 12:27 iSteve | skóre: 15 | blog: isteve
    Rozbalit Rozbalit vše Re: LiveCD - 2 (komprimované souborové systémy)
    Jeste jeden uklep, Použití programu mkzfree(1), kde -> mkzftree
    ISSN 1214-1267   www.czech-server.cz
    © 1999-2015 Nitemedia s. r. o. Všechna práva vyhrazena.