abclinuxu.cz AbcLinuxu.cz itbiz.cz ITBiz.cz HDmag.cz HDmag.cz abcprace.cz AbcPráce.cz
Inzerujte na AbcPráce.cz od 950 Kč
Rozšířené hledání
×
    včera 23:33 | Nová verze

    Google Chrome 126 byl prohlášen za stabilní. Nejnovější stabilní verze 126.0.6478.55 přináší řadu oprav a vylepšení (YouTube). Podrobný přehled v poznámkách k vydání. Opraveno bylo 21 bezpečnostních chyb. Vylepšeny byly také nástroje pro vývojáře.

    Ladislav Hagara | Komentářů: 0
    včera 16:44 | Nová verze

    Byl vydán Mozilla Firefox 127.0. Přehled novinek v poznámkách k vydání, poznámkách k vydání pro firmy a na stránce věnované vývojářům. Řešeny jsou rovněž bezpečnostní chyby. Nový Firefox 127 je již k dispozici také na Flathubu a Snapcraftu.

    Ladislav Hagara | Komentářů: 0
    včera 15:11 | Nová verze

    Byla vydána (𝕏) nová verze 9.5 z Debianu vycházející linuxové distribuce DietPi pro (nejenom) jednodeskové počítače. Přehled novinek v poznámkách k vydání.

    Ladislav Hagara | Komentářů: 0
    včera 11:44 | IT novinky

    Společnost Raspberry Pi dnes vstoupila na Londýnskou burzu jako Raspberry Pi Holdings plc (investor).

    Ladislav Hagara | Komentářů: 0
    včera 01:22 | IT novinky

    Do 17. června do 19:00 běží na Steamu přehlídka nadcházejících her Festival Steam Next | červen 2024 doplněná demoverzemi, přenosy a dalšími aktivitami. Demoverze lze hrát zdarma.

    Ladislav Hagara | Komentářů: 0
    10.6. 22:33 | IT novinky

    Apple na své vývojářské konferenci WWDC24 (Worldwide Developers Conference, keynote) představil řadu novinek: svou umělou inteligenci pojmenovanou jednoduše Apple Intelligence, iOS 18, visionOS 2, macOS Sequoia, iPadOS 18, watchOS 11, …

    Ladislav Hagara | Komentářů: 10
    10.6. 21:44 | Nová verze

    Vyšla nová verze XMPP (Jabber) klienta Gajim, která přidává podporu reakcí pomocí emoji (XEP-0444: Message Reactions) a citace zpráv (XEP-0461: Message Replies). Přehled dalších vylepšení je k dispozici na oficiálních stránkách.

    sonicpp | Komentářů: 1
    10.6. 15:00 | Nová verze

    Po po téměř roce vývoje od vydání verze 5.38 byla vydána nová stabilní verze 5.40 programovacího jazyka Perl (Wikipedie). Do vývoje se zapojilo 75 vývojářů. Změněno bylo přibližně 160 tisíc řádků v 1 500 souborech. Přehled novinek a změn v podrobném seznamu.

    Ladislav Hagara | Komentářů: 7
    10.6. 12:00 | Zajímavý článek

    Uroš Popović popisuje, jak si nastavit Linux na desce jako Raspberry Pi Zero, aby je šlo používat jako USB „flešku“.

    Fluttershy, yay! | Komentářů: 1
    10.6. 08:44 | Zajímavý software

    Andreas Kling oznámil, že jelikož už se nevěnuje nezávislému operačnímu systému SerenityOS, ale výhradně jeho webovému prohlížeči Ladybird, přičemž vyvíjí primárně na Linuxu, SerenityOS opustí a Ladybird bude nově samostatný projekt (nový web, repozitář na GitHubu).

    Fluttershy, yay! | Komentářů: 2
    Rozcestník

    Virtuální linuxový server - User Mode Linux

    4. 1. 2005 | Zdeněk Burda | Recenze | 13387×

    Virtuální servery umožňují současný běh několika instancí operačního systému na jednom hardware.

    Obsah


    Úvod

    V operačním systému GNU/Linux jsou nejznámější systémy pro virtualizaci komerční VMWare, Virtuozzo a OS řešení User Mode Linux (dále jen UML). Protože nemám peněz nazbyt, zvolil jsem si pro svoji další práci UML.

    UML je jedna varianta překladu jádra Linuxu, která ho umožňuje spouštět jako normální program z již běžícího systému, a to i vícekrát. UML se spouští pod neprivilegovaným uživatelem a ze strany hostitelského systému se tváří jako "normální" procesy. Uvnitř UML vidíte pouze své procesy, jste v něm uzavřeni a prakticky neexistuje cesta ven do hostitelského systému. Samozřejmě poznáte, že se jedná o UML, protože jsou některé výpisy z adresáře /proc trochu jiné. Velkou výhodou je, že můžete dát například zákazníkovi práva uživatele root, ale ta jsou platná pouze uvnitř UML.

    Potřebný software

    Pro provoz UML potřebujete na hostitelský systém nainstalovat uml-utilities, dostatek RAM a místa na disku. Uml-utilities použijeme pro vytvoření virtuálních síťových rozhraní v hostitelském systému (lze to udělat i ručně, ale jsem líný, a tak raději používám utilitu uml_net :-) ) a pro základní ovládání UML (získání informací o stroji, aniž bychom se do něj přihlašovali, zálohování a třeba i vypnutí). Dále je potřeba zakompilovat podporu pro tun do jádra kvůli virtuálním síťovým rozhraním. Další program, který potřebujeme, je screen, v něm budeme UML spouštět (spustíme UML jako normální proces, odhlásíme se z konzole a UML běží ve screenu na pozadí).

    Instalace

    Hostitelský počítač

    Na hostitelský počítač nejsou kladeny příliš veliké nároky, co se týká programového vybavení. UML mi nyní funguje na Debianu (kříženec mezi testing, unstable a experimental :-) a na druhém počítači, kde si s UML hraji, běží Slackware-current.

    Je důležité mít podporu pro síťová rozhraní tun. Kdo používáte standardní distribuční jádro, máte po starostech. Kdo si ho překládá sám, určitě si poradí. Přítomnost vyzkoušejte příkazem modprobe tun. Dále si nainstalujte program screen, v něm budeme spouštět UML - uvidíme chybová hlášení jádra a můžeme ho spustit na pozadí. uml-utilities si nainstalujte také (použil jsem verzi z Debiana, na Slackware jsem si kompiloval ze zdrojových souborů).

    Virtuální server

    Pro provoz virtuálního serveru (UML) potřebujeme speciálním způsobem přeložené jádro a také nějaký souborový systém, ze kterého budeme bootovat, případně kde budou domácí adresáře uživatelů a podobně.

    Jádro

    Pro UML jsem použil vanilla jádro verze 2.6.9, na hostitelském systému běží jádro 2.4.27 se standardní sadou patchů distribuce Debian. Vlastní kompilace UML jádra se provádí tímto způsobem:

    cd /usr/src/linux
    make menuconfig ARCH=um
    make vmlinux ARCH=um

    Jádro jsem si přeložil bez modulů, protože je to jednodušší a stejně si myslím, že bych modulárním jádrem moc paměti neušetřil. Po kompilaci nám vznikne v adresáři se zdrojovým kódem jádra soubor vmlinux, který si nakopírujeme do adresáře /home/uml (do tohoto adresáře budu dávat vše, co se týká UML) a nastavíme mu práva 755. Tento soubor je naše jádro pro UML systém, a pokud si ho spustíte, měl by se ukázat klasický výpis bootu jádra s tím, že skončí na neexistenci root filesystému.

    Souborový systém

    Vytvoření souborového systému pro UML je celkem jednoduché a vystačíme si se std. nástroji z distribuce. Pro standardní instalaci Linuxu by nám mohlo stačit 4 GiB místa pro root filesystem. Vytvoříme si proto prázdný soubor veliký 4 GiB:

    dd if=/dev/zero of=/home/uml/debian.img bs=1M count=1 seek=4096

    Tímto příkazem jsme vytvořili soubor veliký 4 GiB, na kterém si vytvoříme souborový systém. Soubor jsem nazval debian.img, protože do něj nainstaluji distribuci Debian.

    mkfs.xfs -f /home/uml/debian.img

    Jak jste si jistě všimli, soubor nezabírá celé 4 GiB, ale podstatně méně. Je to tím, že to je takzvaný řídký soubor (to udělal ten parametr seek u příkazu dd). Pokud tyto soubory podporuje souborový systém, na kterém jsou umístěny, tak zaberou jen tolik místa, kolik obsahují dat (no dobře, zaberou ho o trochu víc - přesně o své i-nody, které spotřebují). A tam, kde by bylo prázdno, si souborový systém poznamená, že tam je tolik a tolik alokovaných bajtů, ale nezabírá to místo na disku. Proto můžete vyrobit třeba terabytový soubor na 40 GB disku. Využijeme toho ještě několikrát.

    Vzniklý soubor připojíme do adresáře /mnt, do kterého vzápětí nainstalujeme Debian.

    mount /home/uml/debian.img /mnt -o loop

    Instalaci Debianu provedeme pomocí skriptu Debootstrap, který si nainstalujeme příkazem apt-get install debootstrap. Rozhodl jsem se, že si nainstaluji sarge - základní instalaci provedu pomocí příkazu

    debootstrap sarge /mnt

    Tím se mi nainstaluje minimální základ systému do adresáře /mnt. Nainstalovaný systém je téměř nenastavený, proto se do něj přepneme pomocí chrootu a doinstalujeme vše, co je potřeba.

    chroot /mnt
    mount -n /proc

    Okolo sítě jsem si nastavil pouze DNS servery a rozhraní lo. eth0 jsem nenastavoval, protože to se bude muset konfigurovat pro každou běžící instanci UML zvlášť (využijeme jeden společný root_fs pro všechny uživatele jako základ systému). Je třeba nastavit apt-get, aby bylo možné instalovat další programy, a také si musíme napsat nové soubory /etc/fstab a /etc/hosts. Po tom, co nastavíte apt-get, nainstalujte minimálně ssh. Osobně jsem ještě nainstaloval programy mc, vim a pár dalších, které většina lidí používá.

    Soubor /etc/fstab je trochu jiný, proto se mu budu věnovat trochu víc. V UML nejsou dostupná klasická zařízení pro disky typu /dev/hdX, ale používají se /dev/ubdX. Můj /etc/fstab vypadá následovně:

    /dev/ubd/0   /    xfs     defaults 0 0
    /dev/ubd/1  none  swap    defaults 0 0
    /proc       none  proc    defaults 0 0
    /dev/pts    none  devpts           0 0
    /dev/shm    none  shmfs            0 0
    /sys        none  sysfs            0 0

    Uvnitř UML nepoužívám devfs, protože mi to připadá zbytečné. Zařízení /dev/ubd/X vyrobíme následujícím způsobem:

    mkdir /dev/ubd
    cd /dev/ubd
    for i in 0 1 2 3 4 5 6 7; do mknod $i b 98 $[ $i * 16 ]; done

    Další úprava nastavení, kterou jsem provedl, je vypnutí všech konzolí v souboru /etc/inittab - kromě prvních dvou. První konzoli přiřadím na zařízení /dev/ptypX, na které se pak můžu připojit z hostitelského počítače například pomocí programu minicom (minicom -o -p /dev/ptypX) a druhou konzoli pověsím na telnet na nějaký port (například 9001 a podobně). To ovšem znamená, že si musíte do hostitelského systému nainstalovat telnet server. Z hlediska bezpečnosti to je celkem v pohodě - pokud se nebudete připojovat z jiného systému než hostitelského.

    Z pohledu UML systému pak přihlášení ze zařízení /dev/ptypX nebo telnetu vypadá, jako byste se hlásili z normální textové konzole. V logu se ukáže, že jste přišli z konzole tty0 nebo tty1.

    Samozřejmě, že se běžně na systém nebudeme přihlašovat přes minicom nebo telnet, ale ta možnost se hodí, pokud si uživatel shodí ssh a podobně. Přeci byste mu kvůli tomu nerestartovali celý stroj?

    V případě, že jste s instalací systému pro UML spokojeni a nenapadá vás co ještě nastavit, utečte z chrootu a odpojte adresář /mnt. Pokud se rozhodnete ještě změnit nějaké nastavení, tak je to samozřejmě možné.

    Spuštění

    Nyní máme připravené jádro i souborový systém pro virtuální server a můžeme ho zkusit nastartovat. Start provedeme zatím bez sítě; jen zkusíme, jestli vůbec nabootujeme. UML systému přidělíme 64 MiB RAM. První konzole virtuálního systému bude poslouchat na /dev/ptyp0 (v mém případě je to /dev/pty/s0 a /dev/ptyp0 je symlink na něj - používám na počítači DevFS) a druhá na TCP portu 9001 bude čekat na přihlášení pomocí telnetu. Nastavení con0 způsobí, že se bude na obrazovku vypisovat spouštění initu a podobně. Pro otestování základní funkčnosti nám následující příkaz stačí, pro ostrý provoz to však ještě nestačí.

    /home/uml/vmlinux mem=64M ubd0=/home/uml/debian.img \
    con0=fd:0,fd:1 con1=pty con2=port:9001

    V případě, že jste nabootovali, byste měli mít na obrazovce výstup jádra a initu. Také by se někde mělo vypsat, jaké pty zařízení je použito pro první konzoli.

    Virtual console 1 assigned device '/dev/ptyp0'

    Ještě ověříme, jestli poslouchá telnet na portu 9001:

    tsunami:~# netstat -tanp | grep 9001
    tcp   0   0 0.0.0.0:9001    0.0.0.0:*    LISTEN    23879/linux

    Vyzkoušíme přihlášení na pty zařízení:

    minicom -o -p /dev/ptyp0

    Mělo by se ukázat něco jako:

    Welcome to minicom 2.1
    
    OPTIONS: History Buffer, F-key Macros, Search History Buffer, I18n 
    Compiled on Nov 12 2003, 19:21:57.
    
    Press CTRL-A Z for help on special keys
    
    Debian GNU/Linux 3.1 umlstroj tty1
    
    umlstroj login:

    Z minicomu se odhlásíte pomocí stisku Ctrl+A Q. Přihlášení na telnet je jednoduché:

    tsunami:~# telnet localhost 9001
    Trying 127.0.0.1...
    Connected to localhost.
    Escape character is '^]'.
    Debian GNU/Linux 3.1 tsunami
    
    Debian GNU/Linux 3.1 umlstroj tty2
    
    umlstroj login:

    Pokud chcete z telnetu utéct, stiskněte Ctrl+], Ctrl+d.

    Ať už se přihlásíte přes minicom, nebo telnet, můžete se normálně přihlásit do systému. Vše, co v systému uděláte se souborovým systémem, se uloží normálně do souboru debian.img, který se pro virtuální server tváří jako disk.

    Další spouštění provedeme již jako neprivilegovaný uživatel se sítí a trochu jiným nastavením disků. Spouštění pod neprivilegovaným uživatelem znamená, že binárce uml_net, kterou použijeme pro nastavení sítě, musíme dát SUID bit. IP adresa, kterou zadáme jako parametr při spouštění, musí být jiná než adresa uvnitř UML. Je to totiž adresa lokálního síťového rozhraní. Zvolil jsem si adresu 10.0.1.1, uvnitř UML bude adresa 10.0.0.1. Aby měl UML systém přístup na síť, je třeba správně nastavit NAT na hostitelském systému. Zvolil jsem si kombinaci SNAT a DNAT.

    Soubor debian.img se systémem pro virtuální server je dobré používat pouze pro čtení a změny zapisovat někam jinam. Umožní nám to použít jeden výchozí debian.img pro více instancí UML. Mechanismus, který se pro to využívá, se nazývá Copy On Write (COW). Znamená to, že Linuxu předhodíme jako parametr další soubor, do kterého se budou zapisovat všechny změny na disku. Soubor si jádro při startu založí samo. Soubor uml_swap.img použijeme pro swapování UML systému. Vyrobíme ho pomocí programu dd. Swap:

    dd if=/dev/zero of=/home/uml/uml_swap.img
    mkswap /home/uml/uml_swap.img

    Spuštění UML systému tedy provedeme příkazem:

    /home/uml/vmlinux mem=64M \
    udb0=/home/uml/debian_cow.img,/home/uml/debian.img \
    ubd1=/home/uml/uml_swap.img con0=fd:0,fd:1 con1=pty con2=port:9001 \
    eth0=tuntap,,,10.0.1.1

    Síťování

    Privátní IP adresa

    Jakmile se přihlásíte do UML pomocí telnetu nebo minicomu, nastavte si správně soubor /etc/network/interfaces tak, aby tam byla jako lokální IP adresa na rozhraní eth0 10.0.0.1 a jako gateway 10.0.1.1. Potom proveďte restart sítě pomocí /etc/init.d/network restart. Ve výpisu dmesg v UML systému by se mělo ukázat něco jako:

    * modprobe tun
    * ifconfig tap0 10.0.1.1 netmask 255.255.255.255 up
    * bash -c echo 1 > /proc/sys/net/ipv4/ip_forward
    * route add -host 10.0.0.1 dev tap0
    * bash -c echo 1 > /proc/sys/net/ipv4/conf/tap0/proxy_arp
    done.

    Je to sada příkazů, které spustila utilita uml_net v hostitelském systému, a tím nastavila síť. Nyní byste si měli pingnout UML systém z hostitelského počítače:

    tsunami:~# ping 10.0.0.1
    PING 10.0.0.1 (10.0.0.1) 56(84) bytes of data.
    64 bytes from 10.0.0.1: icmp_seq=1 ttl=64 time=0.096 ms

    a také naopak z UML byste si měli pingnout hostitelský počítač

    umlstroj:~# ping 10.0.0.2
    PING 10.0.1.1 (10.0.1.1) 56(84) bytes of data.
    64 bytes from 10.0.1.1: icmp_seq=1 ttl=64 time=0.416 ms

    Nyní si pomocí iptables můžete nastavit SNAT a DNAT na hostitelském počítači tak, jak potřebujete.

    Veřejná IP adresa

    V případě, že se rozhodnete v UML systému použít veřejnou IP adresu, samozřejmě můžete. Postup nastavení adresy je stejný jako v minulém příkladu, jen nepotřebujete SNAT a DNAT.

    Soubory ke stažení

    • UML jádro 2.6.9 - jádro 2.6.9 přeložené pro použití jako UML (bz2 archiv, 2,3M)
    • root_fs - distribuce Debian testing připravená pro spuštění jako virtuální server, heslo uživatele root je root (bz2 archiv o velikosti 133 MiB, po rozbalení zabere na disku necelých 300 MiB)
    • uml_start - startovací skript pro UML, pokud použijete uml_new_user, tento skript se vygeneruje sám
    • uml_go - startovací skript, kterým spouštím virtuální počítače jako uživatel root
    • uml_new_user - skript pro zakládání virtuálních strojů. Použití: ./uml_new_user username distribuce
      • username je jméno uživatele, pod kterým má UML běžet.
      • distribuce je název .img souboru, který se použije jako root_fs (například debian pro soubor debian.img).
    • Jádro UML i root_fs jsou v adresáři /home/uml, UML stroje se vytvářejí v /home/virtual.

    Závěr

    Tento text neberte jako kompletní manuál, je to jen přiblížení méně známého způsobu provozu Linuxu. Originální dokumentaci najdete na stránkách projektu UML.

           

    Hodnocení: 70 %

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

    4.1.2005 02:50 Daniel Smolik | skóre: 15 | blog: marvin
    Rozbalit Rozbalit vše UML super vecicka
    Zdavim, UML je super rozbehl jsem si ho i na woodym akorat je potreba zkompilovat novejsi uml-utils. Je by me zajimalo zda nekdo nerozbehl uwoodyho to je dsitribuce zalozena na uClibc (www.uclibc.org). Snazil jsem se ale nikdy mi nenabehl jejich root fs. Dan
    4.1.2005 09:07 Roman Vasicek
    Rozbalit Rozbalit vše Typo
    s/&nsbp;/ /
    4.1.2005 09:33 Robert Krátký | skóre: 94 | blog: Robertův bloček
    Rozbalit Rozbalit vše Re: Typo
    Díky. Opraveno.
    4.1.2005 09:22 Dan Horák | skóre: 21
    Rozbalit Rozbalit vše Xen
    Uz nejakou dobu existuje projekt Xen (http://www.cl.cam.ac.uk/Research/SRG/netos/xen/index.html), ktery by mel byt nejvykonnejsim resenim pro soucasny a bezpecny beh vice OS na jednom HW. Je to neco podobneho jako je system VM pro mainframy.
    4.1.2005 12:42 Zdeněk Burda | skóre: 61 | blog: Zdendův blog | Praha
    Rozbalit Rozbalit vše Re: Xen
    O Xen vim, pokud najdu trochu casu, napisu o nem clanek.
    -- Nezdar není hanbou, hanbou je strach z pokusu.
    4.1.2005 10:44 llook | skóre: 8 | blog: l'blog | Prágl
    Rozbalit Rozbalit vše bezpečnost
    > "prakticky neexistuje cesta ven do hostitelského systému"

    A co teoreticky? Vypadá to hodně dobře, ale zajímalo by mě, jestli to opravdu je tak bezpečný, jak se tváří. To by se pak dalo využít podobně jako Jail v BSD systémech, například k pronajímání prostoru na serveru s neomezenou možností CGI skriptování apod.

    Ale jinak super článek. Je s podivem, jak srozumitelně lze tuto tématiku podat.
    10 REM Dej si pauzu... 20 FOR DELAY=1 TO 5000 : NEXT DELAY
    4.1.2005 14:21 Zdeněk Burda | skóre: 61 | blog: Zdendův blog | Praha
    Rozbalit Rozbalit vše Re: bezpečnost
    Prave kvuli pronajimani prostoru na serveru jsem se zacal UML zabyvat.

    Jsem ted v praci, takze nemuzu moc reagovat. Vecer se pokusim reakce precist a odpovedet.
    -- Nezdar není hanbou, hanbou je strach z pokusu.
    4.1.2005 19:37 deda.jabko | skóre: 23 | blog: blog co se jmenuje "každý den jinak" | za new york city dvakrát doleva a pak už se doptáte
    Rozbalit Rozbalit vše Re: bezpečnost
    taky sem se tim pred urcitou dobou (rok,dva zpet) zabyval a propad vykonu u UML byl docela znat... z tohoto pohledu by mohl byt velmi zajimavy solaris 10...
    Asi před rokem se dostali hackeři na servry Debianu a ukradli jim zdrojové kódy.
    4.1.2005 18:11 Honza Houštěk | skóre: 18
    Rozbalit Rozbalit vše Re: bezpečnost
    Mira separace je u UML podstatne vetsi, nez u BSD jailu. Je treba si uvedomit, ze hostitelsky system pouziva vlastni kernel. Pokud bych mel na Linuxu najit neco blizsihu jailum, byl by to spis vserver.
    6.1.2005 21:17 core
    Rozbalit Rozbalit vše Re: bezpečnost
    Na pronajimani prostoru mi prijde lepsi Linux-VServer http://www.linux-vserver.org/, to je BSD jailu podobne jeste vic. Jen tam doladit CPU limity (v devel verzi uz je).
    4.1.2005 11:45 petr_p
    Rozbalit Rozbalit vše Bezpecnost a la chroot?
    Velmi pekny clanek. Jen mi uteklo par detailu:

    UML podpora je primo ve vanilla jadre? Neni potreba nejaky patch?

    Co bezpecnost? Pri nastavovani sitoveho rozhrani uvnitr UML si UML jadro dokazalo spustit procesy v hostitelskem systemu. To mi neprijde zrovna nejlepsi.

    Jestli jsou moje predpoklady spravne, tak UML je dobre akorat tak na to, kdyz chci vice paralelnich systemu. Ale jako bezpecnosti opatreni je to na nic (neco jako chroot(2)).
    4.1.2005 13:39 megi
    Rozbalit Rozbalit vše Re: Bezpecnost a la chroot?
    Je v řadě 2.6.x. Jináč bezpečnost výrazně vylepší SKAS patche zde:

    http://uml.tuxrocks.com/Patches/ http://www.user-mode-linux.org/~blaisorblade/patches/skas3-2.6/

    O co jde: http://user-mode-linux.sourceforge.net/skas.html
    Stanislav Brabec avatar 4.1.2005 14:02 Stanislav Brabec | skóre: 45 | Praha
    Rozbalit Rozbalit vše dd a
    Lepší dd je:
    dd if=/dev/zero of=/home/uml/debian.img bs=1M count=0 seek=4096
    
    Váš dd udělá 4097MB, poslední MB je fyzicky alokovaný.

    Napadá mne, zdali by se nedal sloučit UML s vícevrstevnými root FS, používanými u live CD. Ušetřil by se tím prostor na disku a vyřešil by se upgrade mnoha UML - zákazníci by dostali pronajatý server na vícevrstevném souborovým systému. Ten by byl pouze ke čtení (např. přes NFS), a na něm by byla vrstva pro zápis, takže zákazník by měl právo zápisu, ale provedené změny by se ukládaly pouze lokálně. Samozřejmě /home a /tmp, a možná části /var nebo /srv, by byly čistě lokální.
    4.1.2005 14:14 megi
    Rozbalit Rozbalit vše Re: dd a
    Tohle už funguje "out of box". Jmenuje se to COW (copy on write).
    Nikola Ciprich avatar 5.1.2005 22:08 Nikola Ciprich | skóre: 23 | blog: NiX_blog | Palkovice
    Rozbalit Rozbalit vše Re: dd a
    cow je super vec, ale neni to tak jednoduche - presneji nejde pomoci cow vyresit ty upgrady: pokud uz jednou mate vytvoreny cow soubor, nesmi se menit master soubor
    Did you ever touch the starlight ? Dream for a thousand years? Have you ever seen the beauty Of a newborn century?
    4.1.2005 14:19 Zdeněk Burda | skóre: 61 | blog: Zdendův blog | Praha
    Rozbalit Rozbalit vše Re: dd a
    presne tohle je COW jak pise kolega predemnou, pokud zadam jadru pri spousteni udb0=/home/uml/debian_cow.img,/home/uml/debian.img tak debian.img je spolecny pro vsechny system, je jen pro cteni, debian_cow.img je prave ten soubor kam se zapisuji zmeny
    -- Nezdar není hanbou, hanbou je strach z pokusu.
    4.1.2005 16:03 Digero
    Rozbalit Rozbalit vše Re: dd a
    Tohle by se mi hodilo na livecd, kde bych mohl sehnat podrobnejsi info? Moc jsem toho nevygoogloval :(
    4.1.2005 17:45 Zdeněk Burda | skóre: 61 | blog: Zdendův blog | Praha
    Rozbalit Rozbalit vše Re: dd a
    tusim, ze iSteve to pouziva na sve live distribuci, koukni se jak to tam ma udelane: deadcd
    -- Nezdar není hanbou, hanbou je strach z pokusu.
    5.1.2005 00:29 Digero
    Rozbalit Rozbalit vše Re: dd a
    Tak podle FAQ to nepouziva, neda se to pouzit na komprimovany loop back fs :(
    8.1.2005 10:52 iSteve
    Rozbalit Rozbalit vše Re: dd a
    COW[loop/links] nepouzivam, pouzivam UnionFS Duvodu je nekolik, hlavni jsou:
    a) Cowloop (nasledovnik cowlinks, coz byl dost bastl) umoznuje zatim jenom jeden mountpoint.
    b) Cowloop je na device layeru, tudiz filesystem musi bejt RW, coz squash nebo iso neni. Da se to obejit (image ext2 v squashi nebo tak), ale neni to nejlepsi reseni.
    c) UnionFS je vyrazne, _vyrazne_ flexibilnejsi
    UnionFS taky budu pouzivat pro system modulu.
    4.1.2005 14:33 ondrej
    Rozbalit Rozbalit vše 32bit uml na 64 jadre
    Doteraz som neprisiel na to ako spravit 32bit UML linux na 64bit jadre. (rozne chyby pri kompilacii, s gcc a cross compilerom) Posledne som to skusal pri jadre 2.6.5. Viete niekto ako na to?
    4.1.2005 14:58 Jiří Unčovský
    Rozbalit Rozbalit vše Re: 32bit uml na 64 jadre
    Nejde, port UML pro AMD64 nejenze neexistuje, ale i kdyby se ti UML podarilo zkompilovat jako i386 aplikaci, tak syscall uname v UML bude hlasit stale amd64, takze musis zmenit bud volani syscallu uname nebo zajistit ze syscall uname bude vracet info o i386 a to v zdrojovem kodu UML, ale protoze "linux" je staticky linkovany program, tak nejde pretizit syscally pres LD_PRELOAD, ale jen trasovat procesy UML pomoci ptrace a pak po volani syscallu uname modifikovat. Nahodou takovy program jsem si napsal, takze ho muzu vystavit.
    4.1.2005 16:31 ondrej
    Rozbalit Rozbalit vše Re: 32bit uml na 64 jadre
    Ano to viem, ze neexistuje port pre amd64. Existuje linux32 co spravi zopar zazrakov a uname vracia i686. Prikaz `make memuconfig ...` prebehne v poriadku. Chyby nastanu az pri samostatnej kompilacii alebo uz pri znasilnovani ndis wrapperu tak aby sa dal skompilovat v UML. Neviem spravit cross kompilaciu v x86_64 do i686 :(

    Nuz co, Broadcom je uz dalsia firma ktorej uz nedam ani cent.
    Jiří Svoboda avatar 5.1.2005 09:33 Jiří Svoboda | skóre: 37 | blog: cat /dev/mind | Prostějov
    Rozbalit Rozbalit vše Re: 32bit uml na 64 jadre
    Sice off-topic, ale prave neuveritelne potize s kompilaci a crosskompilaci me primely k navratu (doufam docasnemu) k 32 bitum.
    Namatkove:
    64 bitovy 'mplayer' jde sice zkompilovat a bezi, ale neumi pouzivat win codecy (obcas jsou potreba). 32 bitovy nejde vubec zkompilovat (pres linux32).
    'e-uae' se pod 64 bity zkompiluje, ale pri spousteni segfaultuje, pod 32 bity opet nejde ani zkompilovat...
    5.1.2005 09:10 digri | skóre: 12 | blog: digri
    Rozbalit Rozbalit vše super clanek
    moc pekne, strucne a prakticky napsany clanek, diky :-)
    28.3.2006 13:52 JimiK | skóre: 15
    Rozbalit Rozbalit vše Re: Virtuální linuxový server - User Mode Linux
    Prosím o radu. Nevím, proč mi

    INIT: Entering runlevel: 2
    Starting system log daemon: syslogd.
    Starting kernel log daemon: klogd.
    Starting MTA: exim4.
    Starting internet superserver: inetd.
    Starting deferred execution scheduler: atd.
    Starting periodic command scheduler: cron.
    INIT: Id "2" respawning too fast: disabled for 5 minutes
    INIT: Id "3" respawning too fast: disabled for 5 minutes
    INIT: Id "4" respawning too fast: disabled for 5 minutes
    INIT: Id "5" respawning too fast: disabled for 5 minutes
    INIT: Id "1" respawning too fast: disabled for 5 minutes
    INIT: Id "6" respawning too fast: disabled for 5 minutes
    INIT: no more processes left in this runlevel
    INIT: Id "2" respawning too fast: disabled for 5 minutes
    INIT: Id "4" respawning too fast: disabled for 5 minutes
    INIT: Id "3" respawning too fast: disabled for 5 minutes
    INIT: Id "5" respawning too fast: disabled for 5 minutes
    INIT: Id "1" respawning too fast: disabled for 5 minutes
    INIT: Id "6" respawning too fast: disabled for 5 minutes

    prosím, kde bych mohl mít chybu? :(
    Stanislav Brabec avatar 28.3.2006 15:22 Stanislav Brabec | skóre: 45 | Praha
    Rozbalit Rozbalit vše Re: Virtuální linuxový server - User Mode Linux
    V inittabu (/etc/inittab). Skripty spouštěné odtud by neměly samy od sebe často končit.
    30.3.2006 19:57 JimiK | skóre: 15
    Rozbalit Rozbalit vše Re: Virtuální linuxový server - User Mode Linux
    Už jsem na to přišel :) Takže tato chybová hláška vyskakuje, když nechám přimontovaný image FS a spustím UML.
    30.3.2006 20:05 JimiK | skóre: 15
    Rozbalit Rozbalit vše Re: Virtuální linuxový server - User Mode Linux
    Hojda, zajímalo by mě, jestli lze v UML pracovat přímo se síťovkou hostitelského systému. Mám více síťových karet v pc a rád bych přímo s jednou z nich, která je připojena do jiného segmetu sítě dělal určité pokusy. Děkuji za každou radu

    Založit nové vláknoNahoru

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