dotnetpro.mono 16.01.2008, 00:00 Uhr

Das aktuelle Mono-Image

Wer Mono ausprobieren will, muss sich nicht durch die Installation auf einem Linux-System quälen. Seit die Virtualisierung hoffähig geworden ist, genügt es, ein entsprechendes Image mit dem Player auszuführen. Das monatlich aktualisierte Mono-Image bringt eine komplette Mono-Umgebung auf Ihren Rechner - ohne Installation.


 


Entwickler, die Webforms- und Winforms-Applikationen unter Windows mit Microsoft Visual Studio erstellt haben, können diese mit Hilfe des Images auf einfache Weise unter Linux/Mono testen. Oft genügt ein Doppelklick, um alle erforderlichen Dateien zu übertragen und unter Linux mit Hilfe der Mono-Laufzeitumgebung zu starten. Alle Komponenten sind kostenfrei. Im Folgenden erfahren Sie, wie Sie diese im Einzelnen einrichten. Diese Komponenten benötigen Sie:




der Download http://www.monotorrent.com/download.php 



die Sourcen http://www.mono-project.de/mono-image


das Image http://www.mono-project.de/mono-image


der Player http://www.vmware.com/


das FTP-Programm http://winscp.net/eng/docs/lang:de 




Das Image ist bewusst einfach gehalten. Es soll übersichtlich und verständlich und nicht mit Funktionen überladen sein. 



KontaktSie arbeiten bereits mit Mono? Wir freuen uns über jede Mitarbeit an dem Projekt, ob in Form einer konkreten Beispielapplikation oder als Success-Story. Für Ihre Fragen und Anregungen stehen Ihnen gerne zur Verfügung: 


Image und Mono Daniel Nauck dna@mono-projekt.de


Installation, Einrichten, Laufzeitumgebung: Jan Waiz hamburg@icomedv.de Danke auch an:




