it-swarm.com.de

Was sind die Unterschiede zwischen Windows Bash und Cygwin?

Was sind die Unterschiede zwischen Windows Bash und Cygwin?

Das neue Update von Windows mit "Linux" Bash ist neu, aber welche Unterschiede gibt es zu Cygwin, die Sie dazu bringen könnten, sich für ein anderes zu entscheiden?

65

Cygwin ist ein großartiges Tool, wenn Sie vollständig in Windows leben und Windows-Aufgaben mit Bash-Skripten steuern/automatisieren möchten. Cygwin kann jedoch keine unveränderten Linux-Binärdateien ausführen.

Hier greift die WSL ein:

Das Windows-Subsystem für Linux (WSL) ist eine neue Schicht des Windows-Kernels, die ein hohes Maß an Kompatibilität mit dem Linux-Kernel ABI gewährleisten soll. Auf diese Weise können native, unveränderte Linux-ELF64-Binärdateien unter WSL ausgeführt werden.

Auf diese Weise kann WSL eine echte Ubuntu-Distribution für Benutzer ausführen und alle Pakete, die Sie von apt-get herunterladen, oder .deb-Pakete von einem anderen Ort, ohne Änderungen.

Ziel von WSL ist es, Entwicklern, die unter Windows arbeiten, die Möglichkeit zu geben, viele der Tools auszuführen und an vielen Projekten zu arbeiten, die von Linux-Binärdateien, Funktionen, Verhalten, Dateisystemlayout, Prozessmodell usw. abhängen.

Während sich WSL noch in einem frühen Stadium der Implementierung befindet, arbeiten wir hart daran, die Breite und Tiefe unserer Syscall-Implementierungen zu verbessern, um die Fähigkeit der WSL zu verbessern, einen immer größeren Satz von Tools auszuführen und eine schnell wachsende Anzahl von Ruby, Java, -Knoten zu unterstützen usw. Pakete und Projekte.


Aktualisierung: 07.09.2017

Seit dem Schreiben des obigen Dokuments haben wir Windows 10 Creators Update ausgeliefert, das die Kompatibilität der WSL mit VIELEN Tools, die Sie ausführen möchten/müssen, massiv verbessert.

Die Entwicklung wurde auch unvermindert fortgesetzt und wir haben Win10 Insiders Builds in den letzten Monaten auf dem Weg zur Auslieferung des Fall Creators Update (FCU) im Oktober 2017 ausgeliefert.

In der FCU haben wir die Möglichkeit, mehrere Distributionen nebeneinander zu installieren und auszuführen: Ubuntu, openSUSE und SLES sind derzeit verfügbar, Fedora und andere sind unterwegs. WSL unterstützt jetzt auch USB-serielle Kommunikation und das Mounten von USB-Speicher- und Netzwerkfreigaben sowie weitere Verbesserungen an unseren Systemaufrufen, die die Kompatibilität mit weiteren Tools verbessern.


Update: 22.08.2019

Es ist ein paar Jahre her, dass WSL zuerst angekündigt und veröffentlicht wurde, dann Unterstützung für mehrere Distributionen über den Store hinzugefügt und WSL v1.0 HTH angekündigt wurde.

Bei Build 2019 haben wir das neue Terminalvideo für Windows ( hier angekündigt ) und WSL 2 ( WSL 2 Session Video hier ) welches eine ganz neuer Ansatz zum Ausführen von Linux unter Windows.

Weitere Informationen und zukünftige Updates finden Sie alle paar Wochen im Windows-Befehlszeilenblog, in dem wir zahlreiche verwandte Nachrichten veröffentlichen

65
Rich Turner

Windows-Subsystem für Linux

Ich benutze WSL unter Windows 10 seit einigen Monaten. Endlich kann ich Windows zum Spielen starten und trotzdem auf die Bash-Eingabeaufforderung zugreifen und CLI und viele GUI-Programme ausführen. Es gibt Einschränkungen wie keine der bekannten virtuellen Linux-Kernel-Verzeichnisse. Planung ist erforderlich, um dasselbe Bash-Skript für Ubuntu und WSL auf einem Dual-Boot-Computer zu verwenden.

Es gibt viele Dinge, die ich gerne verbessert hätte, aber ich kann damit leben, wie es für ein Jahr oder so ist.

Geschlossene Quelle

