Archiv

Archiv für 9. April 2010

Mit Unix-Kraft unter Windows – MKS Toolkit

Das MKS Toolkit bietet drei Unix-Shells für die Arbeit unter Microsoft Windows. Eine Vielzahl von Funktionen lassen sich direkt in der Microsoft CMD.EXE ausführen.

Die Möglichkeiten in den diversen Shells von Unix sind den Fähigkeiten der typischen Windows Eingabeaufforderung immer noch überlegen. Erst die Powershell von Microsoft kann als ebenbürtiges Pendant angesehen werden. Das MKS Toolkit bildet Unix-Funktionen unter Windows ab – Grund genug sich das Produkt näher zu betrachten.

Die grafische Oberfläche eines Betriebssystems ist eine Arbeitserleichterung – Punkt. Diese Tatsache dürfte von keinem IT-Professional in Frage gestellt werden, denn Webseiten, Dokumentation oder Zeichnungen lassen sich erst in einem grafisch orientiertem System vernünftig darstellen. Wohl kaum hätte die Open-Source Gemeinschaft so viel Energie in die Entwicklung eines ausgereiften X-Window System investiert, wenn alles in der Konsole effektiver zu erledigen wäre. Für viele  Endanwender ist die Eingabeaufforderung, selbst wie sie Microsoft Windows bietet, ein Buch mit sieben Siegel. Das liegt jedoch nicht in der geringeren Begabung des Anwenders, als eher in der Tatsache begründet, dass er die Fähigkeiten, die die Konsole zur Verfügung stellt, schlichtweg nicht braucht.

Das permanente Arbeiten in der grafischen Oberfläche hat dem Windows-Administrator einen fast schon schlechten Ruf eingebracht, da eine Automatisierung wiederkehrende Aufgaben weniger gut in der GUI zu realisieren ist. Auch Microsoft hat dies vor Jahren erkannt und hat die Fähigkeiten der Konsole mit jeder  aktuellen Windows-Variante stark erweitert. Erst die Powershell bietet in etwa dass, was von einer Unix-Shell zu erwarten ist und geht dank dem objektorientiertem Ansatz teilweise über die Standard-Shells in hinaus. Was jedoch, wenn eine möglichst identische Umgebung, unabhängig vom Betriebssystem, für administrative Aufgaben oder automatisierbare Prozesse benötigt wird? Hier kommen Speziallösungen zum Einsatz – wie die Toolkit-Produkte der im kanadischen Ontario ansässigen Firma MKS Inc.

Auch die zu Microsofts „Windows Services for Unix“ gehörende Unix-Korn-Shell stammt ursprünglich aus dem Hause MKS. Das MKS Toolkit selbst wird in verschiedenen Versionen angeboten, die eine einfache und schnelle Migration von Skripts, Quellcode, Build- und Arbeitsumgebungen von Unix nach Windows ermöglichen. Die Zielgruppe des MKS Toolkit sind Administratoren, die weitreichende Automatisierungsaufgaben umsetzen wollen und Programmierer gleichermaßen.

 Das MKS Toolkit for Developers stellt die mit POSIX2 definierten Tools zur Verfügung, wie beispielsweise Korn-, C- und bash-Shells, find, awk, grep, perl und weitere hunderte Dienstprogramme und Tools. Für Entwickler enthält das Produkt Dienstprogramme wie beispielsweise make, ld und ein cc-Skript bereit, das für die Unterstützung zahlreicher C- und C++ Compiler für Windows, beispielsweise mit Microsofts Visual Studio, konfiguriert werden kann.

Die Version „MKS Toolkit for Enterprise Developers“ ist eine Erweiterung für die Migration von Unix-Anwendungen nach Windows. Dazu wird eine komplette Sammlung von Unix-API-Bibliotheken bereitgestellt, die auf dem Win32-Subsystem die Migration von Unix-basierenden Anwendungen überhaupt ermöglichen. Weiter unterstützt die Enterprise-Variante X11, OpenGL, Motif, C, C++, Fortran, Curses und Shell-Skriptanwendungen.

Kurz gesagt bietet die MKS Toolkit-Technologie ein Framework für die Koexistenz und nahtlose Interaktion von Unix- und Windows-Anwendungen auf der Windows-Plattform. So erfordert ein Migrationsprozess nur wenige oder keine Änderungen am Unix-Quellcode und ermöglicht das Vorhalten eines einzigen Quellcode als Basis für Bereitstellung von Anwendungen unter Windows und Unix gleichermaßen. Eine Kompatibilität für x64-Windows bietet MKS schon seit geraumer Zeit an – dies jedoch in einer speziellen Variante.

 Administration mit Unix-Hilfsmitteln

