[LinuxFocus-icon]
LinuxFocus article number 283
http://linuxfocus.org

[Floris
Lambrechts]
par Floris Lambrechts
<floris-(at)-linuxfocus-(dot)-org>

L´auteur:

Dans quelques mois, je serai officiellement ingénieur industriel en électronique/TIC. J'apprécie les logiciels libres, les standards ouverts et les jolies interfaces utilisateur.



Traduit en Français par:
Jean-Etienne Poirrier (homepage)

Entretien avec Jeff Dike

[Illustration]

Résumé:

User Mode Linux, UML en abrégé, est une des nombreuses fonctionnalités intéressantes que le dernier noyau Linux (2.6.x) apporte sur votre bureau, serveur ou périphérique mobile. Cet entretien est une transcription éditée d'une conversation par courriel que j'ai eue avec le créateur d'UML, Jeff Dike, en Janvier 2003.

À la fin, David Coulson s'invite pour nous donner quelques mots au sujet des outils pour gérer les systèmes UML.


_________________ _________________ _________________

 

Introduction

Comme toujours, le noyau en développement de Linux étant conçu par des hackers du monde entier (note : au moment de cet entretien, il s'agit du noyau 2.5), il contient une grande quantité de nouvelles fonctionnalités. Alors qu'UML est une de celles-là, il est tout à fait spécial : il a la possibilité de changer la manière dont vous administrez vos systèmes Linux.
Parce que nous pensons qu'il mérite plus d'attention qu'il n'en a reçu, nous mettons en valeur UML dans un entretien introductif spécial avec rien de moins que le meneur du projet lui-même : Jeff Dike

 

Jeff lui-même

LF: Donc, vous êtes Jeff Dike, le gars responsable du projet UML. Pouvez-vous vous introduire brièvement ?

JD: Oui, vous m'avez trouvé ...

OK, voici un court texte de présentation de Bill Stearns qui est mon biographe officiel :

Jeff a fini son tour de service pour l'état du New Hampshire quand on lui a accordé la liberté conditionnelle en 1992. Depuis, il a servi comme combattant de la liberté en Idaho pour le Front de Libération des Pommes de terre, un extra dans « Death to Smoochy » (corps mort n° 7) et comme amidonneur principal dans la plus grande blanchisserie chinoise de Deering (New Hampshire). Il est en cours de réécriture du noyau Linux sous forme de fichier batch DOS.

LF: Travaillez-vous sur UML de manière (semi-)professionnelle ou c'est juste un hobby ?

JD: C'est plus ou moins un hobby. J'ai reçu beaucoup d'aide de Dartmouth ISTS (www.ists.dartmouth.edu) pour le travail UML en relation avec les pots de miel (honeypot). J'ai aussi eu un support occasionnel d'entreprises qui voulaient que des fonctionnalités soient ajoutées ou que des bugs soient corrigés.

LF: Tout d'abord, commençons d'abord par les bases. Après lecture du site web user- mode-linux.sourceforge.net, ma compréhension de base du concept est qu'UML est un noyau Linux qui tourne sur un autre noyau « hôte ». Par conséquent, le noyau UML vit dans l'espace utilisateur et fournit du matériel « virtuel » à tout ce qui tourne sous lui. Est-ce que j'ai bien compris ?

JD: Oui. UML traite un système Linux comme une plateforme sur laquelle il serait possible de porter Linux, de manière exactement analogue à porter Linux sur une simple machine x86 ou ppc. Bien sûr, Linux comme plateforme pour faire tourner un système d'exploitation, c'est très différent d'une plateforme matérielle ; et une des choses que UML a prouvé par son existence est que l'interface d'appel au système de Linux est suffisamment riche pour qu'un système d'exploitation puisse y être implémenté.

Le matériel d'UML est virtuel, dans le sens qu'il accède à toutes les ressources extérieures à travers le noyau hôte. Normalement, cela signifie que les périphériques vus par une instance UML sont vraiment virtuels, par exemple un « disque » qui est réellement un fichier sur le système hôte. Cependant, vous pouvez assigner un disque physique, une partition, un lecteur CD-ROM ou de disquette à un périphérique bloc d'UML par l'intermédiaire de fichier de périphérique ; et UML va être capable d'accéder aux données dessus. Cependant, il ne sera pas capable de fournir des commandes de bas niveau au périphérique de la même manière que le pilote du noyau hôte le fait.

Cependant, il y a eu du travail dans cette direction, avec un patch récemment posté qui prétend (je n'y ai pas encore regardé) permettre aux pilotes de périphérique de stockage PCI d'être construits dans UML et piloter les périphériques physiques appropriés.

LF: Donc, il tourne *effectivement* dans l'espace utilisateur ... Peut-on le faire tourner sans être root ? Peut-on même le faire tourner en chroot ?

JD: Oui et oui. En fait, je décourage fortement de le faire tourner avec root, non pas parce qu'il y a quelque grand danger à cela, mais parce que c'est totalement injustifié. Certains utilisateurs ont quelques problèmes à s'habituer à l'idée qu'il peuvent faire tourner UML comme utilisateur normal et, ensuite, devenir root dans l'UML, avec tous les privilèges qui vont avec. Ils pensent qu'ils ont besoin de faire tourner UML sous root, c'est pourquoi je dis très catégoriquement que ce n'est pas nécessaire et leur démontrer que c'est vrai leurs fournit une bonne expérience d'apprentissage. Je suis aussi satisfait de voir que cette attitude ait pris dans la communauté d'utilisateurs d'UML - je ne dois plus que très rarement faire cette ré-éducation ; d'autres utilisateurs le font maintenant pour moi.

On peut le faire tourner en chroot et c'est la procédure recommandée pour les gens qui utilisent UML pour contenir des logiciels ou des utilisateurs potentiellement hostiles, comme couche de protection supplémentaire pour l'hôte dans l'éventualité où quelqu'un trouverait un moyen de le casser.

LF: Il y a la série 2.4 et la nouvelle série 2.5 d'UML. Peut-on faire tourner un UML 2.5 sur un noyau hôte 2.4 et vice-versa ?

JD: Il n'y a, fondamentalement, aucune dépendance entre la version du noyau hôte et la version du noyau UML. Pourvu que l'hôte puisse faire tourner UML, il peut faire tourner n'importe quelle version d'UML.

LF: Génial ... Est-il dépendant de la plateforme x86, alors ? Est-ce qu'il tourne sur MIPS ou PPC, par exemple ?

JD: Non, il ne le fait pas. Il y avait un portage pour ppc qui était presque complètement fonctionnel, à moment donné. Mais il a arrêté d'être maintenu et il n'est plus utilisable. Les portages sont certainement possibles et ne devraient pas être si durs. Je souhaiterais en voir quelques uns, surtout s'ils seront maintenus.

LF: Donc, à moins que quelqu'un ne se charge de ce travail, il y a actuellement une partie du noyau qui n'est pas encore portée ?

JD: Non. UML est un portage. Vous ne pouvez pas dire qu'il n'a pas été porté. Porter UML sur une autre architecture est un peu comme porter un architecture matérielle vers une nouvelle puce dans la même architecture.

LF: J'ai compris la situation. Alors, à propos des portages « réels » : quelle charge de travail aurait une personne pour faire tourner UML sous Windows ?

JD: Cela a déjà été (presque) réalisé deux fois. L'effort le plus réçent a apparemment demandé une semaine de codage. Le plus ancien (http://umlwin32.sf.net) a été réalisé sur le temps libre des gens sur une période de plusieurs mois ; il est ainsi difficile de dire combien d'efforts continus cela représente.

Et je souhaiterais juste dire que cela serait bien qu'un de ces ports soit fini et débuggé. Il y a beaucoup de demande et d'intérêt à faire tourner UML sous Windows.

LF: Que ressentez-vous à propos de l'inclusion d'UML dans l'arbre officiel de Linux 2.5 ?

JD: Techniquement, ce n'est pas compliqué. J'ai maintenu UML en dehors de l'arbre pendant plus de trois ans (et je continuerai de maintenir UML 2.4 en dehors de l'arbre) et il n'y aurait pas eu de problèmes à continuer à le faire.

La reconnaissance que cela apporte était sympathique. Lorsque Linus a fusionné UML dans le noyau 2.5, le monde a vu que UML valait la peine (et une bonne partie du monde s'est rendu compte de l'existence d'UML pour la première fois). Aussi loin que cela me concerne, ce « sceau d'approbation » est probablement l'aspect le plus significatif du fait d'avoir UML dans l'arbre de Linux. Maintenant, il ne peut pas être écarté comme un patch noyau dérangé, par les fanatiques du développement d'un noyau respectable.

LF: UML est un nouveau concept pour les administrateurs système, une région inexplorée. Est-ce que les outils de gestion d'UML (comme UMLd) sont déjà matures - sont-ils efficaces pour gérer les nouveaux défis qu'UML crée pour les administrateurs système ?

JD: C'est une question à poser à Bill Stearns ou David Coulson. J'essaie de ne m'impliquer strictement qu'avec le noyau et je laisse les outils de gestion à d'autres personnes.

LF: David ? Que peut-on dire d'UMLd ?

DC: UMLd est un démon qui gère les UML autant pour les utilisateurs que pour les administrateurs. Pour les utilisateurs, il leur permet de relancer un UML crashé, de mettre à jour le noyau, sans avoir un accès à la ligne de commande de la machine. Pour les administrateurs, il permet aux UML d'être contrôlés et modifiés, même créés, sans avoir à déranger les fichiers sur le serveur.

Idéalement, UMLd devrait être capable de contrôler tous les aspects d'UML, ce qu'il fait pour la plupart d'entre eux. Cependant, comme UML est constamment en développement, UMLd doit se tenir à jour avec tout ce qui est ajouté au noyau UML.

(...)
J'ai fait tourner UMLd sur deux hôtes et plus de 30 réseaux UML pour un certain nombre de mois. Et je n'ai eu que très peu de problèmes avec. Je l'utilise pour construire tous mes UML, les relancer, mettre à jour les noyaux, etc. Pour être utile aux utilisateurs finaux, UMLd a vraiment besoin d'une jolie interface GUI écrite pour lui, ce que je commencerais probablement à écrire une fois que je serais satisfait des fonctionnalités d'UMLd et que le protocole qu'utilise UMLd pour communiquer avec les clients aura été stabilisé.

LF: Vous semblez vous amuser beaucoup. Un exemple : le concours sur les boîtes UML du « Désastre du mois de l'administrateur système »; un autre exemple est cette citation : « UML pour s'amuser et pour le profit / Bon, oubliez la partie sur le profit » (http://uml.openconsultancy.com/). Est-ce que UML est quelque chose entre un jouet et un outil ou vous êtes juste des gens avec humour ?

JD: Je pense que c'est cette dernière [nous sommes des gens avec humour]. UML a regroupé un ensemble de gens qui, incidemment, ont un sens de l'humour légèrement décalé donc, bien sûr, nous nous entendons bien :-)

Il se pourrait aussi que ce monde virtualisé d'univers à l'intérieur d'autres univers attire des gens avec une certaine mentalité et cela pourrait expliquer les quelques brins d'humour ici et là.

Peu importe si ce que nous faisons est sérieux ou si les implications et les usages sont sérieux, vous devez vous amuser. Le monde serait très morne si ce que vous faites ne vous permet pas de vous amuser d'une certaine manière.

LF: Seize mois après les premières questions, avez-vous des remarques complémentaires ?

JD: Je mentionnerais aussi qu'il y a un portage d'UML pour x86_64 que j'espère sortir bientôt.

J'ai également écrit plus de choses encore sur les nouveautés dans UML et ce qui va venir dans mon journal.

 

Conclusion

User Mode Linux est un ajout intéressant au noyau Linux qui est idéal pour tester et faire des démonstrations d'applications, noyaux et distributions. Il peut être aussi utilisé pour rendre l'« hébergement virtuel » plus flexible en donnant aux gens leur « propre » image virtuelle de Linux avec accès root sans mettre en danger le système hôte.

 

Références



Site Web maintenu par l´équipe d´édition LinuxFocus
© Floris Lambrechts
"some rights reserved" see linuxfocus.org/license/
http://www.LinuxFocus.org
Translation information:
en --> -- : Floris Lambrechts <floris-(at)-linuxfocus-(dot)-org>
en --> fr: Jean-Etienne Poirrier (homepage)

2005-01-22, generated by lfparser_pdf version 2.51