mercoledì 11 gennaio 2006, 11:57
Descrivere User Mode Linux, in parole semplici puo' risultare difficile, ma comunque si puo' sintetizzare dicendo che: e' un insieme di patch al kernel linux che permette a quest'ultimo di girare come un normale processo utente di un qualsiasi sistema. In questo modo si puo' "far girare Gnu/Linux, sopra a Gnu/Linux".
Sul sito ufficiale, si possono trovare già i pacchetti pre-compliati per quasi tutte le distribuzioni, mentre nel caso qualcuno fosse interessaro a compilarsi un kernel UML, trova una guida alla comilazione di tale kernel sul sito http://www.pluto.it
Nel sottosistema creato da un UML si puo' eseguire qualunque programma vi venga in mente, e, al contrario delle tradizionali virtual machine, il tutto avviene senza una perdita sensibile di prestazioni.
L'utilita' di un simile sistema e' ovvia:
* a possibilita' di effettuare prove in un ambiente protetto
* la possibilita' di simulare reti con tanti nodi
* l'utilita' in ambito didattico: e' possibile far provare agli utenti l'ebbrezza dell'essere amministratori di una loro macchina, pur non disponendo in tal senso della macchina ospite
* la possibilita' di creare "gabbie" dentro cui far girare servizi che possono dare problemi di sicurezza, ancor piu' completamente che con chroot.
Vediamo ora come utilizzare UML sulle macchine presenti nel Laboratorio InfoMec (Dip. Ingegneria di Modena):
Scarichiamo i binari messi a disposizione dal prof
$ wget http://weblab.ing.unimo.it/retilab/uml.tar.gz
Scompattiamoli all'interno della directory in cui ci troviamo, o in una a nostra scelta
$ tar xzf uml.tar.gz oppure $ tar xzf uml.tar.gz -C path_dove_scompattare
a questo punto scarichiamo le immagini dei file system del sistema forniti dal prof (a seconda di quello che ci viene richiesto):
$ wget http://weblab.ing.unimo.it/retilab/installato.tar.bz2 (sistema installato base)
oppure
$wget http://weblab.ing.unimo.it/retilab/installato1.tar.bz2 (sistema con gia' installato apache e php)
scompattiamo il file che ci interessa all'interno della stessa directory
$ tar xjf installato.tar.bz2
a questo punto all'interno della directory dovrebbero esservi i seguenti file:
1) linux
2) port-helper
3) root1.ext2
4) uml_moo
5) uml_switch
6) usr.ext2
se i file risultano essere i 6 sopraelencati, a questo punto siamo pronti per far partire UML, dobbiamo avere attive almeno 2 konsole, sulla prima "lanciamo" il file uml_switch
$ ./uml_switch
ora sull'altra konsole "lanciamo" UML
$ ./linux ubd0=root1-1.cow,root1.ext2 ubd1=usr-1.cow,usr.ext2 eth0=daemon,,unix,/tmp/uml.ctl devfs=mount
ora avete il vostro sistema Gnu/Linux funzionante in UML, non vi resta altro che loggarvi
NB: se avete avviato l'immagine di sistema "installato1" alcuni comandi potrebbero non funzionare, quindi dovrete esportare il $PATH di sistema (ma questo è una vecchia lezione di Sistemi Operativi, quindi dovreste già sapere come si fà...)
Se ora volete avviare altri sistemi Gnu/Linux in UML, vi basta "ri-lanciare" il comando precedente su un'altra konsole, ma cambiando il nome dei file *.cow, in quanto tali file creano una copia del sistema base, in modo tale da conservare le modifiche che apportiamo
Enjoy & Happy Hacking a tutti ;-P
Giordy
[ 2 commenti ] ( 91 visite )
Indietro





