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í
×
dnes 01:00 | Komunita

Měsíc po Slackware slaví 25 let také Debian. Přesně před pětadvaceti lety, 16. srpna 1993, oznámil Ian Murdock vydání "Debian Linux Release".

Ladislav Hagara | Komentářů: 6
včera 06:00 | Nová verze

Byla vydána nová verze 1.26 editoru zdrojových kódů Visual Studio Code (Wikipedie). Přehled novinek i s náhledy a animovanými gify v poznámkách k vydání. Představení novinek také na YouTube.

Ladislav Hagara | Komentářů: 22
včera 03:00 | Nová verze

Po více než 3 měsících vývoje od vydání verze 2.12.0 byla vydána nová verze 3.0.0 otevřeného emulátoru procesorů a virtualizačního nástroje QEMU (Wikipedie). Přispělo 169 vývojářů. Provedeno bylo více než 2 300 commitů. Přehled úprav a nových vlastností v seznamu změn. Proč verze 3.0.0 a ne 2.13.0? Není to kvůli triskaidekafobii. QEMU letos v březnu slavilo 15 let od oznámení verze 0.1 a to je dle vývojářů dobrý důvod pro novou major verzi. Vývojáři mají v plánu zvyšovat major verzi jednou ročně, vždy s prvním vydáním v daném roce.

Ladislav Hagara | Komentářů: 3
14.8. 22:11 | Bezpečnostní upozornění

Intel potvrdil (INTEL-SA-00161) další bezpečnostní problém ve svých procesorech. Problém byl pojmenován L1 Terminal Fault aneb L1TF. Popis problému přímo od Intelu na YouTube. Jedná se o CVE-2018-3615 (SGX), CVE-2018-3620 (OS/SMM) a CVE-2018-3646 (VMM). Další informace na stránce Foreshadow nebo přímo v dnešním commitu do Linuxu.

Ladislav Hagara | Komentářů: 18
14.8. 12:33 | IT novinky

Po více než 4 letech bylo vydáno RFC 8446 popisující verzi 1.3 protokolu TLS (Transport Layer Security). Popis novinek i historie TLS například v příspěvku na blogu Cloudflare.

Ladislav Hagara | Komentářů: 0
14.8. 11:11 | Zajímavý software

V roce 1998 uvedla společnost Tiger Electronics na trh elektronickou hračku, malého chlupatého tvora s velkýma ušima, Furby. Furby patřil k nejžádanějším hračkám. Během tří let se jich prodalo více než 40 milionů. Furby již tenkrát reagoval na světlo, zvuk, polohu, doteky a přítomnost dalších Furby. Sám mluvil a pohyboval se. Firmware uvnitř simuloval postupný vývoj a učení. Zdrojový kód tohoto firmwaru byl zveřejněn na Internet Archive [Hacker News].

Ladislav Hagara | Komentářů: 21
14.8. 02:00 | Nová verze

Australská společnost Blackmagic Design oznámila vydání verze 15 svého proprietárního softwaru pro editování videa a korekci barev DaVinci Resolve běžícího také na Linuxu. Představení nových vlastností na YouTube. Základní verze DaVinci Resolve je k dispozici zdarma. Plnou verzi DaVinci Resolve Studio lze koupit za 299 dolarů. Před rokem to bylo 995 dolarů.

Ladislav Hagara | Komentářů: 0
13.8. 21:00 | Zajímavý projekt

Cílem projektu DXVK bylo vytvořit vrstvu kompatibility mezi Direct3D 11 a Vulkanem a začlenění této vrstvy do Wine. Direct3D 10 nad Vulkanem bylo možné řešit mezikrokem pomocí vrstvy DXUP překládající Direct3D 10 na Direct3D 11. Vývojáři DXVK se rozhodli přímo podporovat Direct3D 10. Podpora byla začleněna do hlavní větve na GitHubu.

