Cygwin auf dem USB-Stick
16. März 2006 by lexNachdem mein lokaler Blog-Server mit Movable Type, basierend auf XAMPP mit Apache, MySQL, PHP und Perl, auf einem USB-Stick läuft, fehlte noch das geeignete Tool zum Hochladen der neuen und aktualisierten Postings auf den Web-Server. Wie unter Linux nutze ich dazu auch unter Windows Sitecopy, das es in einer Version für Cygwin gibt. Mein Bestreben, eine komplett unabhängige Blog-Lösung auf dem USB-Stick unterzubringen, scheitert allerdings an Cygwin. Ohne Infiltration der Registry geht es nicht.
Nachdem ich Cygwin an meinem Notebook auf den USB-Stick installiert und Sitecopy eingerichtet hatte, stellte sich heraus, dass sich die Unix-Umgebung nicht starten lässt, sobald der Stick an einem anderen Rechner hängt. Die Lösung des Problems führte, wie unter Windows so oft, über die Registry. Dort registriert sich Cygwin, ohne die entsprechenden Schlüssel läuft nichts. Nachdem ich die Einträge via Regedit exportiert und auf dem zweiten PC importiert habe, klappte es. Das Verfahren ist zwar nicht ganz sauber, aber so lässt sich notfalls die eigene Cygwin-Installation auf beliebigen Windows-PCs (XP) nutzen. Die Reg-Datei sieht bei mir wie folgt aus:
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SOFTWARE\Cygnus Solutions]
[HKEY_LOCAL_MACHINE\SOFTWARE\Cygnus Solutions\Cygwin]
[HKEY_LOCAL_MACHINE\SOFTWARE\Cygnus Solutions\Cygwin\mounts v2]
"cygdrive prefix"="/cygdrive"
"cygdrive flags"=dword:00000022
[HKEY_LOCAL_MACHINE\SOFTWARE\Cygnus Solutions\Cygwin\mounts v2\/]
"native"="G:\\cygwin"
"flags"=dword:0000000a
[HKEY_LOCAL_MACHINE\SOFTWARE\Cygnus Solutions\Cygwin\mounts v2\/usr/bin]
"native"="G:\\cygwin/bin"
"flags"=dword:0000000a
[HKEY_LOCAL_MACHINE\SOFTWARE\Cygnus Solutions\Cygwin\mounts v2\/usr/lib]
"native"="G:\\cygwin/lib"
"flags"=dword:0000000a
[HKEY_LOCAL_MACHINE\SOFTWARE\Cygnus Solutions\Cygwin\Program Options]
Ein Fallstrick bei der Nutzung von Sitecopy liegt in einer eventuell gesetzten Umgebungsvariablen für das Homedrive. Ist diese unter Windows global gesetzt, sucht Sitecopy die Konfigurationsdatei ".sitecopyrc" dort und nicht im Home-Directory des Cygwin-Users. Die Lösung ist einfach. In der vom Cygwin-Setup angelegten Batchdatei, die bei mir zum Beispiel die Bash startet, muss lediglich via "set" der Pfad zum richtigen Home-Verzeichnis gesetzt werden, zum Beispiel:
set homedrive=g:\cygwin\home\lexWer eine komplett portable Cygwin-Umgebung benötigt, kann zum Beispiel eine CD erstellen. Die Indiana University stellt ein entsprechendes ISO-Image zur Verfügung. Wie man ein Image selbst erstellen kann, beschreibt die Anleitung "How to make your own portable Cygwin on CD".
Hallo,
Die selben Registry-Einträge kann man übrigens auch unter HKEY_CURRENT_USER anlegen, dann braucht der Anwender keine Schreibrechte auf HKEY_LOKAL_MACHINE.
Die Einträge unter HKCU können die unter HKLM ergänzen, aber nicht überschreiben.
Thomas (URL) - 20.04.2009