Beachten Sie, dass Microsoft ein geschlossenes System ist und Sie nicht die Unruhe von Drittanbietern verspüren, die Updates schreiben, wie Sie es unter Linux mögen. Aber wenn man bedenkt, dass man einen neuen Laptop kauft und dieser sowieso mit Windows 10 geliefert wird, kann man sagen, dass er mindestens "kostenlos" ist :)

Cygwin wird von Red Hat Linux gesteuert, das nicht gerade dafür bekannt ist, Dinge kostenlos zu verschenken. Ihre "kostenlose" Linux-Distribution Fedora scheint für manche ein "Testgelände" zu sein.

Wartungszyklen

Cygwin hat 15 Jahre Updates. Bemerkenswert ist, dass derselbe Projektmanager seit 2003 im Amt ist. Es gibt viele Vollzeitbetreuer und viele weitere freiwillige Mitarbeiter.

Die WSL bietet zweimal jährlich im Frühjahr und Herbst wichtige Updates an. Wöchentliche kleinere Updates sind für Entwickler in der Abonnementliste verfügbar. Obwohl Microsoft über Ressourcen verfügt, um Tausende von Menschen in die WSL-Entwicklung einzubeziehen, können Sie anscheinend die Teammitglieder mit Ihren Fingern zählen.

Geschwindigkeitsprobleme

Sie werden viele Beschwerden über die Geschwindigkeit der WSL sehen. Beispielsweise dauert das Malen von Bildschirmen in Windows 10 um ein Vielfaches länger als in Ubuntu 16.04, d. H. Sie können tatsächlich sehen, wie sich der Cursor in Windows 10 bewegt:

WSL bash startup.gif

Es dauert ungefähr 5 Sekunden, bis der Begrüßungsbildschirm von WSL Bash Paint ist. Im Vergleich dazu sind es ungefähr 1 1/2 Sekunden für den gleichen Begrüßungsbildschirm in Ubuntu 16.04:

Ubuntu terminal splash.gif

Cygwin hat seinen eigenen Anteil an Geschwindigkeitsbeschwerden bei Bash .


Ursprüngliche Buchung unten als historischer Bezug.

Die Antwort hier ist ein Jahr alt, daher halte ich ein kleines Update für angebracht. Bei Windows 10 Home bedeutet 32-Bit-Windows, dass das 64-Bit-Ubuntu/Windows-Subsystem nicht ausgeführt wird, wie Microsoft hier mitteilt: ( Windows Linux-Subsystem in Win10 HOME BASIC ).

Es ist wie ein Traum, wenn Ubuntu unter Windows mit seiner überragenden Spielunterstützung für Nvidia ausgeführt wird. Bevor Sie sich jedoch einen neuen (oder gebrauchten) Laptop zulegen, sollten Sie sicherstellen, dass Windows 10 64-Bit und nicht die 32-Bit-Heimversion installiert ist Sie möchten Ubuntu/Linux-Inhalte nativ unter Windows ausführen. Auf Microsoft-Websites wird die Windows Anniversary Edition als Voraussetzung für die Ausführung von Windows Subsystem for Linux bezeichnet.


Wenn Sie jedoch nicht mehr als 200 US-Dollar für Windows 10 ausgeben möchten und einen älteren Laptop mit Windows 8.1 64-Bit wie ich haben und einen noch älteren Laptop mit Windows Vista 64-Bit wie ich, dann ist Cygwin das Richtige für Sie die Antwort.

Cygwin unterstützt weitere Versionen von Windows wie auf der Website angegeben :

Es ist zu erwarten, dass Cygwin auf allen modernen, freigegebenen Windows-Versionen ausgeführt werden kann. Stand Januar 2016 Dies schließt Windows Vista, Windows Server 2008 und alle neueren Versionen von Windows bis Windows 10 und Windows Server 2016 ein. Die 32-Bit-Version von Cygwin wird auch in der WOW64-32-Bit-Umgebung auf freigegebenen 64-Bit-Versionen von Windows 64 ausgeführt Bit-Version natürlich nur auf 64-Bit-Windows.

Denken Sie daran, dass Cygwin nur so viel kann, wie das zugrunde liegende Betriebssystem unterstützt. Aus diesem Grund verhält sich Cygwin in den verschiedenen Windows-Versionen unterschiedlich und weist unterschiedliche Einschränkungen auf.

14