Cygwin

Linux Shell-Konsole auf Windows

Cygwin ist die kostenlose Portierung der Shell-Konsole (bash) und vieler leistungsfähiger Linux-Dienstprogramme auf Windows.
Die Installation von Cygwin ist sehr empfehlenswert !
Damit läuft nicht Linux aus Windows, wie manche meinen. Man kann jedoch die altersschwache DOS-Konsole wesentlich erweitern.
Konsole Text-Fenster zur Systemsteuerung
Cygwin Was ist Cygwin - und was nicht
Installation von Cygwin auf Windows
Konfiguration Permanente Einrichtung individueller Ergänzungen
Umgebung Konfiguration der Windows-Umgebung
Start Arbeit mit Cygwin
Update Installation neuer Module und Versionen
GCC Der GNU Allzweck-Compiler - Gut aber leider nicht kompatibel
Detailliert ausgearbeitete Praxis-Beispiele
Eigene spezialisierte Konsolen-Befehle
Praxis-Beispiele zur Anwendung von Cygwin
Zugriff auf die Windows Registry-Datenbank
SFU Alternative: Microsoft Windows Services for UNIX (SFU)
Links Ausgewählte Links zum Thema 'Cygwin'
Verwandte Themen Linux-Shell, Kommentare

Cygwin

Cygwin
Das Cygwin-Projekt portiert das mächtige Linux Konsolen-Programm bash (bourne again shell) und eine große Anzahl leistungsfähiger Linux Dienstprogramme auf Windows-Systeme. Das gesamte Programm-Paket ist kostenlos und von ausgezeichneter Qualität. Seine Installation wird vor allem für EntwicklerInnen und für System-AdministratorInnen sehr empfohlen.

DOS-Konsole - wichtig, aber vernachlässigt

Leider hat der führende IT-Hersteller die uralte DOS-Konsole praktisch nicht weiterentwickelt. Sie ist heute eher als Relikt ('Eingabeaufforderung') in jedem Windows-System enthalten, meist in diesem Pfad
C:\Windows\System32\cmd.exe

Eine gute Konsole ist jedoch auch für moderne Betriebssysteme wichtig:
Eine Konsole ist auf reinen Text beschränkt. Die manuelle Bedienung erfolgt über die Tastatur. Durch weitgehenden Wegfall der Maus- und Fenster-Technik ist die Konsole schnell und benötigt nur ganz wenige Resourcen.
Die Konsole kann alternativ auch durch Programme gesteuert werden: Einfacher Text ( → text/plain) ist eine universelle Schnittstelle, die von allen Programmen beherrscht wird und nur minimalen Aufwand erfordert.
Konsolen-Dienstprogramme können auf die gesamte Fenster-Technik verzichten. Damit fällt der größte Teil normaler Anwendungs-Programme weg. Solche Programme sind schlank, schnell und wesentlich einfacher (=rascher+billiger) zu entwickeln.
Da Konsolen-Programme über die Text-Schnittstelle ausgezeichnet zusammenarbeiten, lassen sich diese Programme auf ihre wesentliche Aufgabe konzentrieren. Der gesamte Overhead für das User-Interface fällt weg, die Eingabe und Ausgabe der Daten ist stark vereinfacht.
Die halb oder voll automatisierte Verwaltung kombiniert Konsolen-Programme wie Bausteine zu insgesamt sehr mächtigen Werkzeugen.

Cygwin ist nicht Linux

sondern bringt lediglich die → Shell-Konsole und viele ihrer Dienstprogramme nach Windows. → Linux-Systeme werden heute genauso wie alle anderen PC mit Maus- und Fenster-Technik gesteuert.

