Cygwin
Cygwin ist eine Sammlung von freien und quell-offenen 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 -- Die angegebenen 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%" -R "%ROOTDIR%"
ENDLOCAL
PAUSE
EXIT /B 0
@ECHO OFF
REM -- UTF-8 Unterstützung
chcp 65001 > NUL
SETLOCAL
SET PACKAGEDIR=C:/Users/Public/CygwinPakete
SET ROOTDIR=C:/Programme/cygwin
SET ROOTDIR_WIN=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 -l "%PACKAGEDIR%" -P %PACKAGES% -C Base -R "%ROOTDIR%"
REM -- Mit chere einen Kontextmenüeintrag erstellen
"%ROOTDIR_WIN%\bin\bash.exe" --login -c 'chere -s bash -i -f'
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:\Users\Public\CygwinPakete
icacls C:\Programme\cygwin /t /grant Jeder:F
icacls C:\Users\Public\CygwinPakete /t /grant Jeder:F
Remove-Item -Recurse -Force C:\Programme\cygwin
Remove-Item -Recurse -Force C:\Users\Public\CygwinPakete
Remove-Item -ErrorAction SilentlyContinue -Recurse -Force -Path HKLM:\SOFTWARE\Cygwin
Remove-Item -ErrorAction SilentlyContinue -Recurse -Force -Path HKCU:\SOFTWARE\Cygwin
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
(oder das Skript signieren).
Umgebungsvariablen
Hier die in den BAT Skripten verwendeten Umgebungsvariablen:
- SITE =
https://mirrors.kernel.org/sourceware/cygwin/
- PACKAGEDIR =
C:/Users/Public/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!
- Wird die Datei mit
- Das Skript
cygwin-pakete-herunterladen.bat
als Administrator ausführen um die Abhängigkeiten in ein lokales Verzeichnis zu laden (Standard:C:\Users\Public\CygwinPakete
-> siehe Skript) - Der gesamte Ordner kann nun gepackt und auf einen Rechner geladen werden
- Den Ordner wieder entpacken und zwar in das Verzeichnis, welches im ersten Skript (herunterladen) als
PACKAGEDIR
angegeben wurde - Wurden die Pakete nach
PACKAGEDIR
entpackt, kann mitcygwin-pakete-installieren.bat
die eigentliche Installation durchgeführt werden
Parameterreferenz
Als Referenz (siehe .\setup-x86_64.exe --help
) oder im Web über diesen Link.