Für Administratoren bietet sich das MKS Toolkit für verschiedene Aufgabenstellungen an. Neben einigen Programmen die mit einer grafischen Oberfläche ausgestattet sind, finden sich die Mehrzahl von Programmen als nicht-grafische Shell-Software. Ein Teil der Befehle lässt sich direkt aus der Microsoft Eingabeaufforderung CMD.EXE nutzen, während andere in den Shells betrieben werden. MKS liefert verschiedene Shell-Versionen mit, wie die Bash, die Korn-Shell oder die C-Shell. Es gibt zwischen den verschiedenen Shell-Versionen diverse Unterschiede – im Test haben wir, gemäß der Empfehlung im Handbuch, die Korn-Shell verwendet. Die Korn-Shell hat gegenüber der Eingabeaufforderung aktueller Windows-Versionen und der Bash den entscheidenden Nachteil, dass mit der Tabulator-Taste nicht der Pfad dem Kontext entsprechend aufgefüllt wird. Wer einmal mit dieser Arbeitserleichterung gearbeitet hat, der möchte diese Fähigkeit wahrlich nicht mehr missen. Die mit der Version 8.6 eingeführte Bash, die Bourne Again Shell, hat den entscheidenden Vorteil, dass auf Unix und Windows die gleichen Shell-Skripte ausgeführt werden können, ohne dass diese angepasst werden müssten. Neben den üblichen Befehlen, die unter Unix Gang und Gäbe sind, wie beispielsweise mv  für das Kopieren oder  rm  für das Löschen finden sich einige Befehle, die es unter Windows in der Konsole so überhaupt nicht gibt. Beispielsweise ist das Umbenennen von Dateien, die das System aktuell als Filehandle geöffnet hat unter Windows in vielen Konstellationen überhaupt nicht möglich. Mit der Korn-Shell aus dem MKS Toolkit lassen sich mit dem Befehl pending  Umbenennungs- oder Kopieraktionen für den nächsten Neustart oder die nächste Benutzeranmeldung einplanen. Ein grafischer Scheduler aus dem Toolkit ist für automatisierte Aufgaben oder Programmstarts in vielen Szenarien ein brauchbares Arbeitsmittel. Das MKS Toolkit ist aber mehr als nur eine Zusammenstellung von Befehlen, die es unter Unix gibt und unter Windows nicht. Die Kombination aus den Fähigkeiten beider Betriebssysteme lassen sich ebenfalls nutzen. Mit Hilfe des Utility  shortcut  lassen sich unter anderem Windows-Desktop-Elemente erzeugen. Im Lieferumfang findet sich ein Beispiel-Script, mit dessen Hilfe über die Korn-Shell die Befehle  mkdir, rmdir  und dem Zugriff auf die Windows-Registry für verschiedene Gruppen oder Benutzer eine Verknüpfung auf dem Desktop ausbringen lässt. Im Bereich SNMP „Simple Network Management Protocol“ bietet das Programmpaket weitere Möglichkeiten. Genau in diesem Segment ist Microsoft Windows in der Standardauslieferung eher schwach ausgestattet. Insgesamt 18 Befehle wie SNMPGET, SNMPWALK oder SNMPSTATUS stehen als EXE-Befehl zur Verfügung und lassen sich so in eigene Batch-Jobs einbauen.

Mit Hilfe dieser Programme ist es beispielsweise ein leichtes, sich in der Früh einen Report über die verbleibende Kapazität von nicht Windows NAS-Systemen übermitteln zu lassen. Wird ein Programm mit dem Schalter /? gestartet, so erscheint eine Auflistung der Einstellungen, die das Programm bietet. Wird die Online-Hilfe mit dem Befehl man zum Programmnamen befragt, so finden sich noch viele weitere Hinweise auf die Benutzung.

König der Editoren?

