web-dev-qa-db-fra.com

Subsystème pour les applications basées sur UNIX dans Windows 7

Remarqué une chose appelée sous-système pour les applications basées sur UNIX dans la boîte de dialogue Turn Windows Fonctions La boîte de dialogue sous Windows 7. Ne l'a jamais vu auparavant, et cela semble intéressant. Qu'est-ce que c'est vraiment vraiment? Qu'est-ce que c'est et que puis-je l'utiliser?

13
Svish

Auparavant connu sous le nom de [~ # ~] SFU [~ # ~] ou Services pour UNIX . C'est un sous-système d'environnement dans Windows, fournissant une conformité complète de POSIX et une grande charge d'outils fournis normalement avec des systèmes UNIX.

En tant que sous-système d'environnement Cela signifie qu'il exécute à côté L'API Windows, directement sur le noyau. Donc, ce n'est plus émulé que l'API Windows native elle-même est et effectue donc beaucoup mieux que Cygwin, par exemple.1

Il est principalement destiné à créer et à exécuter des applications UNIX directement sur Windows, de sorte que votre programme UNIX préféré ne vient pas avec un port Windows, vous pouvez essayer de la construire à SUA:

Les services Windows pour UNIX et Subsystème pour les applications basées sur UNIX fournissent des fichiers d'en-tête et des bibliothèques permettant de recompiler ou de passer des applications UNIX de port pour une utilisation sur Windows; Ils ne font pas compatible les binaires UNIX compatibles avec les fichiers binaires Windows. Il est préférable de penser comme une plate-forme distincte de type UNIX.

La version actuelle de SFU contient:

  • Plus de 350 utilitaires UNIX telles que VI, KSH, CSH, LS, CAT, AWK, GREP, Kill, etc.
  • Compilateur de GCC 3.3 comprend et des bibliothèques (via une MS Libc)
  • Un wrapper ressemblant à CC pour Microsoft Visual Studio Command-Line C/C++ Compiler
  • Débogueur de gdb
  • Serveur NFS et client
  • Un démon pcnfsd
  • X11 outils et bibliothèques
  • Les outils de fabrication de points de montage NFS apparaissent sous forme d'actions Windows et inversement (Gateway Services)
  • Une capacité de serveur NIS liée à Active Directory (AD)
  • Quelques outils de synchronisation des informations d'authentification Windows/Unix

SFU ne contient pas ce qui suit (mais les fichiers binaires sont disponibles pour une installation séparée):

  • bash, opensesh, sudo, cvs, clamav, bzip2, gmake, curl, emacs, apache, xview, ruby, tcl, python

(Wikipedia)

Puisque SUA n'essaie pas d'être Linux ou BSD, mais simplement Posix, cela peut également signifier que de nombreux programmes qui s'appuient sur des choses spécifiques à la plate-forme peuvent échouer ou exécuter. Les scripts shell qui supposent bash au lieu d'appels système spécifiques à SH ou Linux me viennent à l'esprit. Très peu de programmes sont aujourd'hui écrits qui peuvent exécuter directement sur n'importe quel système compatible POSIX. De plus, la version de GCC incluse est quelque peu ancienne, ce qui signifie qu'il peut ne pas prendre en charge votre plus récente bonté C99 +.


1 Il est toujours soumis aux limitations spécifiques à Windows, telles que la durée de démarrage du processus lent, de sorte que l'extrême forking sera toujours très lente, c'est pourquoi vous allez attendre des âges pour de nombreux ./configure scripts ou certains maquillages à exécuter.

18
Joey

Vous pouvez utiliser des packages de style BSD pour l'installation/la désinstallation de logiciels. Vous pouvez accéder à SUA via SSH si vous avez installé OpenSSH.

1
Budhi Hamdani