Entendendo WSL 2 | E uma curta história sobre Windows NT

126.32k views12520 WordsCopy TextShare
Fabio Akita
Eu vinha prometendo esse tema já faz algum tempo e finalmente resolvi explicar esse tal de WSL ou Wi...
Video Transcript:
olá pessoal fábio akita o próximo grande upgrade do windows 10 está próximo mas não sei ainda se vai ser agora já em setembro ou outubro mas quando vier ele vai trazer a funcionalidade que todo o desenvolvedor tava precisando conseguir rodar aplicações de linux quase nativamente em windows 10 acho que essa altura quase todo mundo já ouviu falar do tal wsl o window system for linux porém muita gente ainda não entendeu direito o que é isso na real é super simples se você é iniciante e já assistiu meus vídeos da série começando aos 40 muito do
que eu expliquei na parte de virtualização e container vai ser usado hoje então se ainda não assistiu que com medo assistir anos especialmente os que explicam sobre virtualização e contêiners rodar um ambiente unix ou linux e em cima do windows com suporte oficial da microsoft é um elo perdido que muitos de nós víamos perseguindo nas últimas décadas eu mesmo venho acompanhando isso faz algum tempo e para sua surpresa essa nem a primeira vez que a microsoft oferece algo assim se você está interessado só na parte prática do wsl pode pular direto pra esse tempo aqui
em baixo mas como sempre eu fazer uma tangente pela história então vamos lá [Música] essa história se inicia nos primórdios dos anos 80 se você não sabe disso a microsoft cresceu graças a ibm que licenciou seu ms-dos pré-instalados ibm pc fruto da amizade da mãe de bill mary gatis couce ou da ibm na época de um hotel todo mundo relaciona microsoft oms dose depois o windows todo mundo relaciona interface gráfica como é que o tocha original ou no máximo com a polícia e os ironx parque em termos de interfaces gráficas existirão diversas tentativas como odin
dos a tarefa city o famoso amiga workbench no amigo ou és o desk mês do tse 80 e outros mas em processadores de 8 bits que com muito esforço dá uma pea 64 kilobytes de ram desperdiçara espaço com interfaces gráficas era demais o amigo oeste por exemplo precisava do processador motorola 68 mil de 16 ou 32 bits de qualquer forma pouca gente relaciona com a microsoft teve outros sistemas operacionais e outras interfaces gráficas muito antes do windows por exemplo vocês sabiam que a microsoft já teve um unix de verdade sim muito antes da apple comprou
a next transformar o nextstep noeci 10 aliás vale relembrar linux não é unix ele é mais ou menos compatível mas na prática é um sistema operacional totalmente diferente unix original vem da bell labs e sua herança hoje vive nos derivados de bsd como free psd ou net bsd e no darwin no mac ou és a maioria dos de unix de verdade vieram desaparecendo ou diminuindo consideravelmente com o tempo como o solaris da sã ou a ix da silicon graphics que de curiosidade se você assistiu jurassic park já viu a eles funcionando [Música] [Música] em 1980
microsoft se uniu à s ou santa cruz operei chão e eles desenvolveram o sine que era outro e unix de verdade estamos falando mais de uma década antes do surgimento do linux segundo a microsoft era o unix muito próximo do unix original versão 7 que rodava os minicomputadores pdp 11 e aliás de curiosidade também antigamente a gente chamava os men frames de computadores coisas como pp são os minicomputadores e os komodor trs-80 sinclair msx meu e bpc eram os microcomputadores por isso falamos em micros enfim uma das idéias era evoluir o ms dos dois para
se aproximar do zini que em 5 e usa que iria virar o ex dós mas foi mais um vaporware que nunca saiu do papel aliás foi daí que o termo vaporware nasceu em 82 por causa do sines a esse seu seguiu sozinha com seu sc unix depois que a microsoft desistiu da idéia e se uniu a ibm do projeto o s2 e 87 esse período foi especialmente conturbado porque estamos falando da transição dos processadores de 8 bits como os antigos e 80 ou intel 8086 88 8 indo para 16 bits com 82 86 que inclusive
foi onde eu ganhei meu primeiro computador um cone de mpx tem 89 porém o 286 era um processador complicado para dizer o mínimo estavam migrando do modo real de execução por modo protegido que hoje é o padrão nessa transição apareceu necessidade de mula 88 mesmo modo protegido mas o modo protegido emulado 8086 nos 286 era falho além disso existe o problema do endereçamento segmentado de memória diferente do modelo flex que você está acostumado hoje onde pode endereçar toda a memória de 32 ou 64 bits pensa que em 16 bits você só consegue ingressar 64 kilobytes
de ram para ter acesso a mais rã você precisa apontar para um espaço secundário ou segmentados de ram como um link se apontando com a página em outro livro em termos simples você tinha um índice de 24 bits com endereços de 16 bits em múltiplos segmentos e no frigir dos ovos com os problemas de hardware não seria possível rodar múltiplos ambientes paralelos de ms dós como deveriam e a microsoft obviamente não gostou muito disso na parceria da ibm com a microsoft eles desenvolveram o s2 a primeira versão era só modo o texto ea primeira interface
gráfica tinha a cara do windows 2 que saiu mais ou menos na mesma época porém a ibm insistiu no suporte ou 286 e esse foi um dos motivos da quebra da parceria porque o ms dos e windows tinham problemas com 286 a microsoft queria direto por 386 de 32 bits que era muito melhor aliás no caso do 286 imagine um processador que tinha máximo de 16 mega de ram e claro estamos falando de 88 os 386 em comparação sendo 32 bits que o máximo teórico de infinitos 4 gb de ram mas mais importante rodava dós
em modo protegido perfeitamente por outro lado a ibm queria privilegiar a sua linha de hardware claro eles tinham se comprometido com os 286 e sua linha de pcs ps2 entender um ps2 o s2 e por isso insistir o s2 especializado nesse processador então em 92 a ibm microsoft separaram a ibm se manteve com o s2 ea microsoft estava muito bem obrigado com seu windows 3 a interface gráfica de maior sucesso da época em paralelo a isso a microsoft começou a criar um sistema operacional portável para múltiplas arquiteturas de computador com o processador e cisc da
amy phipps powerpc e tânio intel e contratou dave canto é que trabalhava na via mas que fazia o wacs viés mas não estava interessado e muitas de suas idéias daí ele foi para a microsoft caiu no projeto mt onde ele pode aplicar muitas dessas idéias aliás o nome windows nt tem alguma controvérsia no seu significado muitos talvez ainda pense nt como sendo new technology já o davi cantor vai dizer que wnt seria uma brincadeira em cima do nome da via de onde ele veio assim como muita gente gosta de brincar aqui bm é uma brincadeira
em cima do nome raul a inteligência artificial do filme 2001 de stanley kubrick se você pegar raúl e de shift de uma letra pra frente o agave iraí o avira b eo l virar m mesma coisa com vih e messi você der um shift uma letra pra frente o ver vir a wm virar n o é se virar e wnt o windows nt e outras teorias mas eu pessoalmente gosto mais dessa hoje em dia na real não significa nada só o nome mesmo com o objetivo de ser portável windows nt implementa uma camada de abstração
do hardware chamado convenientemente de raúl também ou hardware abstraction player vocês vêem que nós de programação não somos exatamente muito criativos com nomenclatura das coisas além disso o nt começou tentando implementar um micro quer no inspirado nas idéias da carne al makki de carne mel hoje em dia nós usamos carlos monolíticos ou carnê ou híbridos a idéia de um micro kerns um terno o mais minimalista leve estável possível rodando no modo de supervisão o ringue 0 que é o anel de maior privilégio eu expliquei isso em outro vídeo daí todos os serviços que compõem o
sistema roda em 10 molde ou link 3 o problema disso é que você acaba com o ver rede muito grande.de psi ou inter próximas communication pois os programas rodando no anel de menor privilégio precisam ficar constantemente comunicando qualquer um que roda no anel de maior privilégio essa controversa de micro quer nos versos quer nos monolíticos ou marroquinos foi tema de grande discussão na comunidade linux no começo inclusive é um episódio histórico a expulsão de linus torvalds defendendo o design monolítico da quer no do linux contra a visão acadêmica de micro canos do professor entre otan
em bal autor de um dos livros sobre sistemas operacionais mais famosos e que você provavelmente teve que estudar se cursos ciências da computação na prática apesar do design de micro quer no seu mais elegante macro quer nos funcionou melhor com o sucesso do linux já comprovou no caso do nt por exemplo sub sistemas de drivers deaai ou como vi o mesmo impressão rodavam tudo em um link 0 em usar molde como deveriam mas no windows nt 4 eles foram movidos por img0 dentro do espaço do canon eu costumo dizer que o windows nt mais estável
e robusto eram windows nt 3.5 justamente porque ele tinha o menor quero mais para o hardware da época acho que não tinha muita alternativa no windows 2000 xp se não me engano eles moveram uma parte do irs versão 6 provém de zero na forma do driver http pontos isso substituiu em só que rodava em osmond eu acho que isso foi um erro imagine parte do seu servidor web embutido na queda incluindo coisas como cash fila de quests de qualquer forma isso garante o melhor performance para o ie s se comparado ao apache que rodava exclusivamente
em 10 molde mas ao custo de bugs na stack de http potencialmente causarem problemas no nível do quero que poderia levar desde o crash do sistema até o buraco sérios de segurança à equipe do windows nt era formada por muita gente da deck ou digital e coerentemente corporation liderada pelo cantor e uma das tais idéias que lhe trouxe da via mas foi a adoção de um sistema operacional orientada a objetos e por isso na arquitetura do nt você tem um objectivo em média na camada privilegiada do windows e dizer que tive abstraindo todos os recursos
do sistema na forma de objetos lógicos além deles alguns membros da equipe vieram do time do oeste 2 que também queria entregar integrar noções de orientação a objetos uma das coisas que eu achava fascinante na interface do s2 que é o places shell é que tudo eram objetos infelizmente isso não foi implementado no windows mas por exemplo em vez de abrir um programa e clicar no menu em novo arquivo você abrir uma pasta de templates e arrastava o template para o desktop para criar um novo arquivo como se fosse uma instância de uma classe a
idéia de orientação a objetos foi embutido em todos os sistemas operacionais dos anos 90 e por isso coisas como a pedir o nextstep era orientada a objeto e você tem a abstrações e encapsulamento de comportamento criando coisas como hardware abstraction er do nt para todos os efeitos e propósitos do fim dos anos 80 previstos os 90 eu diria que os sistemas operacionais desktop mais avançados eram o s2 o amigo o s o nextstep os solares eles inspiraram diversos outros como bioeste ou a ix mas os mais populares eram sem dúvida o ms dos e windows
3.1 e os system servem windows nt apareceu pela primeira vez em 93 com o nome de windows nt 3.1 para ser paralelo do nome do windows 3.1 que era completamente diferente na rodada em cima do doors de como eles tinham basicamente a mesma interface gráfica daí 95 tudo mudou com o advento do windows 95 trazendo a era de 32 bits desktops populares comparado com o hoje em dia eu lembro como a gente achava o windows 95 pesado precisando de quatro mega de ram e windows 3.1 rodava tranquilamente com dois mega de ram no ano seguinte
saiu o windows nt 4 com a interface mais parecida quando o windows 95 o cnt pela natureza da sua arquitetura mais robusta também precisava de mais recursos para rodar eu acho que com menos de 8 16 mega de ram não dá pra rodar recentemente por isso eles eram mais usados em servidores nos anos 90 fomos evoluindo do windows 95 98 até o famigerado o windows m ou millenium edition e no lado do nt que era mais voltado a servidores fomos do nt 42 mil passamos os anos 90 surfando na lei de muro e processadores mais
rápidos não saindo o tempo todo dos 486 pontos pentium próprios pente 12 pente 1 três um servidor que tínhamos e tango ram foi ficando mais barato a grande virada em 2001 com a unificação dos windows no famigerado xp e finalmente nos livramos do legado do ms-dos por baixo do windows desde então sempre tivemos uma versão gnt para desktop outro para servidor então na era do xp tivemos um windows server 2003 2003 r2 com o windows vista sucedendo xp windows server 2008 depois o windows 7 e server 2008 r2 depois o windows 8 e server 2012
2012 r 2 e na geração do windows 10 a partir de 2015 que teoricamente vai ter só upgrades em mudar o nome tivemos server 2016 e server 2010 9 windows 10 hoje está na 8ª edição estava o bild 19 03 de maio de 2019 essas edições costumam sair entre abril e maio e depois outubro por isso eu acho que a próxima edição importante vai sair em outubro de 2019 eu falei que o nt desde o começo ver com a mentalidade de ser portável ele não rodava só em theo mas aos poucos o suporte de hardware
foi diminuindo à medida que as arquiteturas foram caindo em desuso por exemplo no windows 2000 caiu suporte anipes alfa e powerpc mas além do lado o hardware o nt implementou a idéia de personalidades ou sub sistemas você tinha um em 32 que é o suporte ap moderna do windows hoje em dia programa 32 bits ródão emulado sobre o aos 64 que é o windows 32 ou em 264 mas desde o começo ele foi lançado com suporte a sub sistemas como o s2 que permite um grau de compatibilidade com a perda o s2 já que a
microsoft interesse no nicho que eles ajudaram a criar com a ibm e claro que eles precisavam manter compatibilidade com o ms dos e para isso ele já embute uma virtual machine pra nós sim um tipo de máquina virtual e para conseguir atender contratos de governo que requeriam e unix eles também tinham um subsistema compatível com posix que como eu já expliquei em outro episódio é a superfície de compatibilidade com os juniores da época ou seja seria possível pegar o código-fonte de aplicativos feitos para unix e teoricamente compilar no windows nt rodar nativamente ele era compatível
com o padrão posix um por isso não tinha um shell o ambiente de uso e comandos de usuários coisas como um mísero ls que só passaria a existir como padrão no poço ogx 2 por isso para usuários normais de mix como nós esse ambiente é basicamente inútil só serve se você tinha código fonte em ser compatível com poses 1 e precisava de um compilador ser compatível com a evolução rápida das distros linux nos anos 90 e igualmente rápido de zuzu dos de unix esse subsistema no windows era meio inútil nesse vácuo projetos open source como
sig apareceram sigam em se chama assim porque foi criado pela empresa signo solutions que depois foi adquirida pela derrete é o ambiente em usar molde compatível com pose e com linux em particular é diferente do subsistema posix original da microsoft exportaram boa parte do tutti do gnu no pacote trazendo shells como bach e além das ferramentas para o compilador também trouxe diversas outras coisas úteis como ao quiz é ditar ssh servidores como apache possíveis linguagem como pro python ruby prologue e muito mais era como uma distro baseado em linux rodando sobre uma camada que tentava
abstrair o nt por baixo na forma de dll muita gente ainda usa cigarro e até hoje sempre foi a melhor ou mesmo a única forma de rodar muitas ferramentas de linux de forma nativa no windows mas sigo e não se encaixa na categoria de distrito de linux porque ele tem uma semi compatibilidade em nível de código fonte mas os binários de linux não rodam no sig nativamente precisa recompilar sempre com o passar dos anos o subsistema apontou zico original foi removido no windows xp eo windows server 2003 sendo substituído por outros subsistema que foi originalmente
desenvolvido por uma empresa chamada interiores adquirida pela microsoft e sua solução foi renomeada como windows services ford unix ou sf uê você podia instalar opcionalmente o suporte o stfu meio gradativamente diminuindo tendo muitos de seus componentes removidos do instalador até o windows 8 eo windows server 2012 mas para todos os efeitos e propósitos ele é muito similar ao single i só que o sigo é compatível com gui no linux e o stf é compatível com unix novamente se você tinha código fonte de yunis podia compilar o stfu e rodar no windows em 2004 surgiu a
primeira forma de rodar linux sobre o windows de verdades em virtualização foi o cooperative linux ou colino c's infelizmente a última versão estável dele é de 2011 então não espere que ele funcione hoje em dia mas em vez de ser um subsistema ou uma máquina virtual ele era uma queda modificada que era carregado no link zero do lado do caderno do nt ele compartilhava os recursos da máquina qualquer o nt por isso cooperativo isso era civil através de um driver e drivers rodam em zero junto com ferramentas como o windows service para dar acesso daí
em uberlândia você podia rodar os binários originais de um disco como ubuntu o art dava pra acessar o terminal via ssh ou mesmo a interface gráfica do ex-vigia um vnc para todos os efeitos era quase como rodar um virtual box mas sem o ver rede de virtualização eu imagino que manter suporte de algo assim deve ser bem complicado porque você meio que tá lobotomy zando quer no do nt por um hacker havia um driver como podem ver rodar linux ou e unix sobre o windows é uma coisa que muita gente já tentou fazer de diversas
formas com hardware moderno a opção mais estável é abrir o virtualbox ouvir e amor e rodar virtualizado graças à evolução do suporte de virtualização dos processadores na minha experiência não só é viável mas serve muito bem com máquina principal de desenvolvimento e quando eu digo hardware moderno eu tô falando no mínimo de um core i5 de quatro corpos com no mínimo 8 gb de ram preferencialmente 16 o programa de virtualização normal é que normalmente você precisa pré reservar quantos corpos enquanto de ram vai ser dedicado para a máquina virtual veja o problema com soluções como
o subsistema posix o sigle ou assef fiho tudo roda nativo não é virtualização mas para funcionar você precisa ter o código fonte de tudo talvez modificar alguma coisa com pilar e gerar um binário nativo do windows nt se conseguir fazer isso o binário vai rodar como qualquer outro binário de windows por outro lado é muito difícil conseguir compatibilidade com tudo e muita coisa simplesmente não vai nem compilar sem modificações significativas pelo simples fato que as primitivas do caderno do nt são diferentes do kernel do linux eu já expliquei em detalhes em outro vídeo como o
windows mac linux gerenciam coisas como estrutura de processos esquerdo de travis memória ou de formas diferentes por exemplo não é fio não adianta é o pilar alguma coisa como o programa ip o antigo ief config eles vão tentar mexer em coisas como um bairro e perceba network barra inter fez que o im o cnt não usa para expor suas interfaces de rede isso sem contar que coisas como forte funcionam diferente no windows como já expliquei no vídeo de gerenciamento de memória não adianta é compilar um programa que gerencia processos via o diretório barra própria porque
o windows não exponha os metadados dos processos lá o sistema de autenticação e permissão são completamente diferentes então nenhum programa que gerencia usuários e permissões como o josé é de 11h oni vai conseguir modificar nada no windows essas diferenças tornam complicado rodar programas de unix ou linux lado a lado de programas windows porque existe uma dissociação semântica enorme por outro lado roda dentro de uma máquina virtual traz a vantagem de isolar completamente os comportamentos de linux e windows de dentro da máquina virtual tudo funciona perfeitamente como se fosse uma máquina de verdade isolada daí você
controla coisas do host windows via ferramentas do windows e coisas de linux separadamente com coisas de linux e cada um vive feliz separado vamos ver o caso do mec ou és rapidamente como ele foi construído sobre uma fundação e unix todos estão operacional obedece às leis do unix todo o programa de mac é de fato um processo e unix e pode ser controlado com coisas que todo mundo de linux conhece se eu usar o comando ps no terminal vai estar processos como chrome ou final kant se eu usar o comando que o no terminal vai
matar de fato os programas todos se eu usar comandos como ipê eu de fato gerencia as interfaces de rede da máquina e assim por diante a pedido do mec é construído sobre as apis do unix por baixo então a integração é praticamente 100% um serviço de unix é um serviço de mac assim coisas com servidor dss h ou possíveis ródão lado a lado de serviços do mec usuários de mac são usuários do unix permissões de arquivos feitos via o firewall feito via terminal com comandos como cega onde o ch mode são a mesma coisa por
isso existe coerência semântica entre os aplicativos gráficos e os de linha de comando ea apple trouxe muito do tutti inguino pra dentro então como é que o sr como se fosse um free psd bonito na prática por outro lado assim como no subsistema pouse xxi guiou a cef ou induz o mec oeste tem compatibilidade de código-fonte mas não de binário binários formato elf de linux não são compatíveis com binários de psd ou mac oeste ou se guiou a cef u por isso no mac você precisa comprar programas de linux especificamente para rodar no mec e
por isso a gente não pode usar pacotes pré compilados que já existem outras distros como o ubuntu ou arte por outro lado ao contrário de sig efe o comportamento do mec oeste é parecido com o comportamento do psd e tem a mesma semântica do linux garante que quase todo o código-fonte seja compatível por que coisas como interfaces de ae o gerenciamento de memória de trás é significativamente parecido então existe algum trabalho que precisa ser feito no código fonte de alguns programas mas no geral basta recompilar no mec e tudo magicamente funciona o mesmo não pode
ser dito em ambientes como o antigo subsistema positivo ou sf ou se ganhe e mesmo quando com o pino eles não têm acesso ao resto do sistema windows mas a grande reclamação do povo de linux quanto a gerenciar os recursos do windows é que tudo precisa ser feito via ambiente gráfico por isso gerenciar um servidor remoto sempre exigiu coisas como remote desktop ou vnc para podermos ter a tela gráfica remotamente é um pé no saco quando em servidores linux podemos conectar via terminal com o cliente de ssh e gerenciar todos os recursos da máquina via
linha de comando para resolver parte disso a microsoft criou powershell em resumo a história remete ao fim dos anos 90 de novo quando a microsoft iniciou o projeto dot net com o tempo boa parte se não toda a pele do windows foi mapeada em classes dos frameworks disponíveis no dot net além de componentes com e wm porém o antigo programa de linha de comando do windows o command que é das características do antigo oms doses é um lixo as linguagens de script que ele traz como betty ou rex que é oriundo da antiga herança do
s2 são muito fracos e quase nada do sistema operacional é exposto pra de comando você é obrigado a programa coisas como scripts de visual basic para acessar o wmm ou componentes com que tem algum acesso a algumas das coisas do sistema como gerenciar o usuário se esquece de fazer clipes complicados como o que fazemos em bash para linux porém uma ideia interessante é um console de linha de comando com acesso ao framework do dot net e é basicamente isso que é o power chão ele traz uma linguagem de script mais poderosa e com muitas coisas
que encontramos num mexe ele tem inclusive um pai pe eu argumentaria que um pai pib superior ao do linux no linux todo o script o comando aceitar argumentos em stream de bytes que chamamos de standard input e tem uma saída de bytes na forma do stand out putin que eu também já expliquei nos vídeos sobre concorrência paralelismo e por isso você precisa de comandos como álcool cede o grep pra tratar o texto que os scripts devolve no caso do powershell os comandos devolve estruturas de dot net ou seja dados estruturados o episódio nem é de
powershell mas obviamente agora já empolgou um pouco então eu também acho interessante que muita gente que usa linux nunca viu power chão pense no script de bash para selecionar processos que estão usando mais que 100 mega de ram como o que você faria num best provavelmente algo parecido com esse script aqui ou seja precisamos linha linha da saída do comando ps e checar o tamanho em kilobytes até achar o que queremos em powershell podemos fazer assim e como powershell suporta ele existe e ele já vem com muitos eles pré-programados a mesma linha poderia ser escrita
assim do ponto de vista de usabilidade para novatos à sintáxi do powershell é muito mais fácil de ler e para veteranos de shell existem formas de simplificar para comandos mais familiares e veja como estamos usando o pai pi para passar os objetos do ps para o é óbvio que fazer um filtro na propriedade do objeto isso é universal para todos os comandos tecnicamente eu diria que o powershell pode ser considerado superior em muitos aspectos a 1 em show outros céus de linux eu acho que não é 100% do windows que pode ser controlado via powershell
mas uma parte considerável pode ele pode ser estendido via dot net então seja via fechar com o fc shakhtar você pode expor o que quiser para esse chão e mesmo se você for the linux pode usar powershell porque a microsoft abriu não só o dot net na forma do dot net khor como open source como também o powershell na forma do powershell core aqui o problema é o inverso ainda não sei quanto do power chão se integra aos recursos do linux mas ele pode ser uma opção interessante para fazer scripps de automação numa linguagem menos
cheia de truques se comparado ao bash especialmente se estiver rodando coisas como sql server para linux e outros programas dot net é particularmente bom para lidar com dados estruturados como jason essa tangente por powershell foi primeiro para introduzir vocês ao tema mas segundo para dizer que apesar dele ser muito bem feito e eu pessoalmente acho elegante e um passo grande para a microsoft ele ainda não resolve o problema de quem quer usar o best de verdade está acostumado com ferramenta albino mesmo para o chão sendo bacana a gente ainda quer usar ferramentas anti quadros mais
funcionais como ao que cede grep e tudo mais a única saída nesses casos é instalar o sigma e rodar no virtualbox já que o subsistema positivos já morreu sf já morreu e o colina que não tem suporte desde 2011 até aqui eu expliquei como era possível rodar alguma coisa de unix ou linux no windows mas é o oposto ou seja como rodar programas do windows no linux se você já brincou de linux por algum tempo já deve ter ouvido falar o mesmo usado o projeto online ou online e se nota é muller que é um
acrônimo recursivo coisa de programador como eu já disse a gente é ruim de nomenclatura wine é um projeto capaz de carregar um binário feito para windows sem precisar recompilar e executar no linux para isso ele mapeia as chamadas de up para a queda do nt em chamadas para quer no do linux e faz engenharia reversa de dezenas de dll que compõem o windows e com isso ele consegue executar muitos dos aplicativos do windows rodando com performance quase nativa em ambiente linux claro engenharia reversa significa que 100% de compatibilidade é extremamente difícil muitos aplicativos abrem rodam
bem mas algumas partes deles podem precisar de apenas que não foram implementados ainda e crachá ou simplesmente não funcionar lembram como no vídeo sobre o ubuntu eu falo como não dava pra rodar todos os games do windows no linux muitos me lembraram depois que a extinta o projeto próton que permite rodar muitos jogos mas não todos você precisa consultar o site da comunidade o próprio bebê para ver se seu jogo roda na realidade o próton usa online por baixo ele é mais um de uma família de aplicativos que usam online e tentam facilitar a instalação
de dependências para programas específicos como o antigo crossover por isso o próton consegue rodar jogos que originalmente foram feitos para windows mas em linux wine é como se fosse uma camada de windows dentro do linux o maior problema é que como os binários do windows não são o código aberto é preciso fazer engenharia reversa dos binários e implementar do zero no linux é um processo black box de desenvolvimento ou mais corretamente um grande coro job de tentar executar o binário do windows ver ele krachan duveen qual chamado de sistema ele tentou fazer que ainda não
existe e implementar essa função no linux função a função online exige já faz muitos anos e com o tempo ele evoluiu bastante mas o windows não parou no tempo também então cada vez que sai uma versão nova online ganha mais trabalho para suportar as coisas novas é um trabalho insano que me deixa fascinado pelo fato de até hoje ainda existir muito bem vamos resume agora vocês lembram que eu já expliquei em outros vídeos um sistema operacional é composto de pelo menos duas partes principais o caderno e drivers e outros sub sistemas que rodam domingo e
zero de maior privilégio do sistema ea outra parte são os outros sub sistemas e aplicativos que rodam em user land ou em zero de menor privilégio para rodar os programas de outro sistema operacional você precisa ter as dependências talvez fazer algumas modificações no código fonte e compilar o programa e é o processo que chamamos de portar é pra isso que serviam ambientes como o subsistema posix o sf os seguiu i é como funciona no mac ou és hoje ou mesmo nos besse de compatibilidade de nível de código fonte é rodar programas de linux fora do
linux precisa recompila em todos esses ambientes windows mac oeste ou outros de unix para rodar um binário de outro sistema operacional sem recompila você precisa ter o caderno e dependências rodando lado a lado do seu sistema principal em um mecanismo para carregar os binários não modificados o colinos conseguiu executar aquela do linux cooperativamente compartilhando os recursos da máquina do lado da queda do nt ele conseguia montar um faial system de linux e executar os programas de linux em joselândia sem precisar recuperar nada você podia rodar os binários de um bundle arte por cima desse ambiente
fora isso você tem a opção de virtualização seja com virtualbox vi emma ou ripper vir daí você roda tudo em usar além de mais com as instruções da vtx da intel que permite o quero virtualizado consegui acessar o hardware por baixo com menor over head possível você ainda perde uns 20% ou mais de performance virtualizando dependendo da configuração do seu hardware mas no geral tudo funciona perfeitamente virtualização é uma opção quase põe play hoje em dia eis que do nada a microsoft anunciou o projeto in dolçan system for linux o ws l1 como podemos chamar
hoje ele começou a aparecer no fest ringue do windows 'insider lá pelo universo edition acho que pelo começo de 2016 e foi lançado de verdade no creator sap date uns três meses depois hoje em dia temos wsl 2 é completamente diferente já vou explicar por que mas o ws l1 do ponto de vista técnico é muito mais interessante mas eu entendo porque eles desistiram dessa forma antes de mais nada a microsoft faz muita pesquisa e eventualmente muitos os resultados dessas pesquisas realmente acabou no windows de verdade um desses projetos foi o do bridge que estava
pesquisando formas de rodar processo isolados como em container sem precisar de virtualização um dos resultados foi permitiu canon de criar processos com o mínimo ou zero de interferências lembro nos episódios de gerenciamento de memória que eu expliquei que dentro do espaço de endereços virtuais o processo o windows mapeia as suas de lcd sistema e outras coisas para compartilhar seus recursos com os processos e por isso um processo de 32 bits do windows de 32 bits nunca tinha os quatro gigas totais disponíveis para ele o resultado desse projeto do bridge foi permitiu quer no mt de
criar o que chamaram de mínimo prós e paica próximos que são processos sem interferência do s com espaço de memória limpo a diferença de um processo mínimo e pai que no caso do pai cuê existe um driver associado a ele permite a comunicação desse processo pra fazer se escols isso existe desde 2000 e 13 e o time do wsl resolveu usar esse recurso para carregar o binário não modificado de um programa linux que tem o formato elf 64 pra dentro de um pai com o processo agora para executar esse programa vai querer fazer coisas como
se escols pra kernel do linux e aí entra a parte do driver esse driver vai converter as chamadas para quer no do livro cem chamados para quer no do nt então na prática não existe um kernel linux rodando quando o programa de linux chamar um forte ele vai ser traduzido por equivalente nt create próximo se chamar efe o pe ele vai ser traduzido para a ntt open fire e assim por diante na realidade a tradução acontece no nível do mar sempre mas a idéia é a mesma como eu já expliquei o windows trata todos os
recursos do sistema como objetos incluindo arquivos e o files instituto roteado pelo object médio e ele sempre teve essa idéia do round abstraiu hardware e de fato por cima do ntfs temos o vih e fé sou virgem o fahel system se vocês já usarão o windows e linux sabem que existem diferenças em como foi o sexteto fs do windows e oeste 4 do linux se comportam por exemplo no windows não tem como deletar um arquivo que está em uso por algum programa no linux podemos renomear o deletar o arquivo mesmo ele esteja em uso são
comportamentos diferentes e não defeitos na operação prova disso é que o ws l1 replica o comportamento de um ex de quatro por cima do ntfs removendo algumas validações de checagens que não é ele ter fé são ligadas por padrão inclusive o ws série consegue replicar o comportamento do próprio fsfs país por parte do sistema operacional como arquivos como no diretório barra proque lista processo de sistema como expliquei no episódio de ubuntu então esse novo subsistema que seria o herdeiro do antigo subsistema posix e do sf uemura o comportamento da queda do linux sem de fato
ter o kernel do linux e sem traduzir tudo porque no mt com a vantagem de carregar binários não modificados como já expliquei antes tirando a canon o que muda de uma distro pra outra são os binários de joselândia e como wsl consegue carregar os problemas de linux diretamente nos processos paica sem precisar modificar ou recompilar esses binários você pode literalmente pegar todos os binários de um bundle arte o fedora e rodar em cima desse subsistema uma grande vantagem dessa forma é que ao abrir um dash e usar comandos como ps ou que o podemos não
só manipular programas linux como programas windows também muitos comandos que não sigam em seriam inúteis com o programa para configurar interfaces de rede muito mais passam a funcionar minimamente programas que manipulam arquivos podem manipular alguns arquivos do lado o windows também foi a primeira vez que programas linux não modificados puderam rodar lado a lado de programas windows e era bizarro porque eu podia abrir o task média do lado do windows e vê cada programa de linux individualmente estado a integração era muito bem feita embora ainda incompleta eu rodei esse ambiente por algum tempo e apesar
de não ser tudo o que funcionava era possível rodar tudo o que eu precisava para desenvolver projetos de ruby on rails ou o djs incluindo bancos de dados como post que usou redes e carregar servidores que corretamente faziam bailes nas portas nativas do windows e conseguir testar do co do windows seria esse é o ambiente perfeito infelizmente havia ainda vários problemas o maior ofensor eu diria que era a virtualização do faial system essa virtualização em cima do vf funciona mas o viés fé é interligado com o windows defender e outros antivírus e antimalware toda a
operação de disco no windows da tribuna para defender a avaliação não tem perigo nenhum arquivo obviamente isso causa um over head gigantesco some a isso operações altamente custosos de e mail como npm estou em um projeto de noite e você pode tomar café enquanto espera ele terminar isso poderia ser resolvido se a equipe do wsl mudar sua estratégia de tentar manter o farol system aberto em cima de etfs e simplesmente montasse um disco virtual dentro de um arquivo como no formato vhd que virtualbox ouvir e morou usam máquinas virtuais costumam montar faustino sistema guest na
forma de arquivos espaços ou seja digamos que você configure um hd de 1 terra dentro do linux virtualizado mas seu hd verdade só tem 500 gb claro que não cabe mas você não precisa pré locais espaço pode somente o sistema virtualizado e só local que ele realmente for usar e adicionando novos blocos neste disco virtual sob demanda mas o problema principal nem é esse o conceito original é mapear as escolas do linux para as escolas do kerlon nt ele esbarrou no mesmo problema que a equipe do iene tem até hoje toda vez que sai uma
atualização para o windows alguma coisa vai quebrar online porque as escolas e outras dependências mudaram então manter essa camada de compatibilidade entre as duas quer news sempre vai ser instável toda vez que sai uma versão nova da queda do linux alguém da equipe do wrc vai precisar ajustar essa camada de tradução então nunca vai ser possível ter um sistema totalmente estável porque essa é a natureza de brothers e adapter eles são alvos móveis ficar fazendo isso desde 2016 demonstrou que como prova de conceito de fato tudo funciona mas muitas escolas de linux não tem equivalente
mt e davam trabalho de manter e toda vez que a canon atualizada tanto do lado linux do lado do nt precisava ajustar camada de adaptação é uma bola de neve sem fim por isso eles decidiram mudar a estratégia toda e recomeçar do zero é uma pena porque como eu disse eu gostava muito dessa estratégia porque uma das vantagens era ter os recursos do windows como o processo de execução expostas numa camada linux onde era possível usar as ferramentas de linux para mexer em partes do windows se eles conseguissem abstrair coisas mais complicadas como registrei em
alguma forma que pudesse ser gerenciada pelo baixe já é começar a ficar mais útil ainda mas aí já era pedir demais mesmo para isso existem coisas como o power chelsea a intenção é gerenciar os recursos do windows pela linha de comando ainda é muito melhor mais estável e mais completo o sal powershell em vez de tentar fazer de tudo melhor fazer - mas fazer direito já que é muito difícil lá kernel do linux como um adaptador em cima da perna do nt e se simplesmente rodarmos o kernel do linux de verdade seria a estratégia do
colinos mas em vez de um rack podemos usar o hiper vi que nessa altura evoluiu bastante e é muito bom o problema com programas de virtualização como expliquei antes é que você normalmente precisa reservar quantos corpos enquanto a ram vai ficar travado para a máquina virtual mas durante a evolução do windows server para atender os segmentos de serviços como o azure eles conseguiram evoluir ripper vir para criar máquinas virtuais mais leves e mais flexíveis existe a opção do light e utility viemos onde ele consegue pedir mais recursos à medida que for precisando daí não precisamos
desperdiçar quatro gigas do sistema deixando reservado para a máquina virtual se logo no boot ele só precisa de 500 mega por exemplo além disso existe a opção de não exigir um code boot ou seja um boot do zero ele dá a opção de você conseguir carregar o equivalente a um dom pepe de ram como no processo de ray bernat dessa forma você consegue boots quase instantâneos que levam segundos em vez de minutos e como também explica no vídeo de virtualização existe a opção de para virtualização uma virtualização completa o kernel dentro da máquina virtual não
sabe que está numa máquina virtual é tipo um em sexo numa para virtualização você modifica o quer e eu de dentro pra ele saber que está no ambiente virtualizado e conseguiu um comportamento melhor cooperando com o sistema operacional do lado de fora um último componente um pouco inusitado foi a inclusão de uma parte do antigo projeto play nine no caso o protocolo na unip que era usado para fahel system em rede pense assim como a partir do windows eu poderia citar o file system do linux e vice versa se agora o linux vai rodar de
dentro de uma máquina virtual existem várias opções como o próprio protocolo smb e os serviços amba o mesmo ftp que a ftp em cima de ssh a própria microsoft não se manifestou do porquê dessa escolha oficialmente mas algumas teorias dizem que talvez seja porque o protocolo na equipe é mais simples e mais fácil de implementar do que os disponíveis hoje de curiosidade o plene é outro projeto da antiga bell labs que inventou a linguagem c e unix na realidade parte das mesmas equipes criaram plane que era um sistema operacional distribuído em rede com o tempo
pane caiu em desuso e abel web criou o projeto inferno que tinha como objetivo virar concorrente do então java da sã e nas pesquisas de sistemas distribuídos tanto hassan quanto a bell labs chegaram à conclusão que precisariam de uma máquina virtual para lidar com tantas configurações de rede disponíveis na época vocês podem ver que a história da virtualização vem de longa data e só nesse episódio vocês viram que nos anos 70 80 90 até os 2000 tinha alguma coisa de virtualização em cada solução da época virtualização e conteinerização não são tecnologias novas são décadas e
décadas de pesquisa e experimentação de qualquer forma somando os light vai utilizando ripper vir com a capacidade de boot rápido mais um quelho de linux de verdade customizada pela microsoft mas a implementação desse protocolo na unip para a exposição do faial sexta em rede e agora temos um windows sabe system for linux versão 2 ou ws l2 ela nunca vai ter as mesmas possibilidades de integração com o resto do windows como wsl 11 tinha mas por outro lado é oferecem por cento de compatibilidade binária com linux coisa que o ws é lyon nunca ia ter
e como agora foi o system se tornou virtualizado ele parou de ter os problemas de performance por causa do windows defender também por outro lado o wl dois não oferecem opções para configurar o file system virtual se não me engano ele tem um limite máximo de 256gb que é suficiente para a maioria dos cenários mas seria bom ter futuramente a opção de expandir-se drive do ponto de vista de performance sem roubar nenhum benchmark nem nada eu diria que é a mesma performance que eu já sentia rodando num vi e mar porém reservando menos recursos da
máquina no geral usando todos os dias tudo vem funcionando exatamente igual funcionaria num linux em virtualbox ouvir e mar é um linux virtualizado e como bônus se dentro wsl 2 você subir um servidor digamos um servidor de e-mails que se liga na porta 3 mil você pode abrir o chrome no windows essa local host 3 mil e vai abrir normalmente porque ele faz automaticamente o nat interno de mapeamento de portas isso é ao mesmo tempo bom e ruim porque se você tiver serviços no linux com portas que conflitam com portas do lado do windows vai
ter problemas que podem ser difíceis de diagnosticar do ponto de vista de ecossistema é um passo gigantesco porque se você acompanhou pessoalmente a história que eu contei até agora como foi o meu caso se no ano 2000 alguém me dissesse que um dia a microsoft embutiria o binário da queda do linux dentro do windows eu diria que a pessoa era louca de ver se tratar diferente de alguma coisa como se ganhe sendo suportado pela própria microsoft mais e mais pessoas podem depender dessa opção como algo estável e que vai estar disponível mesmo em futuros upgrade
do windows a história foi longa mas instalar o ws l2 é super rizzi berlim e nem convenientes quando sair a versão oficial no próximo upgrade do windows 10 você pode pular o primeiro passo mas se ainda for setembro de 2019 você vai precisar se cadastrar no programa windows 'insider assim só funciona no windows 10 pro windows 10 rumo não tem suporte à rai perfis se não me engano uma vez cadastrado você precisa habilitar o fast ringue que vai trazer os builds mais recentes do windows mas também tem o risco de vinco binários instáveis habilitar o
fast o bing é concordar que você está baixando versões alpha de muita coisa e instabilidades fazem parte do contrato eu venho usando o fast wing faz meses e tirando uma ou duas vezes que tive telas azuis no geral tudo tem funcionado sem problemas graves no caso até à data onde eu tô gravando esse episódio está na build 18 970 com fast wing ativado é só deixar o windows update baixa as últimas versões vai demorar bastante para baixar e instalar a última versão então vou esperar um pouco é só mais um pouco só mais um pouco
assim em uma das vezes que foi instalado e reclamou que tinha viel instalada precisar baixar a versão mais nova de parar de reclamar mas cuidado com isso convidou o rapper vi ativado não dá para usar virtualbox nem viemos até eles aderirem às apis de virtualização da microsoft enfim uma vez atualizado daí é restart e agora você precisa abrir um powershell como administrador e digitar o seguinte comando isso vai exigir um start e pronto agora você já tem um wsl abraão command pronto o power chão e garanta que tacou wsl 2 com o padrão executando seguinte
comando que para instalar o ubuntu você pode não em douz store procurar por um boom e instalar é gratuito daí você espera um pouco configura seu usuário e senha e instalado a primeira coisa que eu sempre faço como instalar e rodar o update upgrade para atualizar todos os pacotes daqui você pode seguir meu vídeo de ubuntu e praticamente tudo deve funcionar eu digo praticamente porque o ws é feito primariamente para aplicativos de linha de comando como o próprio bash coisas como ssh ggit tudo mais mas sempre existe a opção de instalar o cliente ex no
windows e roth ao display do ex no linux pra ser fora dele se você não sabia disso o ex é outro capítulo conturbado na história do unix em linux nós tivemos o ex-frei 86 depois o ex1 org finalmente muitos estão migrando para o eiland em termos simples o ex é feito para aplicativos gráficos a intenção original é que um servidor e unix com servidor ex poderia servir múltiplos terminais burros incluindo terminais gráficos que seriam clientes de ex pense em um servidor web e navegador web é basicamente a mesma coisa só que em vez de trafegar
um protocolo primitivo como http ele usa um protocolo o próprio do ex para enviar comandos como o desenho um botão na tela e quando o botão é clicado essa ação trafega para o servidor ex decidiu o que fazer e devolver outro comando para redesenhar alguma coisa na tela isso até que funciona eo que o povo de desenvolvimento não gosta é da implementação é um código difícil de dar manutenção e as coisas ficaram mais difíceis depois que a apple mostrou que era possível fazer com o sistema de compósito de aceleração via hardware como o corte ea
interface aqua como você faz os clientes ex terem os mesmos recursos dificulta muito que o ex era um monolito que os drivers das principais de pêlos como nvidia é proprietário e distribuído só como binário e as versões ou pensões têm qualidades variadas e no final o que acaba acontecendo é que você raramente usa o ex de forma distribuída e tanto o cliente quanto o servidor fica na mesma máquina desktop de qualquer jeito por causa disso ex tem dois modos de renderização acelerada a direta onde o próprio servidor ex acesso a gpu e indireto onde ele
manda os comandos de open gl para o cliente rodar no caso wsl ele não tem acesso direto algumas coisas incluindo o hardware de vídeo portanto ele depende de um rastreador via software você não tem como rodar o cliente de ex dentro do wsl porém você pode rodar o cliente de ex de windows e rotear os comandos de ex do wsl via rede para fora e vai funcionar perfeitamente bem existem duas opções gratuitas e open source que são vice ex serve e o ex mendigo em uma versão paga que eu pessoalmente acho melhor que o ex
410 que eu costumo usar mas na prática tanto faz se eu não estou enganado todos devem suportar o modo de aceleração indireta basta configurar dentro wsl uma variável de ambiente dizendo isso lhe bgl ou e sim direct e adicionar um bege rc pra sempre tem a variável quando se logar para rotear os comandos wsl precisa do endereço e pedro host windows no wsl um ficava tudo em local host por que para todos os efeitos e propósito wsl um rodava lado a lado do windows e não virtualizado wsl 2 como é uma máquina virtual do lado
de dentro ele tem também uma rede virtual eo windows do lado de fora é mapeado para o endereço local dentro é um tipo de ponte de rede que traduz o roteamento de pacotes do lado de dentro do lado de fora se fosse local host bastava fazer a variável display ser igual a dois pontos e zero porém toda vez que a máquina reinicia pode ser que esse endereço virtual mude precisamos configurar uma variável de ambiente que aponte para esse endereço para isso podemos fazer o seguinte online adicionado baixa rc e agora configurar variável display para usar
o valor colocando essas variáveis de ambiente no arquivo bfr ser toda vez que o bicho início ele vai ter essas variáveis e agora podemos instalar alguns programas gráficos que eles vão aparecer do lado de fora no windows mesmo vamos instalar o g20 eu gosto o terminal xilinx que é o mesmo que instala no tutorial do ubuntu e o pacote de boas ex eleven programas de nome precisam agora precisamos instalar o tal cliente ex que como eu disse antes tem opções gratuitas mas eu pessoalmente gosto do ex 410 que eu já tinha comprado ainda vamos instalar
pela win dos store quando terminar e ele carregar não esquecer de habilitar para poder receber conexões da rede pública se for a primeira vez o windows faial vai apitar para liberar acesso liberado e pronto de volta ao bege como só editamos o script mexes e precisamos ou desligar e logar de novo ou só recarregar o ba x e com o comando sorce e agora podemos abrir gv e olha só abril fora da máquina virtual como um programa normal de windows mesma coisa o chilique e nele podemos configurar a aparência vamos escolher o tema martírio ou
melhor o molokai dark e pronto agora podemos configurar o tamanho das fontes mas para mudar o tema geral das bordas e tudo mais não vamos poder usar o nome twix como não estamos carregando todos os serviços que o nome precisa para rodar se gastar algum tempo em tentativa e erro uma hora o nome twix talvez funcione mas por agora podemos simplesmente digitar manualmente o arquivo de configurações em ponto com fini gtk três sets ponto n dentro dele habilitamos o modo dark depois declaramos o nome do tema que é o flash remix gtk blue darker e
finalmente o nome do pacote de ícones que é o flash remix blue dark agora precisamos de fato baixar esses temas e ícones e aqui é a mesma coisa que já fizemos no episódio do ubuntu e vou seguir exatamente o mesmo tutorial diante e como é a mesma coisa vamos acelerar isso aqui e pronto agora podemos chamar o chilique de novo e bunda tudo bem mais bonito não acham o g20 também ficou um pouco melhor mas ele ainda está meio cru porque eu não carreguei nenhum dote files que configura ele como ea diária que mostrei no
episódio do ubuntu até agora eu estava usando o programa command que vem com todo o induz a microsoft vem modernizando o antigo comandante pra aceitar comandos de vt sem ancieto mais e com isso ele é hoje ele é capaz de renderizar corretamente vocês podem ver que as cores amce funcionam perfeitamente ele ainda tem cheiro de coisa velha mas comparado a como era até as primeiras edições do windows 10 foi uma evolução considerável mais terminais mais maduros como tilly que acabamos de instalar o mesmo terminal padrão de um mac ou és ainda são melhores em vez
de mexer demais no código velho do antigo comandante eles resolveram modificar um novo e com isso existe o programa simplesmente chamado de terminal que você pode instalar havia o windows store ele ainda está em desenvolvimento e por isso se chama previu mas mesmo no estágio atual ele já é muito melhor que o comandante inclusive ele acelerado via direct ex então coisas como scrum os longos renderiza muito rápido vamos abrir e veja como ele é mais moderno com suporte à tabriz a configuração ainda é toda em texto o que eu não acho ruim por exemplo podemos
mudar o tamanho das fontes de todos os perfis vale a pena brincar nesse arquivo um pouco para customizar como você quiser você pode usar esse novo terminal para o wsl dois ou até para rodar o antigo comandante se precisar de scripts de bert antigos ou também rodar powershell em outra aba ele é totalmente configurável e customizável suporta a abas que pode ser uma boa opção eu particularmente prefiro carregar o próprio tiririca de usar um terminal de verdade que suporta split de tela tem gente que prefere usar o temax para split mas para o meu orkut
foi um simples split próprio terminal é suficiente se quiser ver o temaki em funcionamento veja meu vídeo do ubuntu onde eu mostro como instalar e usar mas só instalar o ubuntu é muito fácil agora é uma boa hora de mostrar algo diferente hoje a microsoft suporta o ubuntu fedora e open susa além de uma distro paga feita especialmente pro wsl 2 que é o penguin ruim que se não me engano é uma derivação de débil mas eles têm receitas no hit run bid como você pode impactar qualquer outra disto de linux desde o wsm um
avião a versão de arte que você pode instalar eu testei vi que eles deram suporte para o wsm 2 também então porque não testar mas aviso que essa demora é meio experimental ele não tem suporte da microsoft e muitas coisas não funcionam perfeitamente ainda se você for experiente em linux talvez consiga achar work rounds mas se foi iniciante por agora é melhor ficar no ubuntu mesmo vamos começar no google pesquisando por arte wsl o primeiro link deve se à página de beach rugby do projeto lá tem todas as instruções que você precisa é baixo se
pedisse compacto em algum lugar como no seu uso diretório de usuário do windows e dentro vai ter um executável de arte de duplo clique ou abra um novo terminal navegue até o diretório digite arte e execute esse instalador faz menos coisas que o ubuntu que é esperado pela filosofia arte de fazer você configurar tudo ele vai ter lugar como ruth direto a primeira coisa a fazer é colocar uma senha para o roth agora vamos criar um novo usuário não ruth configurar senha e abril via isso tudo pra dar permissão de sudor para esse novo usuário
dessa forma você vai poder jogar com esse o usuário em vez de útil e ter acesso a sul do feito isso podemos sair da seção do art de volta ao comando do windows e configurar o arte pra carregar com esse novo usuário feito isso precisamos inicializar o pacman que é o gerenciador de pacotes isso só precisa ser feito uma vez uma vez inicializados mesma coisa diante eu gosto de atualizar os pacotes todos e fazemos isso com o comando pacman traço sy 11 no ubuntu começamos instalando pacotes como bill dias em chã para ter o tutti
em desenvolvimento com o pacman instalamos pacotes como base base de véu e vamos aproveitar para instalar também o g20 like gift seguindo os mesmos passos vamos exportar as mesmas variáveis de ambiente para rodar o ex-frontman podemos carregar o chile c's porém aqui já vemos um problema dessa versão programas de nome precisam do the box para a comunicação inter processos incluindo gerenciar configurações mas veja as mensagens de aviso dizendo que não encontrou debus laut um work round para isso é chamado de boas lá onde manualmente de novo não parei para investigar a fundo com as dependências
estão faltando os serviços que não estão carregando se você souber como corrigir isso não deixe de mandar nos comentários abaixo aliás uma coisa que notei é que tanto o bumbo como esse arte wsl não butão com se estende ou qualquer outro emitir system então nenhum serviço carrega e comandos como system ctl para inicial para serviços não vão funcionar você precisa carregar serviços manualmente se precisar de qualquer forma só para mostrar como as coisas são muito parecidas eu vou acelerar de novo para pela parte que o baixo os temas flat remix e dito o arquivo 7.1
animado aumente e pronto tics carregado com o novo tema igualzinho antes e com isso temos um arte instalada você pode seguir qualquer tutorial normal de como configurar seu artigo um ambiente de desenvolvimento ou seguir as mesmas instruções que eu mostrei por um boom tu agora vamos voltar para o bumbum para demonstrar que tudo funciona vamos seguir o meu tutorial instalar o bom velho a sdf como já mostrei antes não esqueça de colocar os scripts de à s df no best rc o equivalente do seu chão para iniciar sempre que se logar feito isso podemos instalar
o plugin de ruby agora podemos listar as versões de ruby disponíveis vamos escolher a mais recente a 2.6.1 4 e instalar apps faltou instalar mais dependência de desenvolvimento do sistema então vamos começar pelo pacote bill dias em show ainda temos mais independência então vamos instalar chips ele não acha o livro gdm três então vamos tentar liberar e loops ele não acha livre gdm também ok deixa ele pra lá não vamos precisar disso agora mesmo pronto pacotes instalados então vamos instalar o clube 264 demora um pouco mais uma hora e termina não esquecer de configurar essa
versão pra será padrão do sistema rubi instalado vamos instalar a agenda do banner e finalmente vão instalar as gentes do lubango réus como raios hoje usa muito java script também inclusive ele integra com o irn e com web pec melhor instalar o plugin node.js do sdf pronto mesma coisa como está as versões disponíveis e escolher a mais recente a 12 911 pontos faltou configurar as chaves de pg dos repositórios então vamos na página de beach rugby do plugin basta copiar essa linha e executar para instalar as chaves pronto chávez configurados agora podemos tentar instalar a
última versão de novo quando terminar não esquecer de configurar essa versão como a global do sistema esse passo nem precisa na real mas eu tenho costume forçar a atualização do npm para garantir que eu tô com a versão mais nova um aproveitar e instalar o irn também agora vão brincar um pouco e criar um novo projeto raios do zero com o seu gerador loops falhou porque faltou instalar o cicc o haiti três isso é opcional mas como eu não indiquei nada no gerador ele por padrão espera ter o chiclete três então vamos instalar como para
o gerador no meio então vou entrar no dia história do projeto e rodar manualmente o comando banda em install para terminar de instalar as dependências agora vamos carregar o rio serve para testar página de bem vindo e ups como gerador tinha parado naquela hora ele não inicializou webtech então vamos fazer isso manualmente com a task web pec 2 pontos em estol pronto agora sim vamos carregar o raio server e como o navegador da ópera de windows podemos carregar o local host porta 3 mil e veja que funcionou o wsl mapeou corretamente à porta três mil
de dentro da máquina virtual plata acessível do lado de fora no windows como a última parte de si mesmo vamos continuar o projeto gerando um controller de raios para testar mais um pouco mas e agora como vou meditar esses novos arquivos a partir daqui o abelha meu jevin devidamente configurado mas eu sei que muita gente migrou para a visual studio hoje que eu também concordo que é um editor de texto e uma idéia é excepcional altamente recomendado então vamos na página dele e baixar o instalador e sim vão baixar o instalador de windows e instalar
no lado de fora no windows mas agora como vs código do windows vai editar os arquivos do meu projeto que está dentro wsl a que começa a mudar as vantagens do wsl ser desenvolvido pela microsoft o vs code automaticamente detecta a existência do wsl detecta que o bumbum é a distro padrão em instalar os plugins adequados e agora podemos abrir uma nova janela do vs code que vai estar conectado no wsl olha barra de status no canto inferior esquerdo e veja que ele está abrindo wsl com isso quando mandamos abrir uma pasta ele vai explorar
o faial system de dentro do wsl automaticamente apontando a partir do diretório do meu usuário e de lá podemos abrir o projeto brilhos que acabamos de criar então vamos procurar nosso arquivo de index.html rb edital alguma coisa vamos também editar o arquivo derrotas pra colocar esse controller como raiz agora vamos reiniciar o servidor e recarregar a página navegador bumbum olha só funciona de boas apesar do wsl dois ainda não ser tão completo quanto rodar uma máquina virtual de verdade ele é leve simples o suficiente para ser um time que roda em background e você pode
usar o terminal no windows eo veci code no windows mesmo e desenvolver quase como se estivesse no linux de verdade para muitos casos de uso isso pode ser exatamente o que as pessoas precisam a última questão que todo mundo tem é mas o doc funciona vamos no google de novo procurar um tutorial de docker para o bumbum uso da digital ocean costumam ser bons então vamos nele vamos seguir passo a passo como ele manda primeiro instalar chave gpg dos repositórios oficiais do doc adicionar os repositórios como fontes pro apti rodar o update pra atualizar garantir
que vamos instalar os repositórios dodó quer finalmente instalar o doctor propriamente dito iniciar o serviço consistência e tl ups como eu disse antes o wl não buta com se estender então não existe suporte ao emitir system o comando system ctl não vai funcionar mas podemos executar os dízimos do doc manualmente e pronto é meio chato ter que fazer isso toda vez que o wsl reiniciar mas é melhor do que nada continuando o tutorial vamos adicionar o grupo toca ao nosso usuário agora a gente ou desloca fechando o terminal ou só fazemos é cio para abrir
uma nova seção direto pronto checando se está tudo ok e agora podemos rodar o famoso hello world e ver que tudo funciona e para garantir vamos um passo além e instalar o post do doc a mesma coisa primeiro vamos no google procurar um tutorial qualquer primeiro puxamos a imagem do doctor agora criamos diretórios para guardar os bancos de dados finalmente podemos subir o post vez dentro do docker com esse comandam aqui que vai configurar coisas com o mapeamento de portas para demonstrar que é o doctor nativo de verdade rodando se rodarmos o comando ps é
o xis podemos ver todos os processos rodando dentro da máquina virtual e temos o post desaparecendo como deveria se você assistiu meus episódios sobre virtualização e contêiners já entendeu que doc não é virtualização na prática tudo que você roda via doc roda normalmente como um processo no seu sistema mas o doc os recursos da queda do linux como se groups para fazer o sistema operacional mente para o processo fazendo esse processo acreditar que está rodando sozinho na máquina como eu já tinha mostrado no episódio do ubuntu podemos navegar por diretório barra proque no subdiretório que
é o pedido do processo e ups de errado vamos licitar de novo e pegar o pid certo e navegar de novo pronto agora podemos listar o conteúdo do metal arquivos e grupos e ver como ele está sendo mascarado pelo docker para todos os efeitos e propostas o processo do poço liz acredita que está rodando sozinho na máquina e pra gente do lado de fora é só mais um processo rodando como se tivesse sido instalado fora do docker por isso container de docas são ordens de grandeza mais leves e performáticos do que uma máquina virtual porque
na prática não existe um rapper vai ser envolvido é só uma casquinha é muito leve do próprio quer não o quer e precisa ter esse suporte por isso não funcionava no wsl um porque é difícil recria isso só com um rap em cima do caderno do nt e eles nem chegaram a tentar eu acho então o doc de windows para rodar container de linux precisava de fato executar um linux no high perve para criar os contêineres dentro aqui é a mesma coisa já que o ws l2 é uma máquina virtual rodando uma queda de linux
de verdade entenderam agora podemos conectar nesse possível dentro do container através da porta que o doca martel para fora vamos seguir o tutorial e loops ainda não temos o cliente the post grad instalado então vamos seguir o que ele manda instalar chips ainda falta mais um pacote vamos seguir a instrução instalar e agora sim cliente instalada vamos rodar o comando de novo pronto estamos conectados no post diz rodando dentro do contêiner docker podemos rodar doc ps para ver quais container estão sendo executados e podemos pegar o pedido do container e com ele rodar comandos como
o doc stop preparar o container e assim derrubar esse post crisis eu até acho que nesse ambiente wsl 2 onde ele não sobe se estende no boot e por isso não sobe demos automaticamente doca é uma boa opção para gerenciar seus serviços e é isso o ws l2 é basicamente um raio perve customizado para rodar uma queda de nino que se modificado pela microsoft e como a licença gpl obriga qualquer empresa a abrir o código fonte se for modificado a microsoft mantém o forte com as modificações no kit rami eu vou deixar o link nas
descrições abaixo também eles vão sempre manter a versão estável mais nova e não devem ficar dando suporte para quer nos antigas então você sempre vai ter a opção de rodar as distros mais novas se precisar rodar linux velhos você mesmo vai ter que instalar e configurar tudo manualmente uma máquina virtual ai ai perve do jeito antigo wsl 2 é um facilitador para ripper vir com linux melhor integrado na prática wsl um era algo parecido com o ign só que ao inverso o wsl 2 é mais parecido em conceito com o linux mas na prática um
linux rodando dentro de uma máquina virtual então se você já estava usando linux em virtualbox ouvir e mas na prática não tem grandes vantagens especialmente porque wsl não expõe tantas opções de configuração comum vi e mor por outro lado a grande vantagem é o suporte oficial da microsoft ou seja pela primeira vez é um padrão oficial veja a integração do visual studio kogyo wsl por exemplo uma vez que o ws é um componente oficial no windows outras soluções podem começar a se integrar e criar um ecossistema eu gostava bastante do conceito do ws n 1
que seria o único caminho para ter uma camada linux integrada de verdade na fundação do windows o mais próximo que já se chegou do que se tem em um mac ou és sem precisar reescrever todo o sistema operacional mas eu entendo que era bem pouco prático dá suporte então o ws r 2 é um bom meio do caminho muita gente precisa estar no windows seja para usar programas corporativos que só existem windows ou da pacote como os da adobe que não existem para linux ou mesmo fazer desenvolvimento em dot net para windows agora existe uma
opção oficial para rodar a ferramenta o linux lado a lado com uma boa integração ele mais limitado ainda existem alguns bugs mas com o tempo isso deve melhorar na prática se você já usa virtualbox ouvir é maior para desenvolver em ambiente linux não existe de fato muita vantagem em usar o wsl mas se você quer integrar desenvolvimento de projetos em node ou python dentro do linux junto com outros projetos no windows usando o mesmo visual studio code por exemplo é uma ótima opção aliás apesar de existir um certo suporte nativo ao da coisas como load
php python no próprio windows eu altamente não recomendo o certo é rodar dentro do linux e ter acesso a tudo que esses ecossistemas oferecem toda versão de uma ferramenta linux no windows tem limitações e rodando no wsl 2 ou não a máquina virtual elimina essas restrições evite ao máximo o da ferramentas de linux compilados para windows você sempre vai estar usando menos do que as ferramentas oferecem nesses casos o ws l2 é interessante para desmotivar a existência dessas alternativas e simplesmente rodar o original no linux de verdade agora suportada pela própria microsoft o único cenário
onde eu ainda recomendaria linux instalado nativo é se você está brincando the machine online por exemplo com ferramentas que precisam de acesso direto a gpu isso nem o wsl nem muitas máquinas virtuais vai conseguir te dar você precisa de acesso direto ao hardware o ws l2 hoje não tem como esposa gpu pra dentro da máquina virtual esse é um dos casos que é melhor uma configuração de dual boot se você também precisa de windows e se manter um linux instalado nativamente na sua máquina no caso de desenvolvimento web normal onde você quer ter um post
grandes redes em the next node.js grêmio cilic ser o ws é uma opção excelente e com a integração do visual studio eu acho que se torna um pacote bastante atraente eu estou usando os dois numa máquina tenho wsl dois em outra tem o vih e marcou o meu dia a dia não é mais ocupado programação na maior parte do tempo então pra mim o impacto é muito menor se você já testou essas opções compartilha sua experiência com o pessoal nos comentários abaixo se pôr o vídeo deixa o joinha assim o canal e não deixe de
clicar no sine para não perder os próximos episódios por hoje é só a gente se vê e até mais
Copyright © 2025. Made with ♥ in London by YTScribe.com