Ladislav Hagara | Komentářů: 4
13.8. 16:00 | Nová verze

Vyšla verze 3.10 přehrávače Audacious. Přináší oprav chyb a drobná vylepšení seznamů skladeb, vyhledávání či ikonek. Zároveň pokračují práce na novém uživatelském rozhraní využívajícím Qt namísto GTK+ – nejsou však hotovy, proto je vydání 3.10 pojmenováno „Not Quite There Yet“; až bude proces u konce, vyjde Audacious 4.

Fluttershy, yay! | Komentářů: 14
13.8. 02:00 | Nová verze

Linus Torvalds vydal Linux 4.18. Více o vývojovém cyklu v Jaderných novinách: začleňovací okno [1] a [2], statistiky. Finální přehled změn je k mání na webu Linux Kernel Newbies.

Fluttershy, yay! | Komentářů: 5
Používáte zařízení („chromebook“, „chromebox“ či tablet) s ChromeOS?
 (6%)
 (4%)
 (12%)
 (77%)
Celkem 186 hlasů
 Komentářů: 9, poslední 14.8. 21:03
    Rozcestník

    LiveCD - 3 (podpora pro zápis)

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

    Jak zařídit podporu zápisu na CD-ROM, což je disk jen pro čtení? Tento díl bude věnovaný především souborovému systému UnionFS.

    Úvodem

    První LiveCD trpěly tím, že na ně nebylo možné zapisovat. Kvůli technickým omezením to není možné dodnes, ale existují způsoby, jak systém přinutit, aby se tvářil, že to možné je. Princip je velmi jednoduchý; adresář, do něhož chceme zapisovat, je přípojným bodem pro dva jiné, které nazvěme ro a rw. Zatímco ro je, jak název napovídá, jen pro čtení, a tudíž se vyskytuje na disku CD-ROM, adresář rw je pouze v operační paměti a obsahuje změny oproti adresáři ro. Potom je nutný speciální souborový systém, který dokáže oba adresáže spojit do jednoho.

    ovlfs

    Prvním řešením byl takzvaný překryvný (overlay) souborový systém ovlfs. Vzhledem k tomu, že je dostupný pouze ve formě patchů pro jádra 2.4, uvádím ho zde především z historických důvodů. Ostatně i nápis Last Updated: June 10, 2003 na stránce projektu hovoří za vše.

    Tento systém dokáže do jednoho přípojného místa připojit dva různé adresáře (souborové systémy). Primární, který je na LiveCD read-only, a sekundární, který bývá v operační paměti. Všechny změny jsou zapisovány na sekundární. Modul squashfs si udržuje v paměti jádra vlastní tabulku inodů, odkazů na konkrétní soubory a adresáře. Při požadavku na nový/změněný soubor vrátí odkaz na sekundární adresář. Tento systém se sice vyznačoval některými problémy (zamykání souborů a rychlost), ale vaz mu srazila spíše skutečnost, že nebyl portován na jádra 2.6.

    COW

    COW neznačí jenom samici tura domácího, ale i označení technologie copy on write. Starší implementací bylo COW-Links, které není příliš dobré a také už nežije. Poslední patch je pro jádro 2.6.11. Z něj vychází projekt cowloop: copy-on-write loop driver. Uvádím je spíše pro zajímavost a rozšíření obzorů, protože ani jeden z nich není bez hacků vhodný pro tvorbu LiveCD. Více vysvětluje FAQ projektu cowloop.

    UnionFS

    Unionfs znamená stackable unification file system (což by se dalo přeložit jako stohovatelný/vrstvitelný unifikující souborový systém). Mimo jeho funkčnosti je na něm velmi zajímavé to, že je součástí projektu FiST (Stackable File System Language and Templates). Ten používá vysokoúrovňový jazyk specializovaný na tyto souborové systémy. Překladačem fistgen je potom proveden překlad na spustitelný modul jádra. Podporovány jsou jádra systémů Linux, FreeBSD a Solaris. Vychází to z unixové tradice tvorby specializovaných jazyků, o kterých se zmiňuje Eric S. Raymond v kapitole Minijazyky, ve své knize The Art of Unix Programming.

    UnionFS vytváří jeden logický souborový systém, který je tvořen spojením obsahu mnoha různých adresářů (větví), přičemž jejich fyzické umístění je oddělené. Je možné například spojit oddělené programové adresáře do jednoho a vytvořit systém podobný GoboLinuxu, ale bez starostí se symbolickými odkazy. Pro LiveCD je velmi podstatné, že dovoluje kombinovat větve jen pro čtení s těmi určenými pro zápis. Díky funkci copy-on-write je možné vytvořit iluzi zapisovatelného souborového systému s tím, že změny se transparentně přenáší do adresáře určeného pro zápis.

    První LiveCD, které tento systém používalo na jádře 2.6, bylo DeadCD, alespoň se tak píše na stránkách projektu.

    Instalujeme

    Nejprve si zkontrolujte, zda nemáte balíček s unionfs přímo ve své distribuci. Pokud ne, možná vám přijde vhod malý návod. Díky svému původu se modul přeloží a nainstaluje sám.

    $ wget ftp://ftp.fsl.cs.sunysb.edu/pub/unionfs/unionfs-1.0.14.tar.gz
    $ tar -xzf unionfs-1.0.14.tar.gz

    Doporučuji si přečíst dokumentaci (soubor README) a instalační instrukce (soubor INSTALL). UnionFS má ve výchozím nastavení zapnutý ladící mód, což velmi nepříjemně zvětší velikost modulu (83kB versus přibližně 5MB). Pochopitelně musíte mít hlavičkové soubory jádra v /lib/modules/`uname -r`/build/include. Když chcete instalovat modul pro jiné, než aktuálně běžící jádro, vytvořte soubor fistdev.mk a napište do něj TOPINC=-I/cesta/k/jádru/linux-2.6.xx/include. Dále je požadováno mít hlavičkové soubory e2fsprogs a program ctags.

    $ # vypnuti debug flagu
    $ cat fistdev.mk
    EXTRACFLAGS=-DUNIONFS_NDEBUG
    UNIONFS_DEBUG_CFLAG=
    $ make
    # make install
    # depmod -a

    Tím máme v systému jaderný modul unionfs.ko (pro jádra 2.4 unionfs.o), unionctl pro přidávání a odebírání větví a manuálové stránky.

    Používáme UnionFS

    K připojení se používá klasický příkaz mount, ale je nutné pomocí volby -o specifikovat další parametry.

    # modprobe unionfs
    # mount -w -t unionfs -o dirs=/tmp/foo/=ro:/tmp/bar/=ro unionfs /tmp/union/
    

    Spojí adresáře /tmp/foo a /tmp/bar do jednoho adresáře /tmp/union. V případě konfliktů má první adresář největší prioritu.

    Připojené souborové systémy zjistíme příkazem

    # mount | grep unionfs
    unionfs on /tmp/union type unionfs (rw,dirs=/tmp/foo/=ro:/tmp/bar/=ro)
    

    Nebo lépe, příkazem unionctl, kterým můžete dynamicky přidávat, nebo odebírat nové přípojné body.

    # unionctl /tmp/union --list
    	/tmp/foo (r-)
    	/tmp/bar (r-)
    # unionctl /tmp/union --add --after /tmp/bar --mode ro /tmp/ham
    # unionctl /tmp/union --list
    	/tmp/foo (r-)
    	/tmp/bar (r-)
    	/tmp/ham (r-)
    # unionctl /tmp/union --remove /tmp/bar
    # unionctl /tmp/union --list
    	/tmp/foo (r-)
    	/tmp/ham (r-)

    Pokud změníte obsah větví, můžete obnovit obsah přípojného bodu příkazem

    # uniondbg -g /tmp/union/
    New generation 3

    Povolení zápisu

    Spojování adresářů jen pro čtení nám v LiveCD nepřinese žádný užitek. Důvodem, proč unionfs používáme, je podpora "zápisu" na read-only médium. Pojďme tedy něco zapsat na disk CD-ROM.

    # mount /mnt/ro/
    # ls -l /mnt/ro/
    total 76
    -rw-r--r--  1 root root 18259 Sep 27 21:28 COPYING
    -r--r--r--  1 root root   339 Sep 27 21:28 LICENSE
    -rw-r--r--  1 root root  1406 Sep 27 21:27 abc.ico
    ...
    -rw-r--r--  1 root root  2546 Sep 27 21:28 requirements.txt
    drwxr-xr-x  2 root root  2048 Sep 27 21:27 rootcopy
    -rw-r--r--  1 root root  3926 Sep 27 21:28 start.html
    drwxr-xr-x  3 root root  2048 Sep 27 21:28 tools
    # ls /mnt/ro/new-file.txt
    ls: /mnt/ro/new-file.txt: No such file or directory
    # touch /mnt/ro/new-file.txt
    touch: cannot touch `/mnt/ro/new-file.txt': Read-only file system

    V adresáři /mnt/ro (read-only) máme připojené CD s distribucí ABC Linux 2005. V adresáři nemáme žádný soubor new-file.txt a nejde ani vytvořit.

    # mount -t unionfs -o dirs=/mnt/ro/=ro unionfs /mnt/cdrom/
    # diff -r /mnt/ro/ /mnt/cdrom/

    Tímto příkazem jsme vytvořili přípojný bod /mnt/cdrom/, který je zcela totožný s adresářem /mnt/ro/. Ale ani do jednoho z nich nemůžeme zapisovat. Je potřeba ještě určit adresář, kam se budou ukládat změny:

    # unionctl /mnt/cdrom --add --before /mnt/ro/ --mode rw /mnt/rw/
    # unionctl --list /mnt/cdrom/
    	/mnt/rw (rw)
    	/mnt/ro (r-)

    A voilà, adresář /mnt/cdrom/ s právem zápisu je k dispozici! Samozřejmě s tím, že se veškeré změny ukládají do adresáře /mnt/rw.

    # echo "burned on CD-ROM :-)" > /mnt/cdrom/new-file.txt
    # cat /mnt/cdrom/new-file.txt
    burned on CD-ROM :-)
    # cat /mnt/rw/new-file.txt
    burned on CD-ROM :-)
    # cat /mnt/ro/new-file.txt
    cat: /mnt/ro/new-file.txt: No such file or directory
    # cmp /mnt/cdrom/new-file.txt /mnt/rw/new-file.txt
    #

    Problémy UnionFS

    V části instalace bylo nezbytné odstranit ladící flagy z modulů unionfs, protože přes vysoké číslo verze trpí unionfs některými potížemi a není vhodný pro ostré, produkční nasazení. Občasné kernel oops (nebo kernel panic ve starších verzích) se při použití tohoto souborového systému stávají. Zvláště pokud použijete složitý systém všemožných připojení.

    Závěrem

    V tomto díle jsme se seznámili s různými možnostmi, jak zařídit, aby se dalo na CD zapisovat. Přestože jich je celá řada, nejpoužívanější bude asi právě unionfs, se kterým jsme se naučili "zapsat" data na CD-ROM. Pokud vás tato problematika zaujala více, zkuste navštívit stránku unionfs.org, kde jsou příklady použití UnionFS v distribuci SLAX.

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

    Jaderné noviny – 12. 7. 2018: Řízení latence blokového I/O
    Linuxové herní novinky – duben 2018
    Týden na ITBiz: EK rozhodla o pokutě pro Google

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

    Linuxové herní novinky – duben 2018
    Jaderné noviny – 19. 7. 2018: Jmenné prostory jaderných symbolů
    Týden na ITBiz: Ženy v čele IT firem
      všechny statistiky »

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

    LiveCD - 1 (úvod, isolinux) (první díl)
    <—« LiveCD - 2 (komprimované souborové systémy)
    »—> LiveCD - 4 (linux live, před spuštěním systému)
    LiveCD - 5 (úprava distribuce Slax) (poslední díl)

    Související články

    LiveCD - 1 (úvod, isolinux)
    LiveCD - 2 (komprimované souborové systémy)
    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

    UnionFS
    UnionFS in examples
    DeadCD

    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í: 100 %

            š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ář

    Martin Ždila avatar 13.2.2006 11:22 Martin Ždila | skóre: 10 | Košice, Slovensko
    Rozbalit Rozbalit vše Re: LiveCD - 3 (podpora pro zápis)
    vdaka za pekny clanok :-)
    13.2.2006 13:43 iSteve
    Rozbalit Rozbalit vše Re: LiveCD - 3 (podpora pro zápis)
    ad DeadCD... Prvni LiveCD asi ne, kazdopadne ale prvni LiveCD ktere ho pouzivalo na 2.6 (ponevadz olvfs na 2.6 neni, mini_fo tehdy nestalo za nic (jak je na tom ted nevim) ... :)
    13.2.2006 15:21 Michal Vyskočil | skóre: 60 | blog: miblog | Praha
    Rozbalit Rozbalit vše Re: LiveCD - 3 (podpora pro zápis)
    Tomu se říká informační šum ;-), řeknu někomu ať to opraví.
    When your hammer is C++, everything begins to look like a thumb.
    13.2.2006 19:37 Robert Krátký | skóre: 94 | blog: Robertův bloček
    Rozbalit Rozbalit vše Re: LiveCD - 3 (podpora pro zápis)
    Opraveno.
    13.2.2006 21:06 Radek Podgorny | skóre: 16
    Rozbalit Rozbalit vše Re: LiveCD - 3 (podpora pro zápis)
    Kdyztak mrknete na FUSE-based reseni. Je mozna pomalejsi, ale mnohem flexibilnejsi...

    http://podgorny.cz/unionfs-fuse/
    13.2.2006 22:40 Josef Navrátil
    Rozbalit Rozbalit vše Re: LiveCD - 3 (podpora pro zápis)
    Nevzpomene si nekdo na nazev obdobneho souboroveho systemu psaneho jako diplomova prace? Nejak si jej nemuzu vybavit ;o(
    14.2.2006 12:09 Jan Dvorak
    Rozbalit Rozbalit vše Re: LiveCD - 3 (podpora pro zápis)

    A co teprve packet writing primo na CD-RW v mechanice? To bude teprve legrace, az budou LiveCD skoro stejne pouzitelna jako flashe. Samozrejme je tady problem s opotrebenim, ale staci jednou do mesice prepalit na nove RW... :]

    14.2.2006 12:34 Michal Vyskočil | skóre: 60 | blog: miblog | Praha
    Rozbalit Rozbalit vše Re: LiveCD - 3 (podpora pro zápis)
    Nebo použít DVD-RAM
    When your hammer is C++, everything begins to look like a thumb.
    14.2.2006 13:02 Tlamik
    Rozbalit Rozbalit vše Re: LiveCD - 3 (podpora pro zápis)
    at se neopakuju : http://www.abclinuxu.cz/blog/linux_audio/2006/2/13/120972
    16.2.2006 17:11 iSteve
    Rozbalit Rozbalit vše Re: LiveCD - 3 (podpora pro zápis)
    Packet writing je na realny pouziti extremne rozbitej, neda se to pouzit.

    Založit nové vláknoNahoru

    ISSN 1214-1267   www.czech-server.cz
    © 1999-2015 Nitemedia s. r. o. Všechna práva vyhrazena.