Miguel de Icaza und sein Team für Mono. (http://www.mono-project.com/)



Ralph Westphal (http://www.ralfw.de/) für seine Hilfe, konstruktive Kritik und Inspirationen. 




Download mit MonoTorrent


Download:  http://www.monotorrent.com/download.php (Beta „MonoTorrent.Beta4.zip“) Torrent ist den meisten sicherlich von BitTorrent her bekannt. Die wenigsten wissen aber, dass es sich bei BitTorrent nicht um eine Software, sondern um ein Datenübertragungsprotokoll handelt.Das Prinzip: Eine beliebige Datei, die per Download verfügbar sein soll, wird auf mehreren im Internet erreichbaren Servern bereitgestellt. Der so genannte Tracker weiß von der Datei und auf welchen Servern sie zur Verfügung steht. Die Clients verbinden sich mit dem Tracker und können nun die Datei von allen Servern gleichzeitig häppchenweise beziehen. Der Client setzt die Datei anschließend lokal zusammen und – voilá – der Download ist durchgeführt.


Vorteile:




Download in kleinen Fragmenten



Download von mehreren Server gleichzeitig, daher sehr schnell



Verteilte Upload-Last bei den Servern



Download kann unterbrochen und jederzeit fortgesetzt werden





Wer mehr über das Torrent-Protokoll und seine Details erfahren möchte, findet unter http://de.wikipedia.org/wiki/BitTorrent eine umfassende Abhandlung.


Mit MonoTorrent steht eine Implementierung von Alan McGovern zur freien Verfügung, die Alan in C# unter Linux entwickelt hat. Die Sourcen sind auf der Homepage von MonoTorrent verfügbar. Der unter der oben genannten URL angegebene Download ist eine fertige Windows-Anwendung, besteht aus 4 Dateien, die in ein beliebiges Verzeichnis (zum Beispiel C:\Programme\MonoTorrent) kopiert werden und setzt eine installierte .NET-Runtime voraus.







Nach Programmstart empfiehlt sich ein Blick in die Optionen, zu finden über das Menü Option | Options, um die Verzeichnisse für den Download und die Torrents zu überprüfen beziehungsweise anzugeben.


Klicken Sie unter http://www.mono-project.de/mono-image auf den Link http://tracker.mono-project.de/ und Sie können auf der folgenden Seite eine Datei mit dem Namen Mono-Image-25.10.2007.7z.torrent herunterladen. Diese Torrent-Datei ist, wie Sie feststellen werden, eine sehr kleine Datei, denn Sie enthält unter anderem lediglich Angaben darüber, wo der Torrent-Client den Tracker und die Server findet, wie viele Server die Datei bereithalten und ein paar zusätzliche Angaben.


Öffnen Sie diese Torrent-Datei mit dem Torrent-Client per Menü File | Add a Torrent oder über den Button [Add]. Nach einem kleinen Zwischendialog in dem Sie das Zielverzeichnis noch einmal ändern können ist der Torrent-Client bereit für den Download, den Sie über [Start] beginnen können.Die eigentliche Datei wird nun Stück für Stück von den verfügbaren Servern abgeholt. Da das Image etwa ein Gigabyte groß ist, dauert dieser Prozess ein wenig. Dank des Torrent-Protokolls geht es trotzdem schneller und sicherer als per FTP.


Das Torrent-Protokoll ist fehlertolerant, da die empfangenen Häppchen über Prüfsummen auf Korrektheit geprüft werden und die eigentliche Datei nach Erhalt aller Häppchen lokal zusammengestellt wird. Fällt somit während des Downloads ein Server aus oder ein Häppchen ist fehlerhaft übertragen worden, stellt dies den Download als Solches nicht in Frage.


Sourcen


Download: http://www.mono-project.de/mono-imageAusgangspunkt sind Ihre Projekte, die Sie zum Beispiel mit dem Microsoft Visual Studio unter Windows erstellen und diese nun unter Mono testen möchten. Das Image beinhaltet verschiedene Beispiele, die Ihnen mit diesem Download auch als Sourcen für Ihre Windowsentwicklung zur Verfügung stehen.


Damit Sie die Beispielprojekte problemlos in Ihr Visual Studio importieren können, empfehlen wir Ihnen, unserer Verzeichnisstruktur zu folgen. Andernfalls müssen Sie die Pfadangaben in den Projekten und den WinSCP-Skripts (s.u.) entsprechend anpassen.



C:\dotnetPro\dnpMono Stammverzeichnis



...\dnpWelcome Webanwendung. Startseite von dnpMono



...\Documentation\ImageEnvironment Dokumentation zu dem dnpMono-Image


dnpWelcome


Typ der Anwendung:  Web


Verwendete Techniken: Masterpage


Einfache, klassische Webanwendung, die mit möglichst wenig programmatischen Tricks hantiert. Ideal um einen ersten Überblick zu bekommen, wie Masterpages funktionen und sich grundsätzlich einsetzen lassen.Im Ausgangsverzeichnis finden Sie folgende Dateien:



dnpWelcome.sh Shell für Linux zum Start der Anwendung



WinSCP_dnpWelcome.bat Batch zum Aufruf von WinSCP mit Angabe des Skripts



WinSCP_dnpWelcome.txt WinSCP-Skript welche Dateien wohin kopiert werden


Im Unterverzeichnis WebSiteSources finden Sie Solution-Datei für MS-Visual-Studio 2005 sowie alle Sourcen der Anwendung.Im Unterverzeichnis PrecompiledWeb befinden sich die zu veröffentlichen Dateien des Projekts.


Deployment


Die Batch-Datei WinSCP_dnpWelcome.bat müssen Sie unter Umständen auf Ihre lokalen Gegebenheiten anpassen. Der Aufruf von WinSCP erfolgt per absoluten Pfad und geht davon aus, das Sie WinSCP im Verzeichnis C:\Programme\WinSCP3 installiert haben.


Der zweite Parameter nennt das auszuführende Skript unter Angabe eines absoluten Pfades, den Sie gegebenenfalls anpassen müssen.


Der dritte Parameter nennt das Login-Profil, mit dem sich WinSCP bei dem laufenden Image anmeldet. Wie Sie ein Login-Profil erstellen und benennen, wird weiter unten in diesem Dokument erläutert.


VMWare


VMWare ist ein Tool um mehrere virtuelle PCs auf einem Host-PC auszuführen. VMWare unterstützt alle gängigen Betriebssysteme wie Windows, Mac-OS und Linux – sowohl als Host-System als auch als das zu virtualisierende System. Informationen zu den Produkten von VMWare finden Sie auf der Homepage: http://www.vmware.com/


VMWare bietet verschiedene Virtualisierungspakete in Form von Softwareprodukten an. Davon sind einige kostenfrei verfügbar. Im Wesentlichen sind dies der „VMWare Server“ und der „VMWare Player“. Beide sind geeignet unser Image zu verwalten – wobei der Server zusätzlich die Möglichkeit bietet, eigene virtuelle Maschinen zu erstellen. Welche der beiden Varianten eingesetzt wird hängt somit in erster Linie von Ihrem Bedarf ab – für die Verwendung unseres Image eignen sich beide gleichermaßen. Bitte beachten Sie aber in jedem Fall die Lizenzbestimmungen der VMWare-Produkte.


VMWare Server


Download: http://www.vmware.com/products/server







Klicken Sie dazu im Menü der VMWare Server Console auf  Help | Enter Serial Number. In dem Dialog finden Sie eine Pushbutton Get Serial Number, der Sie auf die entsprechende Internetseite von VMWare bringt. Folgen Sie den Anweisungen um Ihre VMWare-Installation zu registrieren und um eine kostenfreie Seriennummer zu erhalten.


Weisen Sie nun der „VMWare Server Console“ das Image zu. Dazu klicken Sie auf dem Tab Home auf das Icon Open Existing Virtual Machine. In dem darauf folgenden Dialog klicken Sie auf Browse und wählen das entsprechende Laufwerk und Verzeichnis aus, in das Sie das Image abgelegt haben.


Zurück in der VMWare Server Console erscheint ein neues Tab für das Image. Klicken Sie auf Start this virtual Image. Sie sehen nun, wie Linux gebootet wird. Nach erfolgreichem Bootvorgang werden Sie zur Eingabe des Benutzernames und Passworts aufgefordert. In beiden Fällen ist dies mono. Um in der virtuellen Maschine Eingaben vornehmen zu können, müssten Sie in das Fenster der virtuellen Maschine klicken. Erschrecken sie nicht, wenn der Mauscursor verschwindet – über die Tastenkombination [Strg/Alt] können Sie sich diesen jederzeit zurück nach den Host, Ihrem Windows-PC, holen.


Wenn alles geklappt hat, läuft nun das Image als virtueller PC in der VMWare Server Console auf Ihrem Windows-PC. Nachdem Sie Ihre erste Entdeckungsreise auf dem Gnome-Desktop vorgenommen haben, gilt es noch das Netzwerk einzurichten, damit Sie von Ihrem Windows-PC aus Zugriff auf den virtuellen PC haben. Andernfalls könnten Sie nicht Ihre Web- und Winform-Applikationen kopieren und testen.


Bildschirmauflösung


Die „VMWare Server Console“ passt seine Größe automatisch der Größe, bzw. Bildschirmauflösung der laufenden virtuellen Maschine an. Ist Ihnen diese für Ihre aktuelle Bildschirmauflösung von Windows zu groß oder klein, so können Sie die Bildschirmauflösung der virtuellen Maschine ändern. Sie finden die Möglichkeit dazu im Menü des Gnome-Desktop unter System | Einstellungen | Bildschirmauflösung.


Netzwerkeinstellungen


Damit Ihr Windows-PC (Host) und Ihre virtuelle Maschine (VM) miteinander kommunizieren können, gilt es die Netzwerkeinstellungen der VM zu überprüfen und bei Bedarf zu ändern.


VMWare Server Console


Zwischen dem Host und der VM sitzt die VMWare Server Console sozusagen als Vermittler. Für die Kommunikation zwischen Host und VM stellt sie verschiedene Netzwerkadapter bereit, die ähnlich dem Loopback-Adapter von Microsoft funktionieren.







Sie können die Einstellungen ändern, in dem Sie auf das Netzwerkkarten-Icon der Console rechts unten rechts klicken. Im dem folgenden Dialog können Sie die Änderungen vornehmen. In den meisten Fällen sollte aber die Voreinstellung ausreichen.


Host: MS-Loopback Adapter


Befindet sich Ihr Host nicht in einem Netzwerk, z.B. wenn Sie die Umgebung auf einem Notebook installieren, kann das Einrichten und Ausführen des MS-Loopback Adapters erforderlich sein. In der Regel ist die Installation eine Sache weniger Mausklicks und die Voreinstellungen sollten für einen erfolgreichen Betrieb ausreichen. Umfangreiche Informationen dazu finden Sie unter http://support.microsoft.com/kb/236869/de


Virtuelle Maschine


Damit die VM in Ihrem Netzwerk verfügbar wird, müssen Sie die Voreinstellungen überprüfen und gegebenenfalls ändern. Öffnen Sie die Netzwerkeinstellungen über das Menü auf dem Gnome-Desktop System | Systemverwaltung | Netzwerk. Da für Einstellungen Administratorrechte erforderlich sind, werden Sie nach einem Passwort gefragt: Das Passwort lautet mono.







Selektieren Sie die Kabelgebundene Verbindung und klicken Sie auf den Pushbutton Eigenschaften. In dem folgenden Dialog können Sie eine in Ihrem Netzwerk freie IP-Adresse sowie die IP-Adresse für das Gateway eintragen.


Im Dialog Netzwerkeinstellungen finden Sie auch den Tab DNS, in dem Sie die IP-Adresse für den oder die DNS-Server eintragen können.Verfügen Sie über einen DHCP-Server können Sie hier die zugewiesenen IP-Adressen ermitteln. Da es in der Natur der Sache liegt und per DHCP zugewiesene IP-Adressen sich ändern können, empfehlen wir die Vergabe fester IP-Adressen. Eine später geänderte IP-Adresse erfordert Änderungen an verschiedenen Stellen Ihrer Umgebung – z.B. bei WinSCP.


Öffnen Sie auf Ihrem Host ein Konsole und pingen Sie die IP-Adresse der VM an – alles Ok? Das selbe gilt für die VM, aus der heraus Sie Ihren Host nun erfolgreich anpingen können sollten. Öffnen Sie dazu in der VM ein Terminal,wozu Ihnen auf dem Gnome-Desktop eine Verknüpfung zur Verfügung steht. Alternativ können Sie auch über System | Systemverwaltung | Netzwerkdiagnose einen dialoggestützten Test vornehmen.


VMWare Player


Download: http://www.vmware.com/products/player/


 


WinSCP


Download: http://winscp.net/eng/docs/lang:de


Wer sich mit dem bekannten Windows Commander auskennt, wird mit dem FTP-Programm WinSCP ein Aha-Erlebnis haben. Ähnlich wie der Windows Commander zeigt WinSCP zwei Bereiche, zwischen denen sich einfach und bequem Dateien kopieren lassen – nur mit dem Unterschied, das links der Host (Windows) und rechts die VM (Linux) gezeigt werden. 







Darüber hinaus lassen sich Kopieraktionen per Skript hervorragend automatisieren. Ein Feature, das wir uns für das angestrebte On-Doubleclick-Deployment zu Nutze machen. Aber der Reihe nach:Nach Download und Installation sehen Sie von WinSCP nach Programmstart erst einmal nur den Dialog WinSCP Login. Klicken sie auf den Pushbutton New. In dem folgenden Dialog geben Sie als Hostnamen die IP-Adresse der VM an. Behalten Sie die angegebene Portnummer bei und tragen als Benutzernamen und Passwort jeweils mono ein.


Ein Klick auf Save ermöglicht Ihnen einen Namen für diese Session anzugeben – ändern Sie den vorgeschlagenen Wert auf:



mono@dnpMono



Dieser Sessionname wird von uns in allen Skripten verwendet. Ändern Sie den Namen der Session nicht wie vorgeschlagen, müssen Sie auch alle Skripte entsprechend anpassen! 







Zurück im Dialog „WinSCP Login“ sehen Sie nun die neue Session, die Sie per Pushbutton Login starten. Wenn die VM läuft und alles korrekt installiert ist, befinden Sie sich nun im Hauptfenster von WinSCP und können links in der Verzeichnisstruktur Ihres Hosts und rechts in der von Linux stöbern gehen.


Das könnte Sie auch interessieren