Allerdings verfügt Linux über mehrere sehr leistungsfähige Konsolen-Programme und zahlreiche damit verwendbare Dienstprogramme. Dieser wichtige, aber insgesamt winzige Linux-Teil wird mit Cygwin auf Windows portiert.
Die Möglichkeiten der veralteten Windows-Konsole cmd.exe werden damit bedeutend erweitert. Die Linux Dienstprogramme können mit allen Windows Konsolen-Programmen kombiniert werden.
Cygwin erleichtert damit die professionelle Systemverwaltung auf Windows-PC.
Auf Linux wird die → Shell-Konsole zur professionellen Verwaltung eingesetzt. Dafür gibt es zahlreiche leistungsfähige Lösungen - man kann sie mit Cygwin auch auf Windows einsetzen, meist sogar ohne Veränderungen.

Cygwin gibt es nur in einer Windows-Version. - Auf jedem Linux-System sind alle hier beschriebenen Möglichkeiten bereits vorhanden.
Wenn sie die → Linux-Shell kennen und schätzen, dann verfügen sie mit Cygwin über alle Befehle, die auf Windows schon immer gefehlt haben... Wenn sie → Linux kennenlernen wollen, dann werden sie mit CygWin eher ratlos bleiben. Zum Einstieg ist es besser, ein Linux-Magazin zu kaufen und die meist darin enthaltene Linux-Demo oder komplette Linux-Distribution zu installieren.
Geschichte
Steve Chamberlain startete 1995 in der Firma Cygnus das Projekt Cygwin zur Portierung von Linux Software auf Windows. 1999 wurde Cygnus von Redhat (einem Linux Distributor) aufgekauft. Mittlerweile hat sich das Projekt Cygwin kontinuierlich weiter entwickelt.
Immer mehr Linux Bibliotheken und Programme können in der Cygwin-Umgebung auch auf Windows laufen.
Funktionsweise
Die Grundlage des Projekts ist die Cygwin Bibliothek. Sie übersetzt System-Aufrufe (system calls) von Linux Programmen in solche des Windows Systems. Die Linux Programme arbeiten in ihrer gewohnten Umgebung.
Das Projekt Wine arbeitet genau umgekehrt: Damit lassen sich Windows Programme auf Linux ausführen.
Grenzen ?
Heute kann man ganze Entwicklungs-Systeme (z.B. Perl) oder Server (Cron, Apache,...) auf Cygwin laufen lassen. Allerdings stellt sich irgendwann die Frage, wozu man noch Windows einsetzt.
Alternativen
Durch die enorme Leistung moderner Prozessoren laufen ganze → Virtuelle Systeme etwa gleich schnell wie Programme mit Übersetzungs-Bibliotheken wie Cygwin. Man kann damit z.B. einen 'echten' Linux PC einsetzen und die restlichen Win-Programme auf einem virtuellen Windows PC laufen lassen.

Cygwin-Installation

Quellen

Cygwin kann von vielen Internet-Sites kostenlos geladen werden, z.B. Shareware- und Freeware-Archiven, von Universitäten, oder von der Cygwin-Homepage.
Das gesamte Paket besteht aus einem Installer und mehreren Paketen zahlreicher einzelner Dienstprogramme.
Manche Sites bieten ein Grund-Paket (core) an, das sie mit Hilfe des Installers jederzeit Online erweitern können, besser ist allerdings ein möglichst komplettes Gesamt-Paket.
Speicher-Bedarf:
Download ca. 15MB
Festplatte (ausgepackt, komplett) ca. 50MB
Hauptspeicher ca. 2MB

Installation

Der Cygwin-Installer ermöglicht wahlweise die Installation der bereits als Dateien vorhandenen Komponenten oder eine reine Online-Installation.
Empfehlenswert ist die Option, die Online geladenen Komponenten gleichzeitig zu speichern. So können sie Cygwin ohne weiteren Download auch auf anderen PC installieren, bzw. bei Bedarf rasch wieder regenerieren.
Angebotene Optionen: Installieren sie Cygwin im Verzeichnis C:\Programme\Cygwin, für alle User und mit Unix-Zeilenumbruch (line endings)., und wählen sie alle Packages zur Installation.
Nach Installation sollte man unbedigt die ↓ Windows-Umgebung für die Verwendung der Cygwin-Programme konfigurieren. Nur so kann man alle Vorteile nutzen und die professionellen Linux Dienstprogramme voll in das Windows-System integrieren.

