Cygwin

Aus Avensio Wissenssammlung
Zur Navigation springen Zur Suche springen

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:

  1. Herunterladen der Installationsdatei
    1. Wird die Datei mit .\setup-x86_64.exe --help aufgerufen, so wird eine Beschreibung der Parameter angezeigt!
  2. 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)
  3. Der gesamte Ordner kann nun gepackt und auf einen Rechner geladen werden
  4. Den Ordner wieder entpacken und zwar in das Verzeichnis, welches im ersten Skript (herunterladen) als PACKAGEDIR angegeben wurde
  5. Wurden die Pakete 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.