Ich habe bisher nur Windows SFU unter Windows 2008 verwendet, aber ich glaube, das basiert auf Interix. Ich habe gelegentlich mit Cygwin gespielt, aber nicht sehr viel. Deshalb korrigiert mich bitte jemand, wenn ich hier etwas sichtlich Falsches sage.
- Unix-ähnliches Gefühl: Interix gewinnt dieses Spiel. Die Umgebung fühlt sich viel "vollständiger" an. Ich bin mir nicht sicher, wie ich es ausdrücken soll. Interix wird neben dem win32-Subsystem ausgeführt, auf dem cygwin ausgeführt wird. Interix ist also ein "First Class Citizen" im Windows-Kernel-Land. Dinge wie
ps
und df
funktionieren gut.
- Leistung: Nachdem ich keine großen Leistungstests durchgeführt habe, würde ich vermuten, dass Interix auch dies gewinnt. Wieder läuft es auf einer niedrigeren Ebene. Sie führen nicht nur Win32-Apps mit einer eingebundenen POSIX-Kompatibilitäts-DLL aus.
- Pakete / Zufallssoftware: Cygwin gewinnt diese aus zwei Gründen. Erstens ist Cygwin weitaus bekannter. Viele Unixy-Programme werden ihre Macken unterstützen. Sie können die Dinge auch ganz einfach über das GUI-Installationsprogramm installieren. Interix hat (glaube ich) so etwas nicht eingebaut. Sicher, Sie können etwas herunterladen, es mit gcc kompilieren (was ich glaube, Sie können es vorkonfigurieren) und beten, dass es funktioniert, aber es ist ein bisschen wie das Portieren von Software auf eine andere zufällige Variante von Unix (wie Solaris oder AIX) - manche Dinge werden funktionieren, andere werden versuchen, dir das Bein abzubeißen und deine Kinder zu ermorden.
- Integration mit Windows-Apps und -Tools: Um ehrlich zu sein, beides ist eine Art Trottel. Wenn Sie beispielsweise einen Apache-Server haben, der in Cygwin oder Interix ausgeführt wird, kann er sicher über TCP mit Win32-Programmen kommunizieren, aber das ist ungefähr so weit. Ich glaube, Sie können Win32-Programme aus Interix heraus töten und sie mit ps auflisten, ohne sicher zu sein, ob Sie dies mit cygwin tun können. In beiden Fällen können Sie den Windows-Task-Manager zum Beenden von Vorgängen verwenden.
- Integration mit VMs: Adressieren Sie Ihr Beispiel für die Freigabe eines Basisverzeichnisses, und klicken Sie dann auf Ja. Sie können entweder Samba verwenden, und ich glaube, NFS funktioniert auch unter Interix, um etwas Unixigeres zu erreichen. Sie werden jedoch keine netten GUIs oder irgendetwas finden, um die Arbeit für Sie zu erledigen. Mit cygwin und Interix können Sie auf Ihre regulären Dateisysteme zugreifen.
- Größe der Nutzerbasis: Cygwin gewinnt hier, würde ich sagen. Es war sehr schwierig, Dinge zu finden, die für die Ausführung unter Interix getestet und entwickelt wurden, wobei die meisten Open-Source-Produkte Cygwin als Kompilierungsplattform zu unterstützen schienen.
Wenn Sie eine Kopie eines Windows-Betriebssystems haben, das Interix unterstützt (wie Sie bereits sagten, eine Enterprise Edition, eine Ultimate Edition oder eine Server Edition), ist es kein Problem, es auszuprobieren. Es ist eine sehr vollständige Gefühlsumgebung. Cygwin läuft, wie Sie sagten, auf allem und ist bekannter und besser unterstützt, fühlt sich aber für mich ein bisschen wie ein schmutziger Hacker an. Einige Leute benutzen es jedoch regelmäßig.
/ * meta note- Ich hasse es, dass Kommentare so kurz sind * /
Ich stimme Andrews Antwort meistens mit ein paar Kommentaren zu. Ich habe viele Unix-Systeme unter Windows durch SUA / SFU (nein, sie sind nicht gleich, aber nahe) ersetzt.
quelle
Ich kann die Antwort von JimB nicht kommentieren, also hier darauf eingehen, insbesondere auf den Punkt zur Windows-Integration. Cygwin basiert auf Win32, läuft aber nicht in einem eigenen Subsystem, ist langsamer und bietet eine wesentlich bessere Windows-Integration. Es ermöglicht sogar die Verwendung von Windows- und UNIX-APIs im selben Programm, wodurch beispielsweise der Cygwin X-Server oder das mintty-Terminal aktiviert werden.
Cygwins 'ps' listet Windows-Prozesse auf, wenn Sie die Option -W angeben, und 'kill -f' beendet sie. Windows-Programme können aus Cygwin heraus aufgerufen und mit Cygwin-Programmen unter Verwendung aller üblichen Mechanismen wie Pipes verbunden werden. (Ich weiß nicht, ob das in Interix möglich ist.)
Windows-ähnliche Pfade mit Schrägstrichen in Vorwärts- und Rückwärtsrichtung werden unterstützt. Cygwin 1.7 hat UTF-8 zum Standardzeichensatz gemacht, und die UTF-16-Dateinamen von Windows werden automatisch übersetzt, sodass Dateinamen in jeder Sprache in Cygwin korrekt angezeigt werden. Ich weiß nicht, was Interix hier macht, konnte aber keine Beweise dafür finden, dass es Unicode unterstützt.
Zu den weiteren Integrationsfunktionen gehören das Dienstprogramm 'cygstart' zum Öffnen einer Datei, als ob Sie im Explorer darauf doppelklicken, und das Gerät / dev / clipboard für den Zugriff auf die Windows-Zwischenablage.
quelle
Lassen Sie mich meine Erfahrungen mit der Installation von Interix für Windows 7 teilen.
Unsere Reise beginnt auf einer undurchsichtigen Seite für Windows Server 2008.
Hier werden Sie feststellen, dass es nicht mehr Interix heißt, sondern Subsystem für Unix-basierte Anwendungen oder SUA . Als Nächstes werden Sie nur anhand eines Benutzerkommentars feststellen, dass SUA nur für Windows 7 Ultimate oder Enterprise verfügbar ist. Dies wird im Artikel nirgendwo erwähnt. Nach der Installation des "Subsystems" werden Sie feststellen, dass es nicht mehr als 2 Verknüpfungen in Ihrem Startmenü gibt.
Jetzt kommst du zum wahren Übel. Klicken Sie auf die Verknüpfung zum Herunterladen, um zur Downloadseite zu gelangen.
Hier stehen 3 Dateien zum Download zur Verfügung. Diese Dateien haben alle eine Größe von über 400 MB über 4 Jahre alt . Außerdem haben wir keinerlei Möglichkeiten, benutzerdefinierte Pakete, bestimmte Teile usw. herunterzuladen. Sie werden dann feststellen, dass dieser Link tatsächlich für Vista und nicht für Windows 7 bestimmt ist und Sie müssen das Internet durchsuchen, um die Windows 7-Seite zu finden . An diesem Punkt gab ich auf.
Cygwin
Gehen Sie zu cygwin.com . Laden Sie cygwin.com/setup-x86.exe herunter . Diese Datei ist 714 KB groß . Führen Sie eine Grundinstallation durch und Sie werden sehen, dass es ungefähr 2 Minuten dauert .
Danach können Sie das Installationsprogramm für viele andere Pakete nach Ihren Wünschen wiederverwenden. Die Moral der Geschichte ist, dass Cygwin sich um den Benutzer kümmert .
quelle
UNIX-ähnliches "Gefühl" ist ziemlich subjektiv. Meine Stimme geht mit CygWin, da es CygWin / X Xwindows Server mit allen notwendigen Funktionen hat. SFU bekam die grundlegenden X11-Tools, aber es war zu wenig und zu spät. Viele (einschließlich ich) wurden mit CygWin bekannt, weil sie einen X11-Server benötigen. Aus Gründen der Vollständigkeit ist CygWin auch besser positioniert, da es Open Source ist und viele GNU- oder GPL-lizenzierte Software darauf portiert ist. Ich habe nur wenige kommerzielle Produkte für CygWin gesehen, während ich nur ein Produkt gesehen habe, für das UNIX Services für Windows NT erforderlich sind, und seitdem keines. YMMV.
PaketverfügbarkeitDies ist ein klarer Gewinn für CygWin, der von mehreren Faktoren beeinflusst wird: - Geringere Einstiegskosten: "Any Windows" mit CygWin vs. Server-Lizenz für SFU / SUA. Einige Funktionen sind für die Desktop-Versionen von Windows verfügbar, jedoch für die teureren Versionen und ohne die Serverkomponenten. - Open Source vs. Closed Source und vor allem offen verfügbare Dokumentation. In der Vergangenheit standen sogar die Befehlsliste und die bereitgestellten APIs nur MSDN-Abonnenten zur Verfügung, und auf der Microsoft-Site waren nur wenige oder gar keine Informationen verfügbar. Im Gegensatz dazu war das GNU-Toolset gut dokumentiert und sowohl online als auch als Manpage verfügbar. - Die Namens- und Implementierungsänderungen sind verwirrend. Die frühen Versionen verwendeten das MKS-Toolkit, das später aufgegeben wurde.
Performance- bezogen kann man argumentieren, dass das Interix näher am Kernel ist und somit einen kürzeren Code-Run-Pfad hat. Die eigentliche Frage ist, um wie viel und spielt es eine Rolle? Bei den meisten Programmen beträgt der Unterschied einige Prozent und ist vernachlässigbar. Natürlich kann ein künstliches Beispiel mit umfangreichen E / A-Vorgängen herangezogen werden. Ich würde es vorziehen, natives UNIX so stark zu belasten, dass es schneller ist als native Windows- und UNIX-Add-Ons auf Windows. Viele sind mit zunehmender Last von Windows auf UNIX migriert, während ich kein Beispiel für die Konvertierung von CygWin nach Interix (oder umgekehrt) kenne. Es ist die UNIX-Kompatibilität, die gesucht wird und nicht die UNIX-Leistung, also setze ich dies an das Ende der Liste.
quelle