## ||Page en cours d'écriture !|| Cette page présente un exemple d'utilisation de UML (User Mode Linux) sous Ubuntu. = Présentation = UML est une technique permettant de faire tourner un système Linux quasiment complet comme un simple processus utilisateur. Cela autorise donc n'importe quel utilisateur à lancer un serveur Linux virtuel sans aucun risque pour la sécurité de la machine. = Pré-requis = Aucun : il y a tout ce qu'il faut avec Ubuntu "Gutsy Gibbon" 7.10 ! ;-) En cherchant bien vous pourrez même trouver ce qu'il faut pour Feisty. = Installation = Commencer par installer les paquets utiles : {{{ sudo aptitude install user-mode-linux uml-utilities }}} Et c'est tout ! Car le reste (patch UML dans le noyau) a déjà été fait par Ubuntu ! Le seul point un peu subtil est, comme d'habitude, la configuration du réseau du serveur virtuel. Et toujours comme d'habitude il y a plusieurs possibilités. La plus sécurisée étant probablement du NAT avec le service `uml-net` et la plus pratique étant sans-doute de faire un pont Ethernet mais [[ProgFou|je]] n'ai pas encore testé cette solution. Contenu utile du fichier `/etc/default/uml-utilities` : {{{ UML_SWITCH_START="true" UML_SWITCH_OPTIONS="-tap tap0" UML_SWITCH_USER="uml-net" }}} Contenu utile du fichier `/etc/network/interfaces` : {{{ auto tap0 iface tap0 inet static address 192.168.127.254 netmask 255.255.255.0 network 192.168.127.0 broadcast 192.168.127.255 tunctl_user uml-net }}} Activer ensuite l'interface une première fois (évite le redémarrage) : {{{ sudo ifup tap0 }}} Et relancer le service réseau pour UML : {{{ sudo /etc/init.d/uml-utilities restart }}} = Préparation = On commence par se créer un disque virtuel (un simple fichier vide suffit) : {{{ dd if=/dev/zero of=~/mon-disque-uml bs=1K seek=1M count=1 }}} Ensuite on crée un système de fichiers dessus : {{{ mkfs -t ext3 ~/mon-disque-uml }}} On monte ce système de fichier : {{{ sudo mount ~/mon-disque-uml /mnt/ }}} Et on y installe un serveur : {{{ sudo debootstrap etch /mnt/ http://ftp.fr.debian.org/debian/ }}} On y désactive ensuite toutes les consoles sauf une : {{{ sudo sed -i '/^[2-6]:/s/^/#/' /mnt/etc/inittab }}} Et finalement on y ajoute une ligne pour accéder aux modules noyau : {{{ echo "hostfs /lib/modules hostfs /usr/lib/uml/modules 0 0" | sudo tee -a /mnt/etc/fstab }}} = Utilisation = Il suffit de lancer le programme `linux.uml` avec les options adéquates pour obtenir tout de suite un serveur Linux virtuel fonctionnel : {{{ linux.uml mem=256M ubd0=~/mon-disque-uml eth0=daemon }}}