Utilisation UML
Objectif
Pour se familiariser avec l'administration Linux, on peut penser que
la meilleur solution est d'administrer
de vraies machines. Cependant ça pose quelques difficultés
- Il faut disposer d'un matériel suffisant
- On en peut pas l'emporter avec soi pour travailler à la maison
- L'installation de ces
machines prend du temps. Or justement il s'agit de "bricoler" avec un
risque important de fausse manoeuvre, qui demande ensuite de
réinstaller.
- problème de sécurité: on ne peut pas les connecter au réseau.
D'où l'intérêt des machines virtuelles, qui sont des logiciels
qui simulent une machine réelle. Ce qu'on pert en réalisme (accès au vrai matériel) est largement compensé par le temps gagné, la possibilité de jouer
avec plusieurs machines (que l'on peut aussi mettre en réseau, etc.
User Mode Linux
Ici on utilise User-Mode-Linux (UML) qui est un programme, fonctionnant en
mode utilisateur, utilisateur qui se comporte comme un noyau. Il lance
donc un processus init qu lui-même lance d'autres
processus. Ces processus font appel à lui comme à un vrai noyau pour
ouvrir des fichiers, lire et écrire etc. Il se contente de relayer ces
appels en appels vers le vrai noyau.
UML utilise de fichiers pour simuler des disques. Chaque utilisateur
peut donc disposer d'un ou plusieurs "filesystems" (d'une centaine de
mégas chacun).
Utilisation pratique d'UML
Au département informatique de l'IUT de Bordeaux, des scripts permettent
de lancer facilement des machines virtuelles
- "run-slack [-m nom]"
Lance une machine virtuelle contenant une distribution SlackWare 8.1. On peut
lui donner un nom, par défaut c'est sl81a.
- "run-debian [-m nom]"
Lance une machine virtuelle contenant une distribution Debian Woody. On peut
lui donner un nom, par défaut c'est deb30.
Au démarrage on voit le noyau UML démarrer, et une "console virtuelle" s'ouvrir.
Le "disque virtuel" qui contient la racine est lié au pseudo-périphérique
/dev/ubd0
Lorsqu'on arrête une machine virtuelle (commande halt), ce
"disque virtuel" est stocké dans votre répertoire ~/.cows
sous forme compressée, ce qui prend un peu de temps (mais économise
beaucoup de place)
Login, Arrêt, redémarrage
- Pour se connecter la première fois, utiliser le compte
root, qui n'a pas de mot de passe au départ (mais vous pouvez
en mettre un avec la commande passwd)
- Pour arrêter la machine depuis le compte root vous pouvez utiliser
les commandes
Pour arrêter et redémarrer
Il est aussi possible d'arrêter la machine virtuelle
depuis la machine hôte, par la commande
uml_mconsole sl81 halt
Un peu d'administration
Ajoutez des utilisateurs en utilisant adduser et
useradd.
Donnez-leur des mots de passe.
Vérifiez qu'ils peuvent bien se connecter (règle de base de l'administration:
tant que ça n'a pas été testé et vérifié, ça ne marche pas).
(à suivre)
Last modified: Tue Nov 9 12:23:43 CET 2004