Cygwin Umgebung

Cygwin wird normalerweise in diesem Verzeichnis installiert:
C:\Programme\Cygwin
Dieses Verzeichnis wird von allen Cygwin-Programmen als Basis-Verzeichnis behandelt, d.h. so ähnlich wie der 'Arbeitsplatz' für Windows-Programme. Alle darin enthaltenen Pfade werden auf dieser Webseite, in der Dokumentation und in den Shell Script-Programmen nach Linux-Art angegeben, d.h. mit / Trennzeichen, beginnend mit einem einfachen / welcher das Basis-Verzeichnis symbolisiert.
Der Windows-Pfad
C:\Programme\Cygwin\usr\doc\coreutils
wird beispielsweise für Linux (Cygwin)-Anwendungen so angegeben:
/usr/doc/coreutils

Im Cygwin-Verzeichnis finden sie eine Text-Datei cygwin.bat die ein knappes Script-Programm (für den Standard → Windows Commandline Interpreter) enthält: Damit wird das Shell-Programm bash.exe in einem eigenen Konsolen-Fenster gestartet.

Das Shell-Programm bash.exe und alle anderen Linux Dienstprogramme befinden sich im Verzeichnis /bin
Cygwin bietet in diesem Verzeichnis   >200 ausführbare Dienstprogramme *.exe und   >40 Bibliotheken *.dll
Dazu kommen optional beliebig viele Original Linux oder selbst erstellte Shell Script-Programme - Insgesamt ein komfortables und sehr leistungsfähiges Werkzeug-Paket.

Linux Umgebung

Alle im Cygwin Verzeichnis enthaltenen Verzeichnisse (Ordner) und Dateien sind genauso benannt und angeordnet wie in jedem Original Linux System, ausgenommen die Datei-Erweiterung *.exe für die ausführbaren Dienstprogramme. Die Linux Programme finden daher ihre gewohnte Umgebung vor.

Ändern sie daher keinesfalls die Namen von Verzeichnissen oder Dateien innerhalb bzw. unterhalb des Cygwin-Verzeichnisses.
Ändern sie auch die Struktur nicht, d.h. verschieben sie Verzeichnisse oder Dateien nicht an einen anderen Pfad.

Sie können zwar jederzeit zusätzliche Verzeichnisse und Dateien im Cygwin-Verzeichnis anlegen, davon wird jedoch abgeraten: Bei einem Cygwin-Update werden diese evtl. gelöscht. Eigene Dateien werden besser in einem eigenen Verzeichnis außerhalb von Cygwin untergebracht.

Eine Ausnahme sind Original Linux Komponenten: Falls sie Cygwin damit ergänzen, dann werden diese innerhalb des Cygwin-Verzeichnisses im gleichen Pfad installiert wie von Linux gewohnt.

Cygwin Konfiguration

Cygwin ist nach Installation bereits konfiguriert und kann ohne weitere Maßnahmen sofort verwendet werden. Änderungen der Konfiguration können problemlos zu jedem späteren Zeitpunkt ausgeführt werden.
Beim ersten Start konfiguriert sich Cygwin (Copying skeleton files...)
Warten sie unbedingt, bis das Konsolen-Zeichen $ erscheint - Das kann je nach PC einige Zeit dauern !
Weiter zur ↓ Anpassung der Windows-Umgebung !
Die Konfiguration der Shell-Konsole erfolgt in mehreren Schichten.

Zuerst wird eine Standard-Konfiguration aus dem Verzeichnis /etc geladen. Die darin enthaltenen Dateien sollten sie nicht ändern, da sie bei einem Cygwin-Update überschrieben werden.

Danach folgt die individuelle Konfiguration für die Windows-User: Das ist der beste Platz für eigene Änderungen.
Für jeden Windows-User, der Cygwin verwendet, wird ein eigenes Verzeichnis angelegt: /home/username
Das entspricht genau dem Linux Original, wo an dieser Stelle ein privates Verzeichnis für jeden Linux-User angelegt ist.

