MSYS2 (Minimal SYStem 2)[1] ist eine Softwaredistribution und Erstellungsplattform, die es erlaubt, Software aus der Unix-Welt auf Windows zu portieren.

Dieses Anliegen teilt MSYS2 mit anderen Projekten, namentlich Cygwin und Windows-Subsystem für Linux (WSL). Cygwin umfasst dabei eine vollständige POSIX-Umgebung, in der einzelne Programme wie unter Unix laufen. WSL ermöglicht es, Linux-Binaries direkt auf Windows auszuführen. Demgegenüber unterstützt MSYS2, zusammen mit der Compiler-Portierung Mingw-w64, die Übersetzung von Unix-Quelltext in native Windows-Binaries, und zwar sowohl für 32 als auch für 64 Bit; es bietet somit den Vorteil, dass der Anwender der portierten Software durchgängig unter Windows arbeitet, statt zwischen zwei Betriebssystemen zu wechseln.[2] MSYS2 unterstützt Windows dafür erst ab Vista und kein FAT mehr. Verglichen mit WSL wiederum unterstützen Cygwin und MSYS2 auch ältere Windows-Versionen.

MSYS2 umfasst einen Paketmanager (Pacman von Arch Linux), eine Bash-Shell und weitere Unix-Programme. Software, die unter MSYS2 läuft, unterstützt Pfadnamen im Unix-Stil. Zum Beispiel kann man die Datei C:\Users\John\file.txt mit dem Kommando

start notepad++ /c/Users/John/file.txt

in einen Editor laden.[3] Unter Cygwin verhält sich das ähnlich, es kann jedoch kein realer Pfad verwendet werden, sondern ein durch Cygwins Abstraktionsschicht emulierter, oder eine manuelle Übersetzung mit dem Tool cygpath ist notwendig.

MSYS2/Mingw-w64 umfasst eine Laufzeitbibliothek (msys-2.0.dll), die aus der Cygwin-Laufzeitbibliothek (cygwin1.dll) abgeleitet ist und in der die fortlaufende Entwicklung dieser zeitnah mitvollzogen wird.[4] MSYS2 und Mingw-w64 konkurrieren mit den älteren Projekten MSYS und MinGW, die nur 32 Bit unterstützen. Die Neuimplementierung und Abspaltung von MSYS/MinGW fand im Wesentlichen in den Jahren 2005–2008 statt.[5][6]

Bearbeiten

Einzelnachweise

Bearbeiten
  1. MSYS2 History. Abgerufen am 12. August 2021.
  2. Borek Bernard: Zsh on Windows via MSYS2
  3. Beispiel aus dem Übersichtsartikel bei Boolean World
  4. How does MSYS2 differ from Cygwin auf GitHub.
  5. mysys2 History auf GitHub.
  6. How are msys, msys2, and msysgit related to each other? stackoverflow.com