Cygwin
Cygwin ist eine Sammlung von freien und quelloffenen Programmen und Werkzeugen um eine unixähnliche Umgebung - auch mit POSIX Unterstützung - unter Windows zur Verfügung zu haben.
Windows Installation
Unter Windows können folgende beiden bat Skripte verwendet werden um zum einen die benötigten Pakete herunterzuladen und zum anderen Cygwin zu installieren:
@ECHO OFF
SETLOCAL
REM -- Umgebungsvariablen setzen
SET SITE=https://ftp-stud.hs-esslingen.de/pub/Mirrors/sources.redhat.com/cygwin/
SET PACKAGEDIR=C:/Users/Public/CygwinPakete
SET ROOTDIR=C:/Programme/cygwin
SET PACKAGES=openssh,chere,wget,vim,bash-completion
REM -- Ausschließlich die genannten Pakete in das unter PACKAGEDIR angegebene Verzeichnis herunterladen
"%USERPROFILE%\Downloads\setup-x86_64.exe" -q -W -f -D -s %SITE% -P %PACKAGES% -C Base -l %PACKAGEDIR%
ENDLOCAL
PAUSE
EXIT /B 0
@ECHO OFF
SETLOCAL
SET PACKAGEDIR=C:/Users/Public/CygwinPakete
SET ROOTDIR=C:/Programme/cygwin
SET PACKAGES=bash-completion,openssh,chere,wget,vim
REM -- Bereits heruntergeladene Pakete aus einem lokalen Verzeichnis installieren
"%USERPROFILE%\Downloads\setup-x86_64.exe" -q -g -f -L "%PACKAGEDIR%" -P %PACKAGES% -C Base -R "%ROOTDIR%"
REM -- Mit chere einen Kontextmenüeintrag erstellen
"%ROOTDIR%/bin/bash.exe" --login -c 'chere -s bash -i -f -e "Bash hier oeffnen"'
ENDLOCAL
PAUSE
EXIT /B 0
Zum Ausprobieren einer Konfiguration kann mit folgendem PowerShell Skript die Cygwin Installation entfernt werden:
takeown /r /d j /f C:\Programme\cygwin
takeown /r /d j /f C:\CygwinPakete
icacls C:\Programme\cygwin /t /grant Jeder:F
icacls C:\CygwinPakete /t /grant Jeder:F
Remove-Item -Recurse -Force C:\Programme\cygwin
Remove-Item -Recurse -Force C:\CygwinPakete
Bevor nicht signierte PowerShell Skripte lokal ausgeführt werden können muss die Ausführungsrichtlinie angepasst werden mit Set-ExecutionPolicy RemoteSigned
. Nach der Ausführung nicht vergessen die Richtlinie wieder zurückzusetzen auf den ursprünglichen Wert mit Set-ExectionPolicy AllSigned
.
Umgebungsvariablen
Hier die in den BAT Skripten verwendeten Umgebungsvariablen:
- SITE =https://mirrors.kernel.org/sourceware/cygwin/
- PACKAGEDIR =C:/CygwinPakete
- ROOTDIR =C:/Programme/cygwin
- PACKAGES =chere,wget,openssh,mysql,git,python39,emacs,vim,bash-completion,gcc-core
Installation
Zum Installieren von Cygwin sind folgende Schritte notwendig:
- Herunterladen der Installationsdatei
- Wird die Datei mit .\setup-x86_64.exe --help aufgerufen, so wird eine Beschreibung der Parameter angezeigt!
- Das Skript `cygwin-pakete-herunterladen.bat` als Administrator ausführen um die Abhängigkeiten in ein lokales Verzeichnis zu laden (Standard: C:\CygwinPakete -> siehe Skript)
- Der gesamte Ordner kann nun gepackt und auf einen Rechner geladen werden
- Zusätzlich ist es nötigt die unter ROOTDIR\etc\setup (vom Herunterladen) erstellten Dateien ebenfalls zu packen und auf die entsprechenden Rechner zu laden
- Den Ordner wieder entpacken und zwar in das Verzeichnis, welches im ersten Skript (herunterladen) als PACKAGEDIR angegeben wurde
- Sind nun die Dateien aus \etc\setup wieder an dem entsprechenden Platz und die Pakete wurden nach PACKAGEDIR entpackt, kann mit `cygwin-pakete-installieren.bat` die eigentliche Installation durchgeführt werden
Parameterreferenz
Als Referenz (siehe .\setup-x86_64.exe --help) oder im Web über diesen Link.