Cygwin: Unterschied zwischen den Versionen
Admin (Diskussion | Beiträge) Parameterfehler behoben; UTF-8 aktiviert |
Admin (Diskussion | Beiträge) KKeine Bearbeitungszusammenfassung |
||
Zeile 1: | Zeile 1: | ||
[https://www.cygwin.com/ Cygwin] ist eine Sammlung von freien und | [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 -- | 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_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 | ||
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>. | </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>. | ||
Zeile 56: | Zeile 58: | ||
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 | # 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 | # 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. |
Version vom 16. April 2022, 02:28 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
.
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.