User mode Linux futtatása
Az UML futtatásához szükséges az uml-utilities csomag telepítése.
UML indítása
# linux ubd0=/media/uml eth0=tuntap,tap0,, mem=128M
Az ubd0 után meg kell adni, hogy éppen melyik képfájlt szeretném használni, az eth0 után pedig azt, hogy a virtuális gép eth0 hálózati csatolójának melyik, a hoston létrehozott tap eszköz lesz a párja. A rendelkezésére álló memória méretét a mem opció után lehet beállítani. A parancs futtatását követően a rendszer indulásához hasonló folyamat megy végbe. Eredményeként megjelenik a konzol, amibe jelszó nélkül lehet bejelentkezni root felhasználóként. Az első teendő a root felhasználó jelszavának megváltoztatása és egy átlagos jogosultsággal rendelkező felhasználó létrehozása. Következő lépés a működés vizsgálatára a hálózat ellenőrzése. A host gép bármely tap csatlakozójának sikeres pingelése nyugtázza, hogy a hálózati kapcsolat a virtuális és host gép között megfelelően működik.
Következő lépésként a host gépen utat kell nyittatni az UML- nek a külső hálózat felé, gondoskodni kell a válasz üzenetek megérkezéséről, ezt a második parancs eredményezi.
# iptables -A POSTROUTING -t nat -o eth0 -j MASQUERADE
# echo "1" > /proc/sys/net/ipv4/ip_forward
Az előző tűzfalszabályokat szintén a /etc/rc.local fájlba kell bemásolni, hogy induláskor lefussanak.
A távoli elérés érdekében a legelső csomag az ssh, amit telepítettem. Ennek sikeressége és kipróbálása után a /etc/inittab fájlban komment (#) jelet tettem a maradék konzol sora elé.
Ezzel a lépéssel az alaprendszer működőképessé vált, csak a hálózati beállítások módosítása szükséges a sokszorosításához.
Az UML-ek indulását automatizáltam a host gép indulásával, így egy esetleges leállás után is hamar helyreáll a rendszer. Ehhez a screen csomag telepítésre volt szükség. A screen parancs hatására a felhasználó konzolján egy virtuális konzol nyílik. Ez hasznos eszköz olyan feladatok futtatásánál, amelyeket távolról szeretnénk futtatni, de folyamatosan a képernyőre írnak, vagy nem tehetők háttér alkalmazássá.
Az automatikus indításhoz létrehoztam két egyszerű scriptet:
#!/bin/sh
linux ubd0=/media/uml_apache eth0=tuntap,tap0,, mem=128M ;
3.Kódrészlet
#!/bin/sh
linux ubd0=/media/uml_sql eth0=tuntap,tap1,, mem=128M;
4.Kódrészlet
A létrehozott szkriptekre futtatási jogot adtam a chmod +x startuml_{apache,sql} paranccsal.
A /etc/rc.local nevű script minden rendszerinduláskor lefut, így ide helyeztem az indító parancsokat:
screen -S apache -md startuml_apache;
screen -S sql -md startuml_sql;
5.Kódrészlet
A screen parancs –S kapcsolója nevet rendel a virtuális konzolhoz, a –md kapcsoló után pedig a futtatni kívánt alkalmazás nevét lehet írni. Az előző beállítások azt eredményezték, hogy a host gép indulásakor automatikusan indul el a két virtuális kiszolgáló, amelyek a fenti parancs kiadását követően 20 -25 másodperccel készen állnak a munkára.