Windows 10 executa ferramentas Linux - Tudo que precisa saber sobre isso
Um "câncer" do bem
ARTIGO PROVAVELMENTE DESATUALIZADO
Leia novidades aqui: WSL 2 – entenda a nova versão do subsistema que permite rodar um Kernel Linux no Windows 10
Semana passada, na conferência Build 2017, a Microsoft divulgou que o Ubuntu estára disponível no Windows Store; e Fedora e openSUSE no "Windows Subsystem for Linux" – camada de compatibilidade para executar executáveis ​​binários do Linux (no formato ELF) nativamente no Windows. Somado ao anúncio, do ano passado no mesmo evento, de que o Ubuntu rodaria "nativamente" no Windows 10. Diante de tudo isso, destaco 7 coisas que você precisa saber sobre o fato de o Windows 10 rodar ferramentas Linux.
No ano passado, a Microsoft adicionou um recurso incomum ao Windows 10: o suporte ao Linux. O "Windows Subsystem for Linux" (WSL) – às vezes chamado Bash no Windows – uma camada de compatibilidade para executar executáveis ​​binários do Linux (no formato ELF) nativamente no Windows. Ou seja, executar binários do Linux sem sair do Windows.
Esse recurso tem como foco atingir o público de desenvolvedores, que criam soluções feitas no Linux, a continuarem ou iniciarem suas atividades no Windows 10. Em outras palavras, é possível iniciar um projeto web no Apache, desenvolver um projeto em Go, C, entre muitas outras linguagens; sem sair do Windows.
Microsoft faz convite a desenvolvedores que trabalham com Linux a testarem o Windows 10
"O Bash Linux no Windows oferece um conjunto de ferramentas para desenvolvedores, administradores de TI e outros profissionais de tecnologia que desejam ou precisam executar ferramentas de linha de comando do Linux ao lado de suas ferramentas e aplicativos Windows" – Via NetworkWorld
Desenvolvido, inicialmente, com a ajuda da Canonical (e, agora, com uma grande comunidade de usuários Linux, já que o Fedora e openSUSE também rodarão no Windows), o Bash do Linux não veio para transformar o Linux em Windows ou Windows em Linux. Para Mary Branscombe (NetworkWorld), "[…] algumas ferramentas do Linux são tão onipresentes para o desenvolvimento que são úteis poder usá-las sem precisar criar uma máquina virtual (VM), por exemplo". Ela lembra que "essa é uma das razões pelas quais o Mac é tão popular entre os desenvolvedores: o MacOS é baseado no BSD, que é UNIX, então ele pode executar ferramentas Linux, como o Bash. E agora, o Windows 10 também pode". Assim o investimento ao WSL está cada vez maior.
Diante disso é importante destacar 7 coisas sobre o fato de o Windows 10 executar ferramentas Linux:
Windows 10 executa ferramentas Linux
1- O WSL é uma distro Linux, não o kernel Linux
O Subsistema do Windows para Linux (WSL) foi criado pela própria equipe da Microsoft; usando bibliotecas do Kernel Windows (ou seja, sem nenhum código Linux). O WSL instala uma distro Linux no seu PC Windows (atualmente, o Ubuntu 16.04 é a distro que você recebe automaticamente e que o que é suportado, embora já tenha sido divulgado o suporte oficial do Fedora e openSUSE).
WSL – entenda o subsistema que permite o Linux ser executado no Windows
Os binários do Linux fazem suas chamadas de sistema como de costume, mas, elas consultam o kernel do Windows, em vez do Linux. Em resumo, o WSL é uma camada de compatibilidade criada para gerar binários executáveis do Linux "nativamente" no Windows 10. Fornecendo uma interface de núcleo compatível com o kernel Linux.
2 – Não é uma Máquina Virtual (VM)
Quando você executa o Linux no Windows em uma máquina virtual, você recebe um sistema operacional a parte que "separa" o kernel Linux do Windows. Por outro lado, o WSL cria uma camada de compatibilidade e usa muito menos CPU e memória do que uma VM.
Docker – Introdução a Administração de Containers
Então, o uso do WSL proporciona uma "experiência" de que as ferramentas Linux fossem "nativamente" executadas no Windows. Podendo ser utilizadas numa única instalação de sistema operacional, sem recorrer ao recurso de virtualização de sistema.
3 – Não é um emulador do Linux dentro do Windows
Softwares como o Cygwin e Cash emulam o Linux dentro do Windows. Onde é possível executar: o bash, sed, grep, gcc, vi e até mesmo o X. E funcionam muito bem, por sinal.
Saiba como executar comandos Linux no Windows usando o Cygwi e Cash
Contudo, são, apenas, programas que configuram diversas DDL's. O WSL permite que os binários do Linux abram dentro do ambiente padrão do Windows; e você não precisa modificá-los (compilá-los) para serem executados no Windows.
4 – Não é somente o Bash Linux
O Shell Bash é a base do WSL. Tudo é executado a partir dele. Por exemplo, você pode usar o apt no bash para instalar pacotes do Linux. Além disso, pode usar outros shells; bem como: zsh e fish. Além de pode usar ferramentas comuns do Linux como o sed, grep, awk, top, tmux e ssh; e ferramentas de desenvolvedor como vim, Emacs, git e o GNU Debugger (GDB).
Desvendando as principais siglas e acrônimos do universo Linux
Inclusive, é possível executar serviços como: o sshd, Apache, nginx, MySQL e PostgreSQL, ferramentas de linguagem como npm para Node.js, gems para Ruby, Apache Maven para Java, Pip para Python. Por fim, qualquer outra coisa que você normalmente usaria no Ubuntu, por exemplo.
5 – Somente ferramentas de linha de comando, mas…
O WSL foi projetado para executar ferramentas de linha de comando, e é por isso que ele começa com o shell bash. Mas isso não significa que as ferramentas gráficas, do Linux, não funcionem de forma alguma.
Saiba como executar aplicações gráficas remotamente através de uma conexão SSH
A Microsoft não está fazendo nada especificamente para suportar a execução de ferramentas gráficas do Linux, mas, igualmente, não está fazendo nada para impedi-las de executá-las no WSL 🙂
6 – Pensado nos desenvolvedores
Tudo foi pensado para funcionar melhor para os desenvolvedores que precisam se conectar facilmente ao "backend Linux". É uma espécie de conjunto de ferramentas para qualquer desenvolvedor que trabalhe em soluções multiplataforma, especialmente aqueles que trabalham na construção de sites e serviços, sistemas distribuídos ou serviços de armazenamento.
Então, como foi no dito no convite oficial aos desenvolvedores, "[…] o subsistema Windows para Linux fornece aos desenvolvedores todas as ferramentas necessárias para codificar exatamente como é feito no Linux; tudo sem perder as vantagens do Windows 10″
7 – Não substitui o PowerShell
O WSL não foi projetado para gerenciar cargas de trabalho com o Windows Server, o Active Directory, o IIS, o Exchange, o SharePoint, o System Center, o SQL Server, o Hyper-V e o Azure da mesma forma que o PowerShell faz. O PowerShell é uma estrutura de automação e configuração de tarefas, e não apenas um shell. Portanto, o WSL não altera isso.