Modifications entre les versions 2 et 3
Version 2 à la date du 2007-12-07 21:21:27
Taille: 2708
Commentaire: zou, une doc de faite !
Version 3 à la date du 2007-12-07 21:26:44
Taille: 2700
Commentaire: mise en forme
Texte supprimé. Texte ajouté.
Ligne 38: Ligne 38:
        #hwaddress ether FE:FD:00:00:00:FE
Ligne 43: Ligne 42:
{{{ifup tap0}}} {{{
ifup tap0
}}}
Ligne 46: Ligne 47:
{{{/etc/init.d/uml-utilities restart}}} {{{
/etc/init.d/uml-utilities restart
}}}
Ligne 51: Ligne 54:
{{{dd if=/dev/zero of=~/mon-disque-uml bs=1K seek=1M count=1}}} {{{
dd if=/dev/zero of=~/mon-disque-uml bs=1K seek=1M count=1
}}}
Ligne 54: Ligne 59:
{{{mkfs -t ext3 ~/mon-disque-uml}}} {{{
mkfs -t ext3 ~/mon-disque-uml
}}}
Ligne 57: Ligne 64:
{{{sudo mount ~/mon-disque-uml /mnt/}}} {{{
sudo mount ~/mon-disque-uml /mnt/
}}}
Ligne 60: Ligne 69:
{{{sudo debootstrap etch /mnt/ http://ftp.fr.debian.org/debian/}}} {{{
sudo debootstrap etch /mnt/ http://ftp.fr.debian.org/debian/
}}}
Ligne 63: Ligne 74:
{{{sudo sed -i '/^[2-6]:/s/^/#/' /mnt/etc/inittab}}} {{{
sudo sed -i '/^[2-6]:/s/^/#/' /mnt/etc/inittab
}}}
Ligne 66: Ligne 79:
{{{echo "hostfs /lib/modules hostfs /usr/lib/uml/modules 0 0" | sudo tee -a /mnt/etc/fstab}}} {{{
echo "hostfs /lib/modules hostfs /usr/lib/uml/modules 0 0" | sudo tee -a /mnt/etc/fstab
}}}
Ligne 71: Ligne 86:
{{{linux.uml mem=256M ubd0=~/mon-disque-uml eth0=daemon}}} {{{
linux.uml mem=256M ubd0=~/mon-disque-uml eth0=daemon
}}}

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 user-mode-linux et 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) :

ifup tap0

Et relancer le service réseau pour UML :

/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

UserModeLinux (dernière édition le 2008-02-21 22:09:26 par localhost)