Cygwin: Unterschied zwischen den Versionen

Aus Avensio Wissenssammlung
Zur Navigation springen Zur Suche springen
Parameterfehler behoben; UTF-8 aktiviert
KKeine Bearbeitungszusammenfassung
 
(Eine dazwischenliegende Version desselben Benutzers wird nicht angezeigt)
Zeile 1: Zeile 1:
[https://www.cygwin.com/ 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.
[https://www.cygwin.com/ 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 ===
=== Windows Installation ===
Zeile 14: Zeile 14:
SET PACKAGES=openssh,chere,wget,vim,bash-completion
SET PACKAGES=openssh,chere,wget,vim,bash-completion


REM -- Ausschließlich die genannten Pakete in das unter PACKAGEDIR angegebene Verzeichnis herunterladen
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%"
"%USERPROFILE%\Downloads\setup-x86_64.exe" -q -W -f -D -s %SITE% -P %PACKAGES% -C Base -l "%PACKAGEDIR%" -R "%ROOTDIR%"


Zeile 24: Zeile 24:
@ECHO OFF
@ECHO OFF
REM -- UTF-8 Unterstützung
REM -- UTF-8 Unterstützung
chcp 65001
chcp 65001 > NUL


SETLOCAL
SETLOCAL
Zeile 30: Zeile 30:
SET PACKAGEDIR=C:/Users/Public/CygwinPakete
SET PACKAGEDIR=C:/Users/Public/CygwinPakete
SET ROOTDIR=C:/Programme/cygwin
SET ROOTDIR=C:/Programme/cygwin
SET ROOTDIR_WIN=C:\Programme\cygwin


SET PACKAGES=bash-completion,openssh,chere,wget,vim
SET PACKAGES=bash-completion,openssh,chere,wget,vim
Zeile 37: Zeile 38:


REM -- Mit chere einen Kontextmenüeintrag erstellen
REM -- Mit chere einen Kontextmenüeintrag erstellen
"%ROOTDIR%/bin/bash.exe" --login -c 'chere -s bash -i -f -e "Bash hier öffnen"'
"%ROOTDIR_WIN%\bin\bash.exe" --login -c 'chere -s bash -i -f'
ENDLOCAL
ENDLOCAL


Zeile 44: Zeile 45:
</syntaxhighlight>Zum Ausprobieren einer Konfiguration kann mit folgendem PowerShell Skript die Cygwin Installation entfernt werden:<syntaxhighlight lang="ps1" line="1">
</syntaxhighlight>Zum Ausprobieren einer Konfiguration kann mit folgendem PowerShell Skript die Cygwin Installation entfernt werden:<syntaxhighlight lang="ps1" line="1">
takeown /r /d j /f C:\Programme\cygwin
takeown /r /d j /f C:\Programme\cygwin
takeown /r /d j /f C:\CygwinPakete
takeown /r /d j /f C:\Users\Public\CygwinPakete
 
icacls C:\Programme\cygwin /t /grant Jeder:F
icacls C:\Programme\cygwin /t /grant Jeder:F
icacls C:\CygwinPakete /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:\Programme\cygwin
Remove-Item -Recurse -Force C:\CygwinPakete
Remove-Item -Recurse -Force C:\Users\Public\CygwinPakete
</syntaxhighlight>Bevor nicht signierte PowerShell Skripte lokal ausgeführt werden können muss die Ausführungsrichtlinie angepasst werden mit <code>'''Set-ExecutionPolicy RemoteSigned'''</code> . Nach der Ausführung nicht vergessen die Richtlinie wieder zurückzusetzen auf den ursprünglichen Wert mit <code>'''Set-ExectionPolicy AllSigned'''</code>.
Remove-Item -ErrorAction SilentlyContinue -Recurse -Force -Path HKLM:\SOFTWARE\Cygwin
Remove-Item -ErrorAction SilentlyContinue -Recurse -Force -Path HKCU:\SOFTWARE\Cygwin
</syntaxhighlight>Bevor nicht signierte PowerShell Skripte lokal ausgeführt werden können muss die Ausführungsrichtlinie angepasst werden mit <code>'''Set-ExecutionPolicy RemoteSigned'''</code> . Nach der Ausführung nicht vergessen die Richtlinie wieder zurückzusetzen auf den ursprünglichen Wert mit <code>'''Set-ExectionPolicy AllSigned'''</code> (oder das Skript signieren).


==== Umgebungsvariablen ====
==== Umgebungsvariablen ====
Hier die in den BAT Skripten verwendeten Umgebungsvariablen:
Hier die in den BAT Skripten verwendeten Umgebungsvariablen:


* '''SITE''' =<nowiki>https://mirrors.kernel.org/sourceware/cygwin/</nowiki>
* '''SITE''' = <code><nowiki>https://mirrors.kernel.org/sourceware/cygwin/</nowiki></code>
* '''PACKAGEDIR''' =C:/CygwinPakete
* '''PACKAGEDIR''' = <code>C:/Users/Public/CygwinPakete</code>
* '''ROOTDIR''' =C:/Programme/cygwin
* '''ROOTDIR''' = <code>C:/Programme/cygwin</code>
* '''PACKAGES''' =chere,wget,openssh,mysql,git,python39,emacs,vim,bash-completion,gcc-core
* '''PACKAGES''' = <code>chere,wget,openssh,mysql,git,python39,emacs,vim,bash-completion,gcc-core</code>


==== Installation ====
==== Installation ====
Zeile 65: Zeile 67:


# Herunterladen der Installationsdatei
# Herunterladen der Installationsdatei
## Wird die Datei mit '''.\setup-x86_64.exe --help''' aufgerufen, so wird eine Beschreibung der Parameter angezeigt!
## Wird die Datei mit '''<code>.\setup-x86_64.exe --help</code>''' 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)
# Das Skript '''<code>cygwin-pakete-herunterladen.bat</code>''' als Administrator ausführen um die Abhängigkeiten in ein lokales Verzeichnis zu laden (Standard: <code>C:\Users\Public\CygwinPakete</code> -> siehe Skript)
# Der gesamte Ordner kann nun gepackt und auf einen Rechner geladen werden
# 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
# Den Ordner wieder entpacken und zwar in das Verzeichnis, welches im ersten Skript (herunterladen) als '''<code>PACKAGEDIR</code>''' angegeben wurde
# Wurden die Pakete nach PACKAGEDIR entpackt, kann mit `'''cygwin-pakete-installieren.bat'''` die eigentliche Installation durchgeführt werden
# Wurden die Pakete nach <code>PACKAGEDIR</code> entpackt, kann mit '''<code>cygwin-pakete-installieren.bat</code>''' die eigentliche Installation durchgeführt werden


==== Parameterreferenz ====
==== Parameterreferenz ====
Als Referenz (siehe .\setup-x86_64.exe --help) oder im Web über [https://www.cygwin.com/faq.html#faq.setup.cli diesen] Link.
Als Referenz (siehe <code>.\setup-x86_64.exe --help</code>) oder im Web über [https://www.cygwin.com/faq.html#faq.setup.cli diesen] Link.

Aktuelle Version vom 8. November 2022, 21:43 Uhr

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.