Die Cygwin Konfiguration erfolgt durch Shell-Script-Programme: Die bereits vorher gestartete bash-Shell liest Befehle aus den dafür vorgesehenen Text-Dateien und führt sie aus.
Die Shell-Konsole wird genauso konfiguriert wie die meisten anderen Linux-Programme:
Alle Konfigurations-Anweisungen sind in einfachen Text-Dateien enthalten.
Diese Dateien sind von Programmen leicht zu lesen, und für Menschen mit jedem einfachen Text-Editor zu lesen oder zu ändern.

Linux ist trotz oder gerade wegen der Verwendung so einfacher Mittel sehr sicher, da die Zugriffs-Rechte rigoros beachtet werden. Dieser Linux-Vorteil ist leider auf Cygwin nicht nutzbar, da dort die komplizierten und selten richtig eingestellten Windows-Zugriffsrechte gelten.

Ein besonderer Aspekt moderner Systemverwaltung ist die Möglichkeit, Konfigurations-Dateien durch Programme (d.h. automatisch) zu erstellen oder zu ändern. Auf diese Weise kann ein übergeordnetes Programm (z.B. Betriebssystem, Update-Programm, ..) einfach, rasch und nachvollziehbar die Konfiguration zahlreicher anderer Programme steuern.

User Konfigurations-Datei

Normalerweise ist in jedem User-Verzeichnis diese Konfigurations-Datei enthalten
/home/username/.bashrc
Diese Datei wird für jeden Windows-User bei der ersten Cygwin-Verwendung angelegt, und zwar als Kopie von
/etc/defaults/etc/skel/.bashrc

Falls das User Konfigurations-Programm .bashrc fehlen sollte, kontrollieren sie die Datei .bash_profile im gleichen Verzeichnis: Dort sollte diese Programmzeile eingetragen sein (ergänzen, falls sie fehlt):
source "${HOME}/.bashrc"
Danach können sie eine leere Text-Datei bashrc.txt erzeugen und diese mit Hilfe der Windows-Konsole umbenennen:
C:\> rename c:\programme\cygwin\home\username\bashrc.txt .bashrc

Sie sollten das Original in /etc nur mit guten Linux-Kenntnisses ändern und dabei bedenken, dass Dateien in /etc bei einem Cygwin-Update überschrieben werden. Dokumentieren sie daher jede Änderung in /etc an anderer Stelle !
Falls sie die User Konfigurations-Datei in /home irrtümlich zerstört haben, genügt es, sie als Kopie des Originals neu anzulegen.

Windows Text-Editor

Die Konfigurations-Datei ist eine reine Text-Datei, der Zeilen-Umbruch erfolgt jedoch nach Linux-Art (Linefeed LF) und nicht nach Windows-Art (Carriage Return + Linefeed CR+LF). Änderungen mit einem Windows-Editor können daher Probleme bereiten.
Verwenden sie als Editor am besten Notepad++ oder write.exe
Erstellen sie vor jeder Änderung, z.B. von .bashrc eine Sicherungs-Kopie. (Die Rück-Benennung ist nur in mit dem Konsolen-Programm rename möglich !)

 Individuelle Änderungen

Ändern sie nichts am Original-Text der Datei
/home/username/.bash_profile
Fügen sie eigene Zusätze am Ende dieser Datei an und kommentieren sie diese eindeutig: Kommentar-Zeilen beginnen mit einem # Zeichen.

Kommentare werden auch zum Ein/Aus-Schalten von Programmteilen verwendet: Jede Programmzeile mit einem führenden # Zeichen wird ignoriert. So enthält das Konfigurations-Programm meist abgeschaltete Teile, die sie durch Löschen des # Zeichens aktivieren können.

Beispiel im Kapitel Eigene Alias-Befehle auf dieser Seite.

Konfiguration der Windows-Umgebung

Eigene Programme

Sie sollten eigene Programme in einem eigenen Verzeichnis sammeln, z.B.
C:\Programme\_myprox

