original in en Floris Lambrechts
en to de Viktor Horvath
In ein paar Monaten werde ich Elektrotechniker sein. Ich mag freie Software, offene Standards und nette Benutzerschnittstellen.
User Mode Linux, kurz UML, ist eines der vielen interessanten Features, das der neueste Linux-Kernel (2.6.x) f�r deinen Desktop, deinen Server oder dein mobiles Ger�t mitbringt. Dieses Interview ist eine editierte Abschrift einer e-mail-Diskussion, die ich mit dem Erfinder von UML, Jeff Dike, im Januar 2003 gef�hrt habe.
Zum Ende erw�hnt David Coulson kurz ein Werkzeug, um UML-Systeme zu verwalten.
Wie immer enth�lt der Linux-Entwicklungskernel, an dem Entwickler rund um die Welt arbeiten, eine ganze Masse neuer Features. Obwohl UML nur eins davon ist, so ist es doch etwas Besonderes - es hat das Potential, die Art der Verwaltung deiner Linux-Systeme zu �ndern. Weil wir glauben, da� es mehr Aufmerksamkeit verdient, als es bisher erhalten hat, pr�sentieren wir es in einem einleitenden Interview mit keinem Geringeren als dem Projektleiter h�chstpers�nlich, Jeff Dike.
LinuxFocus: Du bist Jeff Dike, „der Verantwortliche“ f�r das UML-Projekt. Kannst du dich kurz vorstellen?
Jeff Dike: Ja, du hast mich gefunden...
OK, hier ist ein kurzer Satz von Bill Stearns, meinem offiziellen Biographen:
Jeff wurde von seiner Dienstreise nach New Hampshire 1992 entlassen. Seither diente er als Freiheitsk�mpfer in Idaho f�r die Potato-Befreiungsfront, als Leiche Nr. 7 in „T�tet Smoochy“ und als bleihaltiger W�schest�rker in der gr��ten chinesischer W�scherei in Deering, New Hampshire. Er schreibt zur Zeit den Linux-Kernel neu als eine DOS-Batchdatei.
LF: Arbeitest du an UML (semi-)professionell, oder ist es nur ein Hobby?
JD: Es ist mehr oder weniger ein Hobby. Ich habe viel Unterst�tzung von Darthmouth ISTS erhalten (www.ists.dartmouth.edu) f�r die Fliegenf�nger-bezogene Arbeit �ber UML. Ich wurde auch manchmal von Firmen unterst�tzt, die neue Features oder Bugfixes haben wollten.
LF: La� uns zuerst die Grundlagen klarstellen. Nach der Lekt�re der Webseite user-mode-linux.sourceforge.net verstehe ich das Konzept so: UML ist ein Linux-Kernel, der auf einem weiteren „Host-Kernel“ l�uft. Der UML-Kernel lebt also im Userspace und bietet aller Software, die auf ihm l�uft, „virtuelle“ Hardware. Stimmt das so?
JD: Ja. UML behandelt ein Linux-System als irgendeine Plattform, auf die Linux vielleicht portiert werden kann, das ist genau wie wenn man eine nackte x86- oder PowerPC-Maschine ansieht und erw�gt, Linux darauf zu portieren. Nat�rlich ist Linux als eine Plattform f�r ein Betriebssystem ganz anders als eine Hardware-Plattform, und wie UML durch seine Existenz beweist, ist die Schnittstelle der Linux-Systemaufrufe reichhaltig genug, da� ein Betriebssystem damit implementiert werden kann.
Die Hardware von UML ist virtuell in dem Sinn, da� sie alle �u�eren Ressourcen durch den Host-Kernel anspricht. Normalerweise bedeutet dies, da� die von einer UML-Instanz gesehenen Ger�te tats�chlich virtuell sind, z.B. eine „Festplatte“, die in Wirklichkeit eine Datei auf dem Host ist. Allerdings kannst du auch eine physische Festplatte, Partition, CD-ROM oder Diskette �ber ihre Ger�tedatei einem UML-Ger�t zuordnen, und UML wird auf die darauf enthaltenen Daten zugreifen k�nnen. Es wird jedoch nicht Befehle auf maschinennaher Ebene auf dieselbe Weise an das Ger�t schicken k�nnen, wie es der Treiber im Host-Kernel macht.
Es hat jedenfalls einige Arbeit in diesem Bereich gegeben, und k�rzlich wurde ein Patch ver�ffentlicht, der es angeblich erm�glicht, herk�mmliche PCI-Ger�tetreiber in UML einzubauen, die dann die entsprechenden physischen Ger�te steuern; ich habe mir das noch nicht angesehen.
LF: Es l�uft also wirklich im Userspace... kannst du es als normaler Benutzer starten? Kannst du es sogar mit chroot benutzen?
JD: Zweimal ja. Ich rate sogar dringend davon ab, es als root zu starten, nicht weil das gef�hrlich ist, sondern weil es v�llig sinnlos ist. Manche Nutzer k�nnen sich nicht mit der Idee anfreunden, da� sie UML als normaler Benutzer starten und darin dann zum root mit all seinen Rechten werden. Sie glauben, sie m��ten UML als root starten; ich sage ihnen sehr deutlich, da� das nicht n�tig ist, und wenn sie begreifen, da� es stimmt, ist es eine Lernerfahrung f�r sie. Ich bin erfreut, da� diese Einstellung in der UML-Nutzergemeinschaft Fu� gefa�t hat - ich mu� diese Art von Erziehung kaum noch selber machen; andere Nutzer machen das f�r mich.
Es kann mit chroot aufgerufen werden, und das ist auch die empfohlene Vorgehensweise f�r Menschen, die UML verwenden, um darin m�glicherweise feindliche Software oder Nutzer unterzubringen - als eine zus�tzliche Schutzschicht f�r den Host, falls einer es schafft, aus UML auszubrechen.
LF: Es gibt eine 2.4- und die neuere 2.5-Serie von UML. Kann man UML 2.5 auf einem 2.4-Host-Kernel laufen lassen und umgekehrt?
JD: Grunds�tzlich gibt es keine Abh�ngigkeiten zwischen der Host- und der UML-Kernelversion. Solange der Host �berhaupt UML starten kann, kann er jede Version von UML starten.
LF: Cool... ist es denn von der x86-Plattform abh�ngig? L�uft es z.B. auf MIPS oder PowerPC?
JD: Nein. Es gab einen PowerPC-Port, der einmal fast voll funktionsf�hig war, aber er wurde dann nicht mehr gepflegt und ist verfallen. Ports sind sicherlich m�glich und sollten nicht so schwer sein. Ich w�rde gerne welche sehen, vor allem, wenn sie gepflegt werden.
LF: Solange also keiner diese Arbeit wiederaufnimmt, ist sie ein Teil des Kernels, der nicht portiert ist?
JD: Nein. UML ist ein Port. Man kann nicht sagen, da� er nicht portiert sei. UML auf eine neue Architektur zu portieren ist so �hnlich wie eine Hardware-Architektur auf einen neuen Chip in derselben Architektur zu portieren.
LF: Ich verstehe. Wie steht es mit „echten“ Ports: Wieviel Arbeit w�re es, UML auf Windows lauff�hig zu machen?
JD: Das ist bereits (fast) zweimal getan worden. Der neueste Versuch hat offenbar eine Woche Hacking gekostet. Der �ltere (http://umlwin32.sf.net) geschah �ber Monate hinweg in der Freizeit einiger Leute, daher ist es schwer zu sagen, wieviel kontinuierlichem Zeitaufwand das entspricht.
Ich m�chte noch hinzuf�gen, da� es gut f�r einen dieser Ports w�re, fertiggestellt und entwanzt zu werden. Es gibt viel Nachfrage und Interesse in UML, das auf Windows l�uft.
LF: Wie gefiel es dir, da� UML im offiziellen Linux-Kernel 2.5 enthalten ist?
JD: Technisch ist das keine gro�e Sache. Ich habe UML au�erhalb der Kernelquellen mehr als drei Jahre lang gepflegt (und ich mache das weiterhin f�r den UML-Kernel 2.4), und es w�re kein Problem gewesen, so fortzufahren.
Die damit verbundene Anerkennung war nett. Als Linus UML in 2.5 aufnahm, sah die Welt, da� sich UML lohnt (und ein guter Teil der Welt wurde zum ersten Mal auf UML aufmerksam). Dieses „G�tesiegel“ ist wohl der bedeutendste Aspekt, UML in Linus' Quellen zu haben, soweit es mich betrifft. Es kann nun nicht mehr als ein verr�ckter Patch am Rande einer respektablen Kernel-Entwicklung abgetan werden.
LF: UML ist ein neues Konzept f�r Systemadministratoren, ein unerforschtes Gebiet. Sind die Tools zur UML-Verwaltung (wie UMLd) bereits reif - sind sie eine effektive Antwort auf die neuen Herausforderungen, die UML den Administratoren schafft?
JD: Diese Frage sollte Bill Stearns oder David Coulson gestellt werden. Ich besch�ftige mich ausschlie�lich mit dem Kernel und �berlasse die Verwaltungswerkzeuge anderen.
LF: David, was ist mit UMLd?
David Coulson: UMLd ist ein Daemon, der UMLs f�r Nutzer und Administratoren verwaltet. Nutzern erlaubt er, ein abgest�rztes UML neuzustarten oder den Kernel zu aktualisieren, ohne Zugang zu einer Kommandozeile auf der Maschine zu haben. Administratoren erm�glicht er die Kontrolle und Ver�nderung von UMLs, sogar die Erzeugung, ohne Kampf mit Dateien auf dem Server.
Idealerweise w�re UMLd f�hig, jeden Aspekt des UML zu steuern, was er zum gr��ten Teil tut. Weil UML jedoch konstant weiterentwickelt wird, mu� UMLd zusammen mit allem, was dem UML-Kernel hinzugef�gt wird, ebenfalls gepflegt werden.
[...]
Ich habe den UMLd auf einem Netzwerk von zwei Hosts und �ber 30 UMLs seit
einigen Monaten laufen, und ich hatte sehr wenige Probleme mit ihm. Ich baue
damit alle meine UMLs, starte sie neu, f�hre Kernel-Updates durch und so
weiter. Um f�r Endnutzer hilfreich zu sein, braucht UMLd dringend ein h�bsches
GUI-Frontend, was ich wahrscheinlich anfangen werde zu schreiben, sobald ich
mit den Features von UMLd zufrieden bin und das Protokoll, mit dem UMLd mit den
Clients kommuniziert, stabilisiert ist.
LF: Ihr Jungs scheint eine Menge Spa� zu haben. Ein Beispiel ist der Wettbewerb auf UML-Maschinen „Die Administrator-Katastrophe des Monats“, ein anderes ist dieses Zitat: „UML f�r Spa� und Profit / Tja, vergessen wir das mit dem Profit“ (http://uml.openconsultancy.com). Ist UML ein Mittelding zwischen Spielzeug und Werkzeug, oder habt ihr einfach Humor ;-) ?
JD: Ich glaube letzteres. UML hat einen Haufen Menschen zusammengebracht, die zuf�llig einen etwas schlagkr�ftigen Humor haben, daher kommen wir nat�rlich blendend miteinander aus :-)
Es kann auch sein, da� diese virtualisierte Welt von Universen innerhalb von Universen Menschen mit einer bestimmten Mentalit�t anzieht, und das k�nnte etwas von dem umgebenden Humor erkl�ren.
Egal, wie ernst es ist, was wir machen, oder wie ernst die Implikationen und der Gebrauch davon sind, wir werden Spa� haben. Es w�re eine sehr tr�bselige Welt, wenn einen seine Arbeit nicht irgendwie am�sieren d�rfte.
LF: Habt ihr jetzt, sechzehn Monate nach den ersten Fragen, noch etwas anzumerken?
JD: Ich m�chte erw�hnen, da� es einen funktionierenden x86-64-Port von UML gibt, den ich bald freizugeben hoffe.
Ich habe auch ein bi�chen mehr �ber die Neuigkeiten und die anstehenden �nderungen von UML in mein Tagebuch geschrieben.
User Mode Linux ist ein netter Zusatz zum Linux-Kernel, ideal zum Testen und Demonstrieren von Applikationen, Kerneln und Distributionen. Damit kann auch das „virtuelle Hosting“ flexibler gestaltet werden, indem man Leuten ihr „eigenes“ Linux-Image mit root-Zugang gibt, ohne das Host-System zu gef�hrden.