it-swarm-pt.tech

Subsistema para aplicativos baseados em UNIX no Windows 7

Notei uma coisa chamada Subsistema para aplicativos baseados em UNIX na caixa de diálogo Ativar e desativar recursos do Windows no Windows 7. Nunca vi isso antes, e parece interessante. O que exatamente é realmente? Para que serve e para que posso usá-lo?

13
Svish

Anteriormente conhecido como [~ # ~] sfu [~ # ~] ou Serviços para UNIX . É um subsistema de ambiente no Windows, fornecendo compatibilidade total com POSIX e uma grande quantidade de ferramentas que normalmente vêm com sistemas UNIX.

Como um subsistema de ambiente isso significa que ele executa junto com a API do Windows, diretamente no topo do kernel. Portanto, ele não é mais emulado do que a própria API nativa do Windows e, portanto, tem um desempenho muito melhor do que o cygwin, por exemplo.1

Ele se destina principalmente à construção e execução de aplicativos UNIX diretamente no Windows, portanto, se o seu programa UNIX favorito não vier com uma porta do Windows, você pode tentar compilá-lo no SUA:

Os Serviços do Windows para Unix e o Subsistema para Aplicativos baseados em Unix fornecem arquivos de cabeçalho e bibliotecas que facilitam a recompilação ou porta de aplicativos Unix para uso no Windows; eles não tornam os binários Unix compatíveis com os binários do Windows. É melhor pensado como uma plataforma semelhante ao Unix distinta.

A versão atual do SFU contém:

  • Mais de 350 utilitários Unix como vi, ksh, csh, ls, cat, awk, grep, kill, etc.
  • Compilador GCC 3.3, inclui e bibliotecas (por meio de um MS libc)
  • Um wrapper semelhante a cc para o compilador C/C++ de linha de comando do Microsoft Visual Studio
  • Depurador GDB
  • Servidor e cliente NFS
  • Um daemon pcnfsd
  • Ferramentas e bibliotecas X11
  • Ferramentas para fazer com que os pontos de montagem do NFS apareçam como compartilhamentos do Windows e vice-versa (serviços de gateway)
  • Um recurso de servidor NIS vinculado ao Active Directory (AD)
  • Algumas ferramentas de sincronização de informações de autenticação do Windows/Unix

SFU não contém o seguinte (mas os binários estão disponíveis para uma instalação separada):

  • bash, OpenSSH, Sudo, CVS, ClamAV, bzip2, gmake, curl, emacs, Apache, XView, Ruby, Tcl, Python

(Wikipedia)

Como o SUA não tenta ser Linux ou BSD, mas simplesmente POSIX, isso também pode significar que muitos programas que dependem de coisas específicas da plataforma podem falhar na construção ou execução. Scripts shell que assumem bash em vez de sh ou chamadas de sistema específicas do Linux vêm à mente. Muito poucos programas hoje em dia são escritos que podem ser executados diretamente em qualquer sistema compatível com POSIX. Além disso, a versão do gcc incluída é um pouco antiga, o que significa que pode não oferecer suporte às suas vantagens C99 + mais recentes.


1 Ele ainda está sujeito a limitações específicas do Windows, como tempo de inicialização lento do processo, portanto, a bifurcação extrema ainda será muito lenta, e é por isso que você vai esperar séculos por muitos ./configure scripts ou alguns makefiles para executar.

18
Joey

Você pode usar pacotes de estilo BSD para instalar/desinstalar software. Você pode acessar o SUA via SSH se tiver o OpenSSH instalado.

1
Budhi Hamdani