Interview mit Jeff Dike

ArticleCategory: [Choose a category, do not translate this]

KernelCorner

AuthorImage:[Here we need a little image from you]

[Floris Lambrechts]

TranslationInfo:[Author + translation history. mailto: or http://homepage]

original in en Floris Lambrechts 

en to de Viktor Horvath

AboutTheAuthor:[A small biography about the author]

In ein paar Monaten werde ich Elektrotechniker sein. Ich mag freie Software, offene Standards und nette Benutzerschnittstellen.

Abstract:[Here you write a little summary]

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.

ArticleIllustration:[This is the title picture for your article]

[Illustration]

ArticleBody:[The article body]

Einf�hrung

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.

Jeff pers�nlich

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.

Fazit

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.

Verweise [engl.]