Das Underline _ Zeichen vor dem Namen hat den Vorteil, dass dieses Verzeichnis in allen Listen an erster Stelle angezeigt wird.

Auch wenn sie sonst keine eigenen Programme entwickeln, sollten sie dieses Verzeichnis anlegen.
Hierher kommen u.a. alle Script-Programme, die zur Anpassung von Cygwin zusätzlich erstellt werden.
Der Pfad zu diesem Verzeichnis wird in der Umgebungs-Variablen PATH (nächster Absatz) eingetragen.

Umgebungs-Variable

Zur optimalen Anpassung sollten einige Windows Umgebungs-Variablen geändert werden.
Achtung: Das stellt einen Eingriff in das Windows Betriebssystem dar. Bei unsachgemäßer Ausführung kann irreversibler Schaden an System,Programmen oder Daten entstehen. Sie folgen den Anweisungen auf eigenes Risiko !

Öffnen sie   [ Start | Einstellungen ]   Systemsteuerung | System | Erweitert | Umgebungsvariablen
Lagen sie eine neue Systemvariable (unteres Fenster) mit dem Namen cyg an und tragen sie als Wert den Pfad zu den Linux Dienstprogrammen ein, z.B. (mit abschließendem \ )
c:\programme\cygwin\bin\

Markieren sie die Systemvariable (unteres Fenster) PATH und klicken sie Bearbeiten. Das winzige Fenster ist unpraktisch: Öffnen sie daher besser den Editor notepad.exe und kopieren sie den Inhalt (Wert) der Variablen PATH in das leere Editor-Fenster.

Fügen sie am Ende (!) die beiden Pfade zu den Linux Dienstprogrammen und zu ihren eigenen Programmen an:
;%cyg%;c:\programme\_myprox
Vergessen sie nicht das ; Trennzeichen zwischen den Pfaden, fügen sie jedoch keine Leerzeichen, Tabulatoren oder Zeilen-Umbrüche ein.

Kopieren sie den ergänzten Text zurück in das Wert-Fenster der Variablen PATH und schließen sie die Systemsteuerung.

System-Restart

Damit die Änderung der Umgebungs-Variablen wirksam wird, melden sie sich vom System ab (Logout) und anschließend wieder an (Login). Alternativ können sie einen System-Neustart ausführen.

Kontrolle

Öffnen sie eine Windows-Konsole (Eingabeaufforderung) cmd.exe und geben sie ein
C:\> set
Die Liste aller Umgebungs-Variablen wird angezeigt. Sie sollte die neue Variable cyg enthalten, und am Ende von PATH die beiden angefügten Pfade.

Shell Umgebungs-Variablen

Die bash-Shell und manche der Dienstprogramme legen einige zusätzliche Umgebungs-Variable an. Diese Variablen sind nur in der Cygwin-Konsole definiert und werden z.B. so (alternativ) angezeigt
$ printenv | sort
$ declare
$ set

Details zur Änderung von Windows-Umgebungs-Variablen.

Die von der Shell erzeugte Systemvariable HOME enthält den Pfad zum privaten /home/username-Verzeichnis in dem sich alle für Cygwin benötigten Komponenten befinden. Im Windows-System sollte keine (!) Systemvariable HOME angelegt sein, da Cygwin in diesem Fall keine eigene HOME-Variable erzeugt.
Die Windows Systemvariablen HOMEDRIVE, HOMEPATH sind davon nicht betroffen und sollten keinesfalls geändert oder gelöscht werden.

Arbeit mit Cygwin

Voraussetzungen:   ↑ Cygwin installiert, ↑ Windows konfiguriert.  

Start

Cygwin wird mit Start | Programme oder durch Klick auf ein Desktop-Icon gestartet. Beide Verknüpfungen führen zur Script-Date
C:\Programme\Cygwin\cygwin.bat
Ein Fenster mit der Cygwin-Konsole sollte sich öffnen.

Core-Befehle

