Cygwin

Aus Avensio Wissenssammlung
Version vom 22. März 2022, 16:04 Uhr von Admin (Diskussion | Beiträge) (Cygwin Installation mit 3 Skripten kurz beschrieben)
(Unterschied) ← Nächstältere Version | Aktuelle Version (Unterschied) | Nächstjüngere Version → (Unterschied)
Zur Navigation springen Zur Suche springen

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:

  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:\CygwinPakete -> siehe Skript)
  3. Der gesamte Ordner kann nun gepackt und auf einen Rechner geladen werden
  4. 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
  5. Den Ordner wieder entpacken und zwar in das Verzeichnis, welches im ersten Skript (herunterladen) als PACKAGEDIR angegeben wurde
  6. 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.