quelle: http://www.nailware.de/linux/portable-cygwin-linuxanwendungen-berall-dabei-sogar-windows
Mit portable Cygwin Linuxanwendungen überall dabei – und das sogar unter Windows
Fr, 2008-03-07 09:25 – tom
Cygwin ist eine tolle Möglichkeit Linuxanwendungen parallel zu Windowsanwendungen laufen zu lassen. Der Vorteil gegenüber anderen Linuxversion wie Knoppix ist, dass Cygwin direkt unter Windows läuft. Man muss also nicht in Linux “reinbooten” sondern kann ganz normal unter Windows weiterarbeiten.
Wer also häufiger mal an einem Windows-Rechner sitzt und sich ein paar Linux-Tools wünscht hat mit Cygwin genau die richtige Lösung zur Hand.
Das einzige Problem: Cygwin lässt sich nicht einfach so als “Portable App” nutzen. Abhilfe schaft ein Script das ich bei Devin Sezer gefunden habe. Dieses Batchprogramm “merkt” sich quasi die Registryeinträge und entfernt sie nach der Nutzung von Cygwin wieder, so dass auf dem eingesetzten Computer keine Rückstände hinterlassen werden.
Für alle die des englischen nicht so mächtig sind fasse ich mal kurz zusammen wie es geht:
Zuerst benötigt man natürlich einen USB-Stick, dieser sollte mit fat32 formatiert sein, da es laut Devin Probleme mit NTFS geben kann.
Als nächstes benötigen wir das eigentliche Programm. Die aktuelle Version findet man auf der Homepage: http://www.cygwin.com.
Installieren sollte man es dann gleich direkt auf den Stick. WICHTIG: Damit das Ganze funktioniert müssen wir Cygwin in das Root-Verzeichnis unter Cygwin installieren, also z.B.: E:/cygwin/. Der Laufwerksbuchstabe ist dabei egal. Wichtig ist dass wir kein Unterverzeichnis auswählen. Wer das machen möchte muss die Datei “x.bat” später entsprechend anpassen.
Jetzt ist Cygwin auf dem Stick installiert. Leider funktioniert Cygwin aber erstmal nur auf dem Rechner in dem der Stick bei der Installation steckte, also noch nicht wirklich portable.
Um Cygwin portabel zu machen muss man die folgende Profil-Datei herunterladen und den Begriff “username” – kommt zweimal vor – gegen seinen Usernamen ersetzen.
Als Beispiel: cygwin legt ein Verzeichnis unter cygwin an welches home heißt. Hierunter findet man sein Userverzeichnis welches auch dem Usernamen entspricht, also z.B. cygwin/home/tom. In diesem Beispiel müsste ich in der Profil-Datei den Begriff “username” gegen “tom” austauschen.
Danach kopieren wir die geänderte Datei in das etc-Verzeichnis unter dem cygwin Root-Ordner, also cygwin/etc.
Jetzt benötigt man noch zwei Dateien auf dem Stick, einmal x.bat zum starten unserer portablen Cygwin-Version und uninstall.bat zum entfernen von Cygwin. Diese Dateinen kopieren wir einfach in das Root-Verzeichnis des Sticks.
Um Cygwin zu starten klickt man einfach auf “x.bat” und nachdem man Cygwin beendet hat klickt man auf “uninstall.bat” um alle Registry-Einträge zu entfernen.
Noch Fragen?
-> x.bat:
for /F %%A in (‘cd’) do set WD=%%A
cygwin\bin\mount -m | cygwin\bin\sed s/mount/”%WD%\/cygwin\\/bin\\/mount”/ > cygwin\tmp\mount.log
cygwin\bin\umount -c
cygwin\bin\umount -A
cygwin\bin\mount -bfu %WD%cygwin/ /
cygwin\bin\mount -bfu %WD%cygwin\bin /usr/bin
cygwin\bin\mount -bfu %WD%cygwin\lib /usr/lib
set path=%path%;%WD%cygwin\bin;%WD%cygwin\usr\X11R6\bin
start cygwin\bin\rxvt.exe -title “” -bg “#fafad2” -fg “#000040” -color10 green4 -color14 brown -fn “Lucida Console-14” -geometry 80×58+0+0 -sl 4000 -sr -tn rxvt -e /bin/bash –login -i
set DISPLAY=localhost:0.0
run cygwin\usr\X11R6\bin\XWin -multiwindow -emulate3buttons 200
uninstall.bat:
cygwin\bin\umount -c
cygwin\bin\umount -A
cygwin\bin\bash cygwin\tmp\mount.log
cygwin\bin\rm cygwin\tmp\mount.log