Zuerst wird ein core-Befehl getestet. Diese Befehle sind in jeder funktionierenden Shell enthalten.
Geben sie diesen Befehl (ohne das führende $ Zeichen) an der Cygwin Konsole ein:
$ ls c:
Eine Verzeichnis-Liste ihrer Festplatte sollte angezeigt werden, ähnlich diesen Befehlen der Windows-Konsole
C:\> dir /B
C:\> dir /W
Auf der Cygwin-Konsole können alle Windows-Befehle verwendet werden. Lediglich bei gleichnamigen Befehlen werden die Shell-Dienstprogramme bevorzugt. Vor dem Befehl dir müssen sie jedoch zuerst in ein beliebiges Verzeichnis wechseln, z.B.
$ cd c:
$ dir
Allerdings existiert in Cygwin meist ein eigenes Programm /bin/dir.exe welches in diesem Fall bevorzugt verwendet wird.

Pfade

Alle (!) Pfade werden an der Cygwin-shell-Konsole mit einem / Trennzeichen angegeben. Vergleichen sie diese Befehle an den beiden Konsolen:
$ ls c:/temp
C:\> dir /B c:\temp

Dienstprogramme

Als nächstes wird ein beliebiges Linux Dienstprogramm getestet, z.B.
/bin/ascii.exe
Geben sie diesen Befehl an der Cygwin-Konsole ein:
$ ascii
Eine Liste aller → ASCII-Zeichen wird angezeigt.
Wenn das Programm nicht startet (command not found . . ), dann ist vermutlich nur die Shell installiert, jedoch nicht die zahlreichen Linux-Dienstprogramme. Kontrollieren sie den Inhalt des /bin Verzeichnisses und ergänzen sie die ↑ Cygwin-Installation
Das gleiche (!) Programm wird nun auf der Windows-Konsole gestartet:
C:\> ascii
Bei korrekter Konfiguration wird jedes Linux Dienstprogramm auch auf der Windows-Konsole ausgeführt.
Wenn das Programm nur auf der Cygwin-Konsole läuft, dann ist die ↑ Windows-Umgebung nicht richtig konfiguriert.

Dokumentation und Hilfe

Wenn sie kein Linux-Profi sind, dann benötigen sie eine Dokumentation zu den zahlreichen nun verfügbaren Befehlen und Programmen. Dazu dienen die Programme man (ältere Version) und info (verbesserte neue Version).

Beide Programme bieten Live-Doku und Hilfe an der Konsole.
Beispiel: fordern sie Hilfe zum Befehl man an:
$ man man
C:\> man man
C:\> help help
Die Programme man und info laufen bei korrekter Konfiguration sowohl auf der Cygwin Konsole als auch auf der Windows Konsole.
Zum Vergleich wird der help Befehl der Windows-Konsole angeführt, dessen Information eher armselig ausfällt.

Navigation

Die Navigation in man und info erfolgt mit Hilfe der Pfeil-Tasten der Tastatur. Das man-Fenster wird mit der q-Taste verlassen.

Zusätzliche Informationen finden sie im Internet.
Tipp: Geben sie den Namen des betreffenden Programms an, zusätzlich eines oder mehrere der Stichworte Linux oder shell

Update und Ergänzung der Cygwin-Installation

Bei Erst-Installation wird normalerweise nur ein Minimal-Paket installiert. Wenn Cygwin sauber läuft, dann können weitere Module installiert werden. Tipp: Installieren sie die gewünschten Module einzeln und testen sie das Programm vor Installation weiterer Module.
Es ist empfehlenswert, alle Cygwin Installations-Dateien in einem lokalen Verzeichnis zu speichern Es trägt je nach Download-Quelle z.B. den Namen
C:\ftp%3a%2f%2fgd.tuwien.ac.at%2fgnu%2fcygwin
Dieses Verzeichnis können sie auf mehreren PC verwenden, oder z.B. nach Installation eines neuen Betriebssystems auf ihrem PC.