Wer mit Winword & Co groß geworden ist, dem wird die Liebe einiger Administratoren für „den“ Editor aus der Unix-Welt ein unerklärliches Rätsel bleiben. Durch Eingabe von vi  wird nun auch der Klassiker unter den Editoren unter Windows nutzbar. Schönerweise haben die Programmierer den VI für den Einsatz in der Windows-Welt optimiert. So lässt sich die Zwischenablage als Datenimporteur nutzen. Die Größe des Puffers für den Zwischenablagen-Transfer wird in treuer Unix-Manier über einen Eintrag in einer Profildatei im ASCII-Format abgespeichert. Soll richtig GUI-Feeling aufkommen, so empfiehlt sich der Einsatz der grafisch orientierten VI-Version, die über das Start-Menü aufgerufen werden kann. Ob das „Beste aus beiden Welten“ so aber noch standesgemäß ist, bleibt dem Anwender überlassen.

 Viele Administratoren haben am Standort eine Mischung aus Linux-, Unix- und Windows-Maschinen zu betreuen. Sollen die Anwender Zugriff auf beide Maschinentypen haben, so ist bei Änderung des Passworts viel manueller Eingriff notwendig. Im MKS Toolkit findet sich ein Programm, das einen verschlüsselten Austausch von Passwörtern von den Windows-Rechnern in Richtung Unix-Maschinen ermöglicht. Bevor diese Funktionalität verwendet werden kann, muss zunächst die „Local Security Authority“ (LSA) in Form einer DLL in das Windows-System eingebunden werden. Dies geschieht am einfachsten, durch den Aufruf des Programms über das Startmenü. Nach einem zwingend erforderlichen Neustart lässt sich die „Password Synchronization“ nutzen. Das Datensicherungsprogramm „Visual Pax“ ermöglicht das Erstellen, Komprimieren von Dateien unter Unix, die dann auf Windows gelesen und bearbeitet werden können und in umgekehrter Richtung. „Visual Differencing“ ist eine Windows Applikation mit der zwei Textdateien auf Unterschiede verglichen werden und zusammengefasst werden können. Soll mehr als ein Benutzer gleichzeitig auf einem Server eingeloggt arbeiten können, so ist die Anschaffung der „Unlimited Connectivity Suite“ erforderlich. Neben einer kurzen gedruckten Übersicht in englischer Sprache findet sich die Dokumentation zum Toolkit ausschließlich in digitaler Form. Die Online-Dokumentation lässt sich entweder ganz in Unix-Manier über den Befehl man darstellen oder über das Startmenü. Inhaltlich fand sich zwischen beiden Varianten kein Unterschied. Auf der Homepage des Herstellers finden sich einige White-Paper die verschiedene Migrationsvorhaben in unterschiedlichen Unternehmen beschreiben.

Grenzen der Kompatibilität

Auch ohne in die Tiefen von Programmcodes vorzustoßen, so sind einige Unterschiede schon bei schnellem Blick auffindbar. So lassen sich beispielsweise Module nicht über die üblichen Befehle an den Systemkern anhängen. Das ist ja nicht weiter verwunderlich, da es ja keinen Unix-basierenden Systemkern gibt, sondern das Windows-Basissystem um eine Vielzahl von Befehlen erweitert wurde. Da auch Devices, sprich Geräte, in Windows komplett anders angesprochen werden, sind Eingaben möglich, die auf einem echten Unix-Rechner zu Fehlern führen würden. Die Eingabe  ls a:  beispielsweise erzeugt die Ausgabe des Directory einer Diskette im Laufwerk A, während der direkte Verweis auf das Gerät „Floppy“ nicht umgesetzt werden kann.

Zu Windows NT 4.0 Zeiten muss das MKS Toolkit als die einzige Hoffnung am administrativen Himmel betrachtet worden sein. Microsoft hat die Möglichkeiten der Eingabeaufforderung aber stark erweitert, so ist heute mit TASKLIST und TASKKILL schon unter Windows XP das möglich, was einst dem ausgewachsenen Unix überlassen blieb. Programme wie GREP, WHOAMI, DEPENDS oder DIFFB werden möglicherweise irgendwann auch zum Befehlsumfang der regulären CMD.EXE gehören oder werden in der Powershell abgebildet. Bis dahin, bleiben die rund 300 Befehle, die das Toolkit allein für Administratoren bietet ein starkes Stück Software. Als Alternative sei auf das Cygwin-Projekt aus der Freeware-Szene hingewiesen, bei dem eine Linux-konforme API bereitgestellt wird.

Kategorien:Tests, Windows
Follow

Bekomme jeden neuen Artikel in deinen Posteingang.