Entfernen oder deaktivieren (durch Umbenennen) sie die Datei setup.ini im Installations-Verzeichnis (Sie wird bei Bedarf automatisch neu angelegt).

Laden sie neue oder zusätzliche Module von der Download-Quelle in das Sub-Verzeichnis release
Name und Inhalt eines Moduls sollte keinesfalls geändert werden. Mindestens laden sie von jedem Modul:
Das Archiv (*.tar, *.bz2) mit allen Komponenten des Moduls
Die Kontroll-Summe md5.sum
Die Hinweise setup.hint
Wenn sich in einem Modul auch ältere Versionen befinden, dann können diese meistens gelöscht werden - allerdings nur dann, wenn sie nicht von anderen installierten Modulen benötigt werden.

Lesen sie die Hinweise der Datei setup.hint
Hier sind u.a. alle Abhängigkeiten eingetragen, d.h. alle anderen Module und Bibliotheken, die von diesem Modul benötigt werden.
Laden sie natürlich auch diese Module.
Starten sie das Cygwin-Installations-Programm setup.exe
Sie können es u.a. von der Cygwin-Homepage laden (ca. 300kB).

Nach Festlegung von Quell-Verzeichnis (dort befinden sich die zu ladenden Module) und Ziel-Verzeichnis, normalerweise
C:\Programme\Cygwin
wird ein Fenster mit der Liste aller gefundenen Module angezeigt. Klicken sie das + Zeichen um die Liste anzuzeigen.
Spalte Current enthält die Version bereits installierter Module.
Spalte New enthält die Version des gefundenen Moduls.
Spalte Bin? enthält für bereits installierte Module n/a, für neue Module oder Versionen eine Checkbox. Alle markierten Module werden anschließend installiert.
Klicken sie nach Kontrolle ihrer Installations-Wünsche auf Weiter

Geduld ! - Die Installation kann einige Zeit dauern.

Testen sie die neue Version bzw. die neuen Module. Kehren sie bei Problemen zur Sicherungs-Kopie zurück.

GCC Compiler

Der GCC (GNU C Compiler) ist ein besonders beliebtes Linux Werkzeug. Dieser Allzweck-Compiler ist zwar auf die Programmiersprache C++ spezialisiert, jedoch auch für viele andere wie Ada, Cobol, D, Fortran, HP (div. Taschenrechner), Java, MVS, Pascal, PL/I, Python, ... und die Microcodes einiger Prozessor-Chips geeignet.
Mit Cygwin kann GCC auch auf Windows portiert werden.
GCC funktioniert unter Cygwin einwandfrei. Die damit erzeugten Programme sind jedoch leider nicht portabel:
Sie laufen nur auf Windows + Cygwin, also weder auf Linux noch auf Windows ohne Cygwin.

Microsoft Windows Services for UNIX (SFU)

Dieses Programm-Paket ergänzt - ähnlich wie Cygwin - ein Windows-System durch UNIX / Linux Konsolen-Programme. Cygwin bietet allerdings bedeutend mehr Möglichkeiten und wird außerdem von einer großen Zahl freiwilliger EntwicklerInnen laufend erweitert und verbessert. Auch SFU enthält viele professionelle Linux Shell-Programme, jedoch leider nicht die wichtige bash-Shell. In einigen Vista-Versionen ist SFU unter dem Namen 'Subsystem for UNIX-based Applications' enthalten.
Microsoft: Windows Services for UNIX  

Ausgewählte Links zum Thema 'Cygwin'

Cygwin-Homepage

http://www.cygwin.com: Information, Dokumentation, direkte Online-Installation, UserGuide, Packages, usw.

Goodie Domain Service (GDS) der TU Wien: Cygwin. Das Sub-Verzeichnis release enthält zahlreiche portierte Linux Dienstprogramme.
SourceForge SourceForge: >100 Projekte zum Stichwort Cygwin

Notepad++ als ausgezeichneter kostenfreier Editor für Shell-Scripts *.sh und Windows CMD-Scripts *.cmd

WikipediaWikipedia: CygWin, Microsoft SFU