Partilhar via


Notas de versão do Subsistema Windows para Linux

Compilação 21364

Para obter informações gerais sobre a versão 21364, visite o blog do Windows.

  • Os aplicativos GUI já estão disponíveis! Para obter mais informações, consulte esta postagem no blog.
  • Resolva o erro ao acessar arquivos via \\wsl.localhost\.
  • Corrija possíveis impasses no serviço LxssManager.

Construir 21354

Para obter informações gerais sobre o Windows na compilação 21354, visite o blog do Windows.

  • Alterne o prefixo \wsl para \wsl.localhost para evitar problemas quando houver uma máquina na rede chamada "wsl". \wsl$ continuará a trabalhar.
  • Habilite o ícone de acesso rápido do Linux para processos impressionantes.
  • Problema de atualização em que a versão 2 estava sempre sendo passada via wslapi RegisterDistribution.
  • Altere o fmask do diretório /usr/lib/wsl/lib para 222 para que os arquivos sejam marcados como executáveis [GH 3847]
  • Corrija a falha do serviço wsl se a Plataforma de Máquina Virtual não estiver ativada.

Compilação 21286

Para obter informações gerais sobre a compilação 21286, visite o blog do Windows.

  • Introduza wsl.exe comando --cd para definir o diretório de trabalho atual de um comando.
  • Melhore o mapeamento de NTSTATUS para códigos de erro Linux. [GH 6063]
  • Melhore wsl.exe --monte o relatório de erros.
  • Adicionada uma opção ao /etc/wsl.conf para ativar os comandos de inicialização:
[boot]
command=<string>

Versão 20226

Para informações gerais sobre o Windows na compilação 20226, visite o blog Windows .

  • Corrija a falha no serviço LxssManager. [GH 5902]

Versão 20211

Para obter informações gerais sobre o build 20211 do Windows, visite o blog .

  • Introduza wsl.exe --mount para montagem de discos físicos ou virtuais. Para obter mais informações, consulte Aceder aos sistemas de arquivos Linux no Windows e WSL 2.
  • Corrija a falha no serviço LxssManager ao verificar se a VM está ociosa. [GH 5768]
  • Suporte para arquivos VHD compactados. [GH 4103]
  • Certifique-se de que as libs do modo de usuário Linux instaladas em c:\windows\system32\lxss\lib sejam preservadas durante a atualização do sistema operacional. [GH 5848]
  • Adicionada a capacidade de listar distribuições disponíveis que podem ser instaladas com wsl --install --list-distributions.
  • As instâncias WSL agora são encerradas quando o utilizador termina sessão.

Construir 20190

Para obter informações gerais sobre o Windows na compilação 20190, visite o blog Windows.

  • Corrija o bug que impede a inicialização de instâncias WSL1. [GH 5633]
  • Corrija o travamento ao redirecionar a saída do processo do Windows. [GH 5648]
  • Adicione a opção \.wslconfig %userprofile%para controlar o tempo de inatividade da VM (wsl2.vmIdleTimeout=<time_in_ms>).
  • Suporte para o lançamento de aliases de execução de aplicações a partir do WSL.
  • Adicionado suporte para instalar o kernel WSL2 e distribuições para wsl.exe --install.

Versão 20175

Para obter informações gerais sobre o Windows na compilação 20175, visite o blog do Windows.

  • Ajuste a atribuição de memória padrão da VM WSL2 para 50% de memória host ou 8 GB, o que for menor [GH 4166].
  • Altere o prefixo \\wsl$ para \\wsl para oferecer suporte à análise de URI. O caminho \\wsl$ antigo ainda é suportado.
  • Habilite a virtualização aninhada para WSL2 por padrão no amd64. Você pode desativar isso por meio %userprofile%\.wslconfig ([wsl2] nestedVirtualization=false).
  • Execute o comando wsl.exe --update demand para iniciar o Microsoft Update.
  • Suporte a renomeação em um arquivo somente leitura no DrvFs.
  • Certifique-se de que as mensagens de erro sejam sempre impressas na página de código correta.

Construído em 20150

Para obter informações gerais sobre o Windows na compilação 20150, visite o blog do Windows.

  • Computação da GPU WSL2, consulte do blog do Windows para obter mais informações.
  • Introduza a opção de linha de comando wsl.exe --install para a fácil configuração do WSL.
  • Apresente a opção de linha de comando wsl.exe --update para gerir atualizações no kernel do WSL2.
  • Defina WSL2 como padrão.
  • Aumente o tempo limite para encerramento seguro da VM WSL2.
  • Corrigir a condição de corrida do virtio-9p ao mapear a memória do dispositivo.
  • Não execute um servidor 9p elevado se o UAC estiver desativado.

Construído em 19640

Para obter informações gerais sobre a compilação 19640, visite o blog Windows.

  • [WSL2] Melhorias de estabilidade para virtio-9p (drvfs).

Construído em 19555

Para obter informações gerais sobre a compilação 19555, visite o blog do Windows.

  • [WSL2] Use um grupo de controle de memória para limitar a quantidade de memória usada pelas operações de instalação e conversão [GH 4669]
  • Faça wsl.exe presente quando o componente opcional do Subsistema Windows para Linux não estiver habilitado para melhorar a capacidade de descoberta de recursos.
  • Altere wsl.exe para imprimir texto de ajuda se o componente opcional WSL não estiver instalado
  • Corrigir condição de corrida ao criar instâncias
  • Criar wslclient.dll que contenha todas as funcionalidades da linha de comando
  • Evitar falha durante a parada do serviço LxssManagerUser
  • Corrigir a falha rápida wslapi.dll quando o parâmetro distroName é NULL

Versão 19041

Para obter informações gerais sobre o Windows na versão 19041, visite o blog do Windows.

  • [WSL2] Limpe a máscara de sinal antes de iniciar os processos
  • [WSL2] Atualize o kernel Linux para 4.19.84
  • Manipule a criação do link simbólico /etc/resolv.conf quando o link simbólico não for relativo

Construído em 19028

Para obter informações gerais sobre o Windows na compilação 19028, visite o blogue Windows .

  • [WSL2] Atualize o kernel Linux para 4.19.81
  • [WSL2] Altere a permissão padrão de /dev/net/tun para 0666 [GH 4629]
  • [WSL2] Ajuste a quantidade padrão de memória atribuída à VM Linux para 80% de memória host
  • [WSL2] corrige o servidor de interoperabilidade para lidar com solicitações com um tempo limite para que chamadores incorretos não possam travar o servidor

Construído em 19018

Para obter informações gerais sobre o Windows na compilação 19018, visite o blog Windows.

  • [WSL2] Usar cache=mmap como definição padrão para montagens 9P para corrigir aplicativos Dotnet
  • [WSL2] Correções para relé localhost [GH 4340]
  • [WSL2] Introduza uma montagem tmpfs compartilhada entre distros para compartilhar o estado entre distros
  • Correção restaurando unidade de rede persistente para \\wsl$

Construído em 19013

Para obter informações gerais sobre o Windows e a compilação 19013, visite o blog do Windows.

  • [WSL2] Melhore o desempenho da memória da máquina virtual do utilitário WSL. A memória que não está mais em uso será liberada de volta para o host.
  • [WSL2] Atualize a versão do kernel para 4.19.79. (adicionar CONFIG_HIGH_RES_TIMERS, CONFIG_TASK_XACCT, CONFIG_TASK_IO_ACCOUNTING, CONFIG_SCHED_HRTICK e CONFIG_BRIDGE_VLAN_FILTERING).
  • [WSL2] Corrigir relé de entrada para lidar com casos em que stdin é uma alça de tubo que não está fechada [GH 4424]
  • Faça a verificação para \\wsl$ sem diferenciação de maiúsculas/minúsculas.
[wsl2]
pageReporting = <bool>    # Enable or disable the free memory page reporting feature (default true).
idleThreshold = <integer> # Set the idle threshold for memory compaction, 0 disables the feature (default 1).

Construído em 19002

Para obter informações gerais sobre a compilação 19002 do Windows, visite o blog do Windows .

  • [WSL] Corrigir problema com o processamento de alguns caracteres Unicode: https://github.com/microsoft/terminal/issues/2770
  • [WSL] Corrija casos raros em que as distribuições poderiam ser desregistradas se iniciadas imediatamente após uma atualização de versão para versão.
  • [WSL] Corrija um pequeno problema com wsl.exe --shutdown em que os temporizadores ociosos da instância não foram cancelados.

Construído em 18995

Para informações gerais do Windows sobre a compilação 18995, visite o blog .

  • [WSL2] Corrigir um problema em que as montagens DrvFs paravam de funcionar depois que uma operação foi interrompida (por exemplo, ctrl-c) [GH 4377]
  • [WSL2] Corrigir o tratamento de mensagens muito grandes de hvsocket [GH 4105]
  • [WSL2] Corrigir problema com interoperabilidade quando stdin é um arquivo [GH 4475]
  • [WSL2] Corrigir falha de serviço quando um estado de rede inesperado é encontrado [GH 4474]
  • [WSL2] Consulte o nome da distro do servidor de interoperabilidade se o processo atual não tiver a variável de ambiente
  • [WSL2] Corrigir problema com interoperabilidade quando stdin é um ficheiro
  • [WSL2] Atualize a versão do kernel Linux para 4.19.72
  • [WSL2] Adicione a capacidade de especificar parâmetros adicionais da linha de comando do kernel via .wslconfig
[wsl2]
kernelCommandLine = <string> # Additional kernel command line arguments

Construído em 18990

Para obter informações gerais sobre o Windows sobre a compilação 18990, visite o blog Windows.

  • Melhorar o desempenho de listagens de diretórios em \\wsl$
  • [WSL2] Injetar entropia de inicialização adicional [GH 4416]
  • [WSL2] Correção para interoperabilidade do Windows ao usar su / sudo [GH 4465]

Construído em 18980

Para obter informações gerais sobre o Windows no build 18980, visite o blog Windows.

  • Corrija os links simbólicos de leitura que negam FILE_READ_DATA. Isso inclui todos os links simbólicos que o Windows cria para compatibilidade com versões anteriores, como "C:\Document and Settings" e um monte de links simbólicos no diretório de perfil de usuário
  • Tornar o estado inesperado do sistema de arquivos não fatal [GH 4334, 4305]
  • [WSL2] Adicione suporte para arm64 se a sua CPU / firmware suportar virtualização
  • [WSL2] Permitir que usuários sem privilégios visualizem o log do kernel
  • [WSL2] Corrigir relé de saída quando os soquetes stdout / stderr foram fechados [GH 4375]
  • [WSL2] Suporte de passagem de bateria e adaptador CA
  • [WSL2] Atualize o kernel Linux para 4.19.67
  • Adicione a capacidade de definir o nome de usuário padrão em /etc/wsl.conf:
[user]
default=<string>

Construído em 18975

Para obter informações gerais sobre o Windows na compilação 18975, visite o blog do Windows.

  • [WSL2] Corrigidos vários problemas de confiabilidade do localhost [GH 4340]

Construído em 18970

Para obter informações gerais sobre a compilação 18970 do Windows, visite o blogue .

  • [WSL2] Sincronizar hora com a hora do anfitrião quando o sistema retoma do estado de suspensão [GH 4245]
  • [WSL2] Crie, quando possível, links simbólicos NT nos volumes do Windows.
  • [WSL2] Crie distros em namespaces UTS, IPC, PID e Mount.
  • [WSL2] Corrigir a retransmissão de porta localhost quando o servidor se liga diretamente ao localhost [GH 4353]
  • [WSL2] Corrigir interoperabilidade quando a saída é redirecionada [GH 4337]
  • [WSL2] Suporte para traduzir ligações simbólicas NT absolutas.
  • [WSL2] Atualize o kernel para 4.19.59
  • [WSL2] Defina corretamente a máscara de sub-rede para eth0.
  • [WSL2] Altere a lógica para sair do loop de trabalho do console quando o evento de saída for sinalizado.
  • [WSL2] Ejetar distribuição vhd quando a distribuição não está em execução.
  • [WSL2] Corrija a biblioteca de análise de configuração para lidar corretamente com valores vazios.
  • [WSL2] Suporte o Docker Desktop através da criação de montagens entre distribuições. Uma distro pode optar por esse comportamento adicionando a seguinte linha ao arquivo /etc/wsl.conf:
[automount]
crossDistro = true

Versão 18945

Para obter informações gerais sobre a compilação 18945, visite o blog do Windows.

WSL

  • [WSL2] Permitir que soquetes tcp de escuta no WSL2 sejam acessíveis a partir do host usando localhost:port
  • [WSL2] Correções para falhas de instalação / conversão e diagnósticos adicionais para rastrear problemas futuros [GH 4105]
  • [WSL2] Melhorar a capacidade de diagnóstico de problemas de rede WSL2
  • [WSL2] Atualize a versão do kernel para 4.19.55
  • [WSL2] Actualizar kernel com opções de configuração necessárias para Docker [GH 4165]
  • [WSL2] Aumentar o número de CPUs atribuídas à VM utilitária leve para corresponder ao número do host (anteriormente era limitado a 8 por CONFIG_NR_CPUS na configuração do núcleo) [GH 4137]
  • [WSL2] Criar um arquivo de permuta para a VM leve WSL2
  • [WSL2] Permitir que as montagens feitas pelo utilizador sejam visíveis através de \\wsl$\distro (por exemplo, sshfs) [GH 4172]
  • [WSL2] Melhorar o desempenho do sistema de arquivos 9p
  • [WSL2] Assegure-se de que a ACL VHD não cresça descontroladamente [GH 4126]
  • [WSL2] Atualize a configuração do kernel para suportar squashfs e xt_conntrack [GH 4107, 4123]
  • [WSL2] Correção para a opção interop.enabled no /etc/wsl.conf [GH 4140]
  • [WSL2] Retornar ENOTSUP se o sistema de arquivos não suportar EAs
  • [WSL2] Corrigir bloqueio de CopyFile com \\wsl$
  • Mude o umask padrão para 0022 e adicione a configuração filesystem.umask ao /etc/wsl.conf
  • Corrigir wslpath para resolver corretamente symlinks; isso foi verificado em 19h1 [GH 4078]
  • Introduza o arquivo %UserProfile%\.wslconfig para ajustar as configurações do WSL2
[wsl2]
kernel=<path>              # An absolute Windows path to a custom Linux kernel.
memory=<size>              # How much memory to assign to the WSL2 VM.
processors=<number>        # How many processors to assign to the WSL2 VM.
swap=<size>                # How much swap space to add to the WSL2 VM. 0 for no swap file.
swapFile=<path>            # An absolute Windows path to the swap vhd.
localhostForwarding=<bool> # Boolean specifying if ports bound to wildcard or localhost in the WSL2 VM should be connectable from the host via localhost:port (default true).

# <path> entries must be absolute Windows paths with escaped backslashes, for example C:\\Users\\Ben\\kernel
# <size> entries must be size followed by unit, for example 8GB or 512MB

Compilação 18917

Para obter informações gerais sobre o Windows e a compilação 18917, visite o blog do Windows.

WSL

  • WSL 2 já está disponível! Consulte o blog para obter mais detalhes.
  • Corrigir uma regressão em que iniciar processos do Windows através de links simbólicos não funcionou corretamente [GH 3999]
  • Adicione as opções wsl.exe --list --verbose, wsl.exe --list --quiet e wsl.exe --import --version ao wsl.exe
  • Adicionar a opção --shutdown wsl.exe
  • Plano 9: Permitir a abertura de um diretório para que a gravação seja bem-sucedida

Construído em 18890

Para obter informações gerais sobre a compilação 18890, visite o blog do Windows.

WSL

  • Vazamento de soquete sem bloqueio [GH 2913]
  • A entrada EOF no terminal pode bloquear leituras subsequentes [GH 3421]
  • Atualize o cabeçalho resolv.conf para se referir a wsl.conf [discutido em GH 3928]
  • Impasse no código de eliminação de epoll [GH 3922]
  • Manipular espaços em argumentos para --import e –export [GH 3932]
  • Estender arquivos mmap'd não funciona corretamente [GH 3939]
  • Corrigir o problema com o acesso ARM64 \\wsl$ que não está funcionando corretamente
  • Adicionar melhor ícone padrão para wsl.exe

Construído em 18342

Para informações gerais sobre a build 18342 do Windows, visite o blog do Windows.

WSL

  • Adicionamos a capacidade de os usuários acessarem arquivos Linux em uma distro WSL do Windows. Esses arquivos podem ser acessados através da linha de comando, e também aplicativos do Windows, como explorador de arquivos, VSCode, etc. podem interagir com esses arquivos. Acesse seus arquivos navegando até \\wsl$\<distro_name>ou veja uma lista de distribuições em execução navegando até \\wsl$
  • Adicionar tags de informações adicionais da CPU e corrigir valores de Cpus_allowed[_list] [GH 2234]
  • Suporte à execução a partir do thread não-líder [GH 3800]
  • Tratar falhas de atualização de configuração como não fatais [GH 3785]
  • Atualizar binfmt para lidar corretamente com deslocamentos [GH 3768]
  • Habilitar o mapeamento de unidades de rede para o Plano 9 [GH 3854]
  • Suporte Windows -> Linux e Linux -> Tradução de caminhos do Windows para montagens de ligação
  • Criar seções somente leitura para mapeamentos em arquivos abertos somente leitura

Versão 18334

Para obter informações gerais sobre o Windows na compilação 18334, visite o blog Windows.

WSL

  • Redesenhe a maneira como o fuso horário do Windows é mapeado para um fuso horário Linux [GH 3747]
  • Corrigir fugas de memória e adicionar novas funções de tradução de string [GH 3746]
  • SIGCONT em um threadgroup sem threads é um no-op [GH 3741]
  • Exibir corretamente os descritores de ficheiro de socket e epoll em /proc/self/fd

Construído em 18305

Para obter informações gerais sobre o build 18305, visite o blog do Windows.

WSL

  • pthreads perdem o acesso aos arquivos quando o thread primário sai [GH 3589]
  • TIOCSCTTY deve ignorar o parâmetro "force", a menos que seja necessário [GH 3652]
  • wsl.exe melhorias na linha de comando e adição de funcionalidade de importação / exportação.
Usage: wsl.exe [Argument] [Options...] [CommandLine]

Arguments to run Linux binaries:

    If no command line is provided, wsl.exe launches the default shell.

    --exec, -e <CommandLine>
        Execute the specified command without using the default Linux shell.

    --
        Pass the remaining command line as is.

Options:
    --distribution, -d <DistributionName>
        Run the specified distribution.

    --user, -u <UserName>
        Run as the specified user.

Arguments to manage Windows Subsystem for Linux:

    --export <DistributionName> <FileName>
        Exports the distribution to a tar file.
        The filename can be - for standard output.

    --import <DistributionName> <InstallLocation> <FileName>
        Imports the specified tar file as a new distribution.
        The filename can be - for standard input.

    --list, -l [Options]
        Lists distributions.

        Options:
            --all
                List all distributions, including distributions that are currently
                being installed or uninstalled.

            --running
                List only distributions that are currently running.

    -setdefault, -s <DistributionName>
        Sets the distribution as the default.

    --terminate, -t <DistributionName>
        Terminates the distribution.

    --unregister <DistributionName>
        Unregisters the distribution.

    --upgrade <DistributionName>
        Upgrades the distribution to the WslFs file system format.

    --help
        Display usage information.

Versão 18277

Para obter informações gerais sobre a compilação 18277, visite o blog do Windows.

WSL

  • Corrigir erro "nenhuma interface suportada" introduzido na compilação 18272 [GH 3645]
  • Ignore o sinalizador de MNT_FORCE para a chamada de sistema umount [GH 3605]
  • Mudar a interoperabilidade do WSL para utilizar a API oficial CreatePseudoConsole.
  • Não manter nenhum valor de tempo limite quando FUTEX_WAIT reinicia

Construído em 18272

Para obter informações gerais do Windows sobre a compilação 18272, visite o blog Windows.

WSL

  • AVISO: Há um problema nesta compilação que torna a WSL inoperante. Ao tentar iniciar sua distribuição, você verá um erro "Nenhuma interface suportada". O problema foi corrigido e estará na compilação Insider Fast da próxima semana. Se tiver instalado esta compilação, pode reverter para a compilação anterior do Windows utilizando "Voltar à versão anterior do Windows 10" em Definições->Atualização & Segurança->Recuperação.

Versão 18267

Para obter informações gerais sobre o Windows na compilação 18267, visite o blog do Windows.

WSL

  • Corrigir o problema em que o processo zumbi pode não ser encerrado e permanecer indefinidamente.
  • WslRegisterDistribution trava se a mensagem de erro exceder o comprimento máximo [GH 3592]
  • Permitir que o fsync seja bem-sucedido para arquivos somente leitura em DrvFs [GH 3556]
  • Verifique se os diretórios /bin e /sbin existem antes de criar links simbólicos dentro de [GH 3584]
  • Adicionado um mecanismo de tempo limite de terminação para instâncias WSL. O tempo limite está atualmente definido como 15 segundos, o que significa que a instância será encerrada 15 segundos após a saída do último processo WSL. Para encerrar uma distribuição imediatamente, use:
wslconfig.exe /terminate <DistributionName>

Versão 17763 (1809)

Para obter informações gerais sobre a compilação Windows 17763, visite o blog Windows.

WSL

  • Verificação de permissões do syscall setpriority demasiado restritiva para alterar a prioridade da mesma thread [GH 1838]
  • Certifique-se de que o tempo de interrupção imparcial é usado para o tempo de inicialização para evitar retornar valores negativos para clock_gettime(CLOCK_BOOTTIME) [GH 3434]
  • Tratar links simbólicos no interpretador binfmt do WSL [GH 3424]
  • Melhor manipulação da limpeza do descritor de ficheiros do líder do grupo de threads.
  • Alterar o WSL para utilizar KeQueryInterruptTimePrecise em vez de KeQueryPerformanceCounter para evitar superação de limite [GH 3252]
  • O Ptrace attach pode causar um valor de retorno incorreto em chamadas do sistema [GH 1731]
  • Corrigir vários problemas relacionados ao AF_UNIX [GH 3371]
  • Corrigir problema que poderia fazer com que a interoperabilidade WSL falhasse se o diretório de trabalho atual tiver menos de 5 caracteres [GH 3379]
  • Evite um atraso de um segundo com falhas nas conexões de loopback para portas inexistentes [GH 3286]
  • Adicionar arquivo stub /proc/sys/fs/file-max [GH 2893]
  • Informações mais precisas sobre o escopo do IPV6.
  • Suporte PR_SET_PTRACER [GH 3053]
  • Sistema de arquivos de pipe limpando inadvertidamente o evento epoll acionado por borda [GH 3276]
  • Win32 executável lançado via link simbólico NTFS não respeita o nome do link simbólico [GH 2909]
  • Suporte melhorado a zumbis [GH 1353]
  • Adicionar entradas wsl.conf para controlar o comportamento de interoperabilidade do Windows [GH 1493]
      [interop]
    
      enabled=false # enable launch of Windows binaries; default is true
    
      appendWindowsPath=false # append Windows path to $PATH variable; default is true
    
  • Correção para getsockname nem sempre retornando o tipo de família de soquete UNIX [GH 1774]
  • Adicionar suporte para TIOCSTI [GH 1863]
  • Soquetes sem bloqueio no processo de conexão devem retornar EAGAIN para tentativas de gravação [GH 2846]
  • Suporte de interoperabilidade em VHDs montados [GH 3246, 3291]
  • Corrigir problema de verificação de permissão na pasta raiz [GH 3304]
  • Suporte limitado para teclado TTY ioctls KDGKBTYPE, KDGKBMODE e KDSKBMODE.
  • Os aplicativos da interface do usuário do Windows devem ser executados mesmo quando iniciados em segundo plano.
  • Adicionar wsl -u ou --user option [GH 1203]
  • Corrigir problemas de inicialização do WSL quando a inicialização rápida está ativada [GH 2576]
  • Soquetes Unix precisam reter credenciais de pares desconectados [GH 3183]
  • Soquetes Unix sem bloqueio falhando indefinidamente com EAGAIN [GH 3191]
  • case=off é o novo tipo padrão de montagem drvfs [GH 2937, 3212, 3328]
    • Veja o blog para mais informações.
  • Adicione wslconfig /terminate para parar de executar distribuições.
  • Corrija o problema com as entradas do menu de contexto do shell WSL que não manipulam corretamente caminhos com espaços.
  • Expor a diferenciação de maiúsculas e minúsculas por diretório como um atributo estendido
  • ARM64: Emular operações de manutenção de cache. Resolva a questão dotnet .
  • DrvFs: apenas caracteres não escapados na faixa privada que correspondem a um personagem escapado.
  • Corrigir erro de um-a-mais na validação do comprimento do interpretador do parser ELF [GH 3154]
  • Temporizadores absolutos WSL com um tempo no passado não disparam [GH 3091]
  • Verifique se os pontos de redistribuição recém-criados estão listados como tal no diretório pai.
  • Crie diretórios que diferenciam maiúsculas de minúsculas atomicamente em DrvFs.
  • Corrigido um problema adicional em que operações multithreaded podiam retornar ENOENT mesmo que o arquivo exista. [GH 2712]
  • Corrigida a falha de inicialização do WSL quando o UMCI está habilitado. [GH 3020]
  • Adicione o menu de contexto do explorador para iniciar o WSL [GH 437, 603, 1836]. Para usar, mantenha pressionada a tecla shift e clique com o botão direito do mouse quando estiver em uma janela do Explorer.
  • Corrigir o comportamento de não bloqueio do soquete Unix [GH 2822, 3100]
  • Resolva o problema de suspensão do comando NETLINK conforme relatado no GH 2026.
  • Adicione suporte para sinalizadores de propagação de montagem [GH 2911].
  • Corrigir problema com truncamento que não causa eventos inotify [GH 2978].
  • Adicionar opção --exec para wsl.exe executar um único binário sem um shell.
  • Adicionar a opção --distribution para selecionar uma distro específica para wsl.exe.
  • Suporte limitado para dmesg. Os aplicativos agora podem fazer login no dmesg. O driver WSL registra informações limitadas ao dmesg. No futuro, isso pode ser estendido para transportar outras informações/diagnósticos do motorista.
    • Nota: o dmesg é atualmente suportado através da interface do dispositivo /dev/kmsg. A interface de chamada de sistema syslog ainda não é suportada. E, portanto, algumas das dmesg opções de linha de comando, como -S, -C não funcionam.
  • Alterar o gid e o modo padrão dos dispositivos seriais para corresponder aos nativos [GH 3042]
  • DrvFs agora suporta atributos estendidos.
    • Nota: O DrvFs tem algumas limitações quanto ao nome dos atributos estendidos. Alguns caracteres (como '/', ':' e '*') não são permitidos, e nomes de atributos estendidos não diferenciam maiúsculas de minúsculas em DrvFs

Build 18252 (Saltar para a frente)

Para obter informações gerais sobre a compilação 18252, visite o Blog do Windows.

WSL

  • Mova os binários init e bsdtar para fora da dll lxssmanager e numa pasta de ferramentas separada.
  • Corrija a corrida em torno do fechamento do descritor de arquivo ao usar CLONE_FILES
  • Manipule campos opcionais em /proc/pid/mountinfo ao traduzir caminhos DrvFs
  • Permitir que o DrvFs mknod tenha êxito sem suporte a metadados para S_IFREG
  • Arquivos somente leitura criados em DrvFs devem ter o atributo somente leitura definido [GH 3411]
  • Adicione o utilitário /sbin/mount.drvfs para montar o DrvFs
  • Usar a função POSIX rename em DrvFs.
  • Permitir a conversão de caminho em volumes sem um GUID de volume.

Build 17738 (Rápido)

Para obter informações gerais sobre a compilação 17738, visite o Blog do Windows .

WSL

  • Verificação de permissões do syscall setpriority demasiado restritiva para alterar a prioridade da mesma thread [GH 1838]
  • Certifique-se de que o tempo de interrupção imparcial é usado para o tempo de inicialização para evitar retornar valores negativos para clock_gettime(CLOCK_BOOTTIME) [GH 3434]
  • Tratar links simbólicos no interpretador binfmt do WSL [GH 3424]
  • Melhor manipulação da limpeza do descritor de ficheiros do líder do grupo de threads.

Build 17728 (Rápido)

Para obter informações gerais sobre o Windows na compilação 17728, visite o Blog do Windows.

WSL

  • Alterar o WSL para utilizar KeQueryInterruptTimePrecise em vez de KeQueryPerformanceCounter para evitar superação de limite [GH 3252]
  • O Ptrace attach pode causar um valor de retorno incorreto em chamadas do sistema [GH 1731]
  • Corrigir uma série de problemas relacionados a AF_UNIX [GH 3371]
  • Corrigir problema que poderia fazer com que a interoperabilidade WSL falhasse se o diretório de trabalho atual tiver menos de 5 caracteres [GH 3379]

Build 18204 (Saltar para a frente)

Para obter informações gerais sobre o build 18204, visite o Blog do Windows.

WSL

  • Sistema de arquivos de pipe limpando inadvertidamente o evento epoll acionado por borda [GH 3276]
  • Win32 executável lançado via link simbólico NTFS não respeita o nome do link simbólico [GH 2909]

Build 17723 (Rápido)

Para obter informações gerais do Windows sobre a compilação 17723, visite o Blog do Windows.

WSL

  • Evite um atraso de um segundo com falhas nas conexões de loopback para portas inexistentes [GH 3286]
  • Adicionar arquivo stub /proc/sys/fs/file-max [GH 2893]
  • Informações mais precisas sobre o escopo do IPV6.
  • Suporte PR_SET_PTRACER [GH 3053]
  • Sistema de arquivos de pipe limpando inadvertidamente o evento epoll acionado por borda [GH 3276]
  • Win32 executável lançado via link simbólico NTFS não respeita o nome do link simbólico [GH 2909]

Construído em 17713

Para obter informações gerais sobre o Windows na compilação 17713, visite o Blog do Windows.

WSL

  • Suporte melhorado a zumbis [GH 1353]
  • Adicionar entradas wsl.conf para controlar o comportamento de interoperabilidade do Windows [GH 1493]
      [interop]
    
      enabled=false # enable launch of Windows binaries; default is true
    
      appendWindowsPath=false # append Windows path to $PATH variable; default is true
    
  • Correção para getsockname nem sempre retornando o tipo de família de soquete UNIX [GH 1774]
  • Adicionar suporte para TIOCSTI [GH 1863]
  • Soquetes sem bloqueio no processo de conexão devem retornar EAGAIN para tentativas de gravação [GH 2846]
  • Suporte de interoperabilidade em VHDs montados [GH 3246, 3291]
  • Corrigir problema de verificação de permissão na pasta raiz [GH 3304]
  • Suporte limitado para teclado TTY ioctls KDGKBTYPE, KDGKBMODE e KDSKBMODE.
  • Os aplicativos da interface do usuário do Windows devem ser executados mesmo quando iniciados em segundo plano.

Compilação 17704

Para obter informações gerais sobre o Windows na compilação 17704, visite o Blog do Windows.

WSL

  • Adicionar wsl -u ou --user option [GH 1203]
  • Corrigir problemas de inicialização do WSL quando a inicialização rápida está ativada [GH 2576]
  • Soquetes Unix precisam reter credenciais de pares desconectados [GH 3183]
  • Soquetes Unix sem bloqueio falhando indefinidamente com EAGAIN [GH 3191]
  • case=off é o novo tipo padrão de montagem drvfs [GH 2937, 3212, 3328]
    • Veja o blog para mais informações.
  • Adicione wslconfig /terminate para parar de executar distribuições.

Construído em 17692

Para obter informações gerais sobre o Windows na compilação 17692, visite o Blog do Windows.

WSL

  • Corrija o problema com as entradas do menu de contexto do shell WSL que não manipulam corretamente caminhos com espaços.
  • Expor a diferenciação de maiúsculas e minúsculas por diretório como um atributo estendido
  • ARM64: Emular operações de manutenção de cache. Resolva a questão dotnet .
  • DrvFs: apenas caracteres não escapados na faixa privada que correspondem a um personagem escapado.

Construir 17686

Para obter informações gerais sobre o build 17686, visite o Blog do Windows.

WSL

  • Corrigir erro de um-a-mais na validação do comprimento do interpretador do parser ELF [GH 3154]
  • Temporizadores absolutos WSL com um tempo no passado não disparam [GH 3091]
  • Verifique se os pontos de redistribuição recém-criados estão listados como tal no diretório pai.
  • Crie diretórios que diferenciam maiúsculas de minúsculas atomicamente em DrvFs.

Construído em 17677

Para obter informações gerais sobre o Windows na compilação 17677, visite o Blog do Windows.

WSL

  • Corrigido um problema adicional em que operações multithreaded podiam retornar ENOENT mesmo que o arquivo exista. [GH 2712]
  • Corrigida a falha de inicialização do WSL quando o UMCI está habilitado. [GH 3020]

Construir 17666

Para informações gerais do Windows sobre a build 17666, visite o Windows Blog.

WSL

AVISO: Há um problema que impede que o WSL seja executado em alguns chipsets AMD [GH 3134]. Uma correção está pronta e chegando à ramificação do Insider Build.

  • Adicione o menu de contexto do explorador para iniciar o WSL [GH 437, 603, 1836]. Para usar, mantenha pressionada a tecla shift e clique com o botão direito do mouse quando estiver em uma janela do Explorer.
  • Corrigir o comportamento não bloqueante do soquete unix [GH 2822, 3100]
  • Resolva o problema de suspensão do comando NETLINK conforme relatado no GH 2026.
  • Adicione suporte para sinalizadores de propagação de montagem [GH 2911].
  • Corrigir problema com truncamento que não causa eventos inotify [GH 2978].
  • Adicionar opção --exec para wsl.exe executar um único binário sem um shell.
  • Adicionar a opção --distribution para selecionar uma distro específica para wsl.exe.

Build 17655 (Saltar para a frente)

Para obter informações gerais sobre a compilação 17655, visite o Blog do Windows.

WSL

  • Suporte limitado para dmesg. Os aplicativos agora podem fazer login no dmesg. O driver WSL registra informações limitadas ao dmesg. No futuro, isso pode ser estendido para transportar outras informações/diagnósticos do motorista.
    • Nota: o dmesg é atualmente suportado através da interface do dispositivo /dev/kmsg. syslog interface Sycall ainda não é suportada. E, portanto, algumas das dmesg opções de linha de comando, como -S, -C não funcionam.
  • Corrigido um problema em que operações multiencadeadas podiam retornar ENOENT mesmo que o ficheiro exista. [GH 2712]

Build 17639 (Saltar para a frente)

Para obter informações gerais sobre a compilação 17639, visite o Blog do Windows.

WSL

  • Alterar o gid e o modo padrão dos dispositivos seriais para corresponder aos nativos [GH 3042]
  • DrvFs agora suporta atributos estendidos.
    • Nota: O DrvFs tem algumas limitações quanto ao nome dos atributos estendidos. Em particular, alguns caracteres (como '/', ':' e '*') não são permitidos, e nomes de atributos estendidos não diferenciam maiúsculas de minúsculas em DrvFs

Build 17133 (Rápido)

Para obter informações gerais do Windows sobre a versão 17133, visite o Blog do Windows.

WSL

  • Correção para resolver o bloqueio no WSL. [GH 3039, 3034]

Build 17128 (Rápido)

Para obter informações gerais sobre o Windows na versão 17128, visite o Blog do Windows.

WSL

  • Nenhum

Build 17627 (Saltar para a frente)

Para obter informações gerais sobre a versão 17627, visite o Blog do Windows.

WSL

  • Adicione suporte para as operações futex pi-aware . [GH 1006]
    • Observe que as prioridades não são atualmente um recurso WSL suportado, portanto, há limitações, mas o uso padrão deve ser desbloqueado.
  • Suporte de firewall do Windows para processos WSL. [GH 1852]
    • Por exemplo, para permitir que o processo Python WSL ouça em qualquer porta, use a linha de comandos com privilégios elevados do Windows: netsh.exe advfirewall firewall add rule name=wsl_python dir=in action=allow program="C:\users\<username>\appdata\local\packages\canonicalgrouplimited.ubuntuonwindows_79rhkp1fndgsc\localstate\rootfs\usr\bin\python2.7" enable=yes
    • Para obter detalhes adicionais sobre como adicionar regras de firewall, consulte link
  • Respeite o shell padrão do usuário ao usar wsl.exe. [GH 2372]
  • Reporte todas as interfaces de rede como ethernet. [GH 2996]
  • Melhor manipulação de arquivo /etc/passwd corrompido. [GH 3001]

Consola

  • Sem correções.

Resultados LTP:

Testes em curso.

Build 17618 (Saltar para a frente)

Para obter informações gerais sobre o Windows build 17618, visite o Blog do Windows.

WSL

  • Introduza a funcionalidade de pseudoconsole para interoperabilidade NT [GH 988, 1366, 1433, 1542, 2370, 2406].
  • O mecanismo de instalação herdado (lxrun.exe) foi preterido. O mecanismo suportado para instalar distribuições é através da Microsoft Store.

Consola

  • Sem correções.

Resultados LTP:

Testes em curso.

Construir 17110

Para obter informações gerais sobre o Windows na compilação 17110, visite o Blog do Windows.

WSL

  • Permitir que /init seja encerrado a partir do Windows [GH 2928].
  • O DrvFs agora usa a diferenciação de maiúsculas e minúsculas por diretório por padrão (equivalente à opção de montagem "case=dir").
    • Usar "case=force" (o comportamento antigo) requer a configuração de uma chave do Registro. Execute o comando seguinte para ativar "case=force" caso precise usá-lo: reg add HKLM\SYSTEM\CurrentControlSet\Services\lxss /v DrvFsAllowForceCaseSensitivity /t REG_DWORD /d 1
    • Se você tiver diretórios existentes criados com WSL em versões mais antigas do Windows que precisam diferenciar maiúsculas de minúsculas, use fsutil.exe para marcá-los como diferenciadores de maiúsculas e minúsculas: fsutil.exe arquivo setcasesensitiveinfo <path> habilitar
  • NULL termina as strings retornadas pela chamada de sistema uname.

Consola

  • Sem correções.

Resultados LTP:

Testes em curso.

Construir 17107

Para obter informações gerais do Windows na compilação 17107, visite o Blog do Windows.

WSL

  • Suporte TCSETSF e TCSETSW em endpoints pty master [GH 2552].
  • Iniciar processos de interoperabilidade simultâneos pode resultar em EINVAL [GH 2813].
  • Corrija PTRACE_ATTACH para mostrar o status de rastreamento adequado em /proc/pid/status.
  • Corrija a corrida em que processos de curta duração clonados com os sinalizadores CLEARTID e SETTID poderiam sair sem limpar o endereço TID.
  • Exiba uma mensagem ao atualizar os diretórios do sistema de arquivos Linux ao mover de uma compilação anterior a 17093. Para obter mais detalhes sobre as alterações no sistema de arquivos 17093, consulte as notas de versão do 17093.

Consola

  • Sem correções.

Resultados LTP:

Testes em curso.

Construir 17101

Para obter informações gerais sobre o Windows na compilação 17101, visite o Blog do Windows.

WSL

  • Suporte para signalfd. [GH 129]
  • Suporta nomes de ficheiros que contenham caracteres NTFS ilegais codificando-os como caracteres Unicode privados. [GH 1514]
  • A montagem automática retornará para somente leitura quando a gravação não for suportada. [GH 2603]
  • Permitir a colagem de pares substitutos Unicode (como caracteres emoji). [GH 2765]
  • Pseudo-arquivos em /proc e /sys devem retornar leitura e escrita prontos em select, poll, epoll, et al.
  • Corrija um problema que poderia fazer com que o serviço entrasse em loop infinito quando o registro foi adulterado ou está corrompido.
  • Corrija mensagens de netlink para trabalhar com a versão mais recente (upstream 4.14) do iproute2.

Consola

  • Sem correções.

Resultados LTP:

Testes em curso.

Versão 17093

Para obter informações gerais do Windows sobre a compilação 17093, visite o Blog do Windows.

Importante:

Ao iniciar o WSL pela primeira vez após a atualização para esta compilação, ele precisa executar algum trabalho atualizando os diretórios do sistema de arquivos Linux. Isso pode levar até vários minutos, então a WSL pode parecer começar lentamente. Isso só deve acontecer uma vez para cada distribuição instalada na loja.

  • Aprimorou-se o suporte à sensibilidade a maiúsculas e minúsculas em DrvFs.
    • DrvFs suporta agora a distinção entre maiúsculas e minúsculas por diretório. Este é um novo sinalizador que pode ser definido em diretórios para indicar que todas as operações nesses diretórios devem ser tratadas como sensíveis a maiúsculas e minúsculas, o que permite que até mesmo aplicativos do Windows abram corretamente arquivos que diferem apenas por maiúsculas e minúsculas.
    • DrvFs tem novas opções de montagem de sistemas que controlam a sensibilidade a maiúsculas por diretório
      • case=force: todos os diretórios são tratados como sensíveis ao caso (exceto a raiz do disco). Novos diretórios criados com WSL são marcados como sensíveis a maiúsculas e minúsculas. Este é o comportamento herdado, exceto para configurar novos diretórios como sensíveis a maiúsculas e minúsculas.
      • case=dir: somente diretórios com o sinalizador de diferenciação de maiúsculas e minúsculas por diretório são tratados como diferenciadores de maiúsculas e minúsculas; outros diretórios não diferenciam maiúsculas de minúsculas. Novos diretórios criados com WSL são marcados como sensíveis a maiúsculas e minúsculas.
      • case=off: somente diretórios com o sinalizador de diferenciação de maiúsculas e minúsculas por diretório são tratados como diferenciadores de maiúsculas e minúsculas; outros diretórios não diferenciam maiúsculas de minúsculas. Novos diretórios criados com WSL são marcados como insensíveis a maiúsculas e minúsculas.
    • Nota: os diretórios criados pela WSL em versões anteriores não têm esta flag definida, portanto, não serão tratados como diferenciadores de maiúsculas e minúsculas se se usar a opção "case=dir". Uma maneira de definir essa bandeira nos diretórios existentes está chegando em breve.
    • Exemplo de montagem com estas opções (para unidades existentes, você deve primeiro desmontar antes de poder montar com diferentes opções): sudo mount -t drvfs C: /mnt/c -o case=dir
    • Por enquanto, case=force ainda é a opção padrão. Isso será alterado para case=dir no futuro.
  • Agora você pode usar barras para frente em caminhos do Windows ao montar DrvFs, por exemplo: sudo mount -t drvfs //server/share /mnt/share
  • A WSL agora processa o arquivo /etc/fstab durante o início da instância [GH 2636].
    • Isso é feito antes da montagem automática de unidades DrvFs; as unidades que já foram montadas pelo fstab não serão remontadas automaticamente, permitindo alterar-se o ponto de montagem para unidades específicas.
    • Esse comportamento pode ser desativado usando wsl.conf.
  • Os arquivos mount, mountinfo e mountstats em /proc escapam adequadamente de caracteres especiais, como barras invertidas e espaços [GH 2799]
  • Arquivos especiais criados com DrvFs, como links simbólicos WSL, ou fifos e soquetes quando os metadados estão ativados, agora podem ser copiados e movidos do Windows.

WSL é mais configurável com wsl.conf

Adicionamos um método para você configurar automaticamente determinadas funcionalidades no WSL que serão aplicadas sempre que você iniciar o subsistema. Isso inclui opções de montagem automática e configuração de rede. Saiba mais sobre isso em nosso post no blog em: https://aka.ms/wslconf

AF_UNIX permite conexões de soquete entre processos Linux no WSL e processos nativos do Windows

As aplicações WSL e Windows podem agora comunicar entre si através de sockets Unix. Imagine que você deseja executar um serviço no Windows e disponibilizá-lo para aplicativos Windows e WSL. Agora, isso é possível com soquetes Unix. Leia mais em nossa postagem no blog em https://aka.ms/afunixinterop

WSL

  • Suporte mmap() com MAP_NORESERVE [GH 121, 2784]
  • Suporte CLONE_PTRACE e CLONE_UNTRACED [GH 121, 2781]
  • Manipular sinal de terminação não-SIGCHLD no clone [GH 121, 2781]
  • Substituir /proc/sys/fs/inotify/max_user_instances e /proc/sys/fs/inotify/max_user_watches [GH 1705]
  • Erro ao carregar binários ELF que têm cabeçalhos de carga com deslocamentos não nulos [GH 1884]
  • Zere os bytes sobrantes de página ao carregar imagens.
  • Reduza as situações em que o execve encerra o processo sem aviso

Consola

  • Sem correções.

Resultados LTP:

Testes em curso.

Construir 17083

Para obter informações gerais do Windows sobre a compilação 17083, visite o Windows Blog.

WSL

  • Corrigido bugcheck relacionado a epoll [GH 2798, 2801, 2857]
  • Fixo trava ao desligar ASLR [GH 1185, 2870]
  • Garantir que as operações mmap apareçam atômicas [GH 2732]

Consola

  • Sem correções.

Resultados LTP:

Testes em curso.

Compilação 17074

Para obter informações gerais do Windows na compilação 17074, visite o Blog do Windows.

WSL

  • Formato de armazenamento fixo de metadados DrvFs [GH 2777]
    Importante: metadados DrvFs criados antes desta compilação aparecerão incorretamente ou não aparecerão de todo. Para corrigir arquivos afetados, use chmod e chown para reaplicar os metadados.
  • Corrigido o problema com vários sinais enviados e syscalls reinicializáveis.

Consola

  • Sem correções.

Resultados LTP:

Testes em curso.

Versão 17063

Para obter informações gerais sobre o Windows na compilação 17063, visite o Blog do Windows.

WSL

  • DrvFs suporta metadados Linux adicionais. Isso permite definir o proprietário e modo de arquivos usando chmod / chown, e também a criação de arquivos especiais, como fifos, soquetes unix e arquivos de dispositivo. Isso está desativado por padrão por enquanto, uma vez que ainda é experimental. Nota: Corrigimos um bug no formato de metadados usado pelo DrvFs. Embora os metadados funcionem nessa compilação para experimentação, as compilações futuras não lerão corretamente os metadados criados por essa compilação. Talvez seja necessário atualizar manualmente o proprietário para arquivos modificados e dispositivos com um ID de dispositivo personalizado terão que ser recriados.

    Para ativar, monte o DrvFs com a opção de metadados (para ativá-lo numa montagem existente, deve primeiro desmontá-la):

    mount -t drvfs C: /mnt/c -o metadata
    

    As permissões do Linux são adicionadas como metadados adicionais ao arquivo; eles não afetam as permissões do Windows. Lembre-se, editar um arquivo usando um editor do Windows pode remover os metadados. Nesse caso, o arquivo será revertido para suas permissões padrão.

  • Adicionadas opções de montagem ao DrvFs para controlar arquivos sem metadados.

    • uid: o ID de usuário usado para o proprietário de todos os arquivos.
    • gid: o ID de grupo usado para o proprietário de todos os arquivos.
    • umask: uma máscara octal de permissões a serem excluídas para todos os arquivos e diretórios.
    • fmask: uma máscara octal de permissões a serem excluídas para todos os arquivos regulares.
    • dmask: uma máscara octal de permissões a serem excluídas para todos os diretórios.

    Por exemplo:

    mount -t drvfs C: /mnt/c -o uid=1000,gid=1000,umask=22,fmask=111
    

    Combine com a opção de metadados para especificar permissões padrão para arquivos sem metadados.

  • Introduziu uma nova variável de ambiente, WSLENV, para configurar como as variáveis de ambiente fluem entre WSL e Win32.

    Por exemplo:

    WSLENV=GOPATH/l:USERPROFILE/pu:DISPLAY
    

    WSLENV é uma lista de variáveis de ambiente delimitadas por dois pontos que podem ser incluídas ao iniciar processos WSL a partir do Win32 ou processos Win32 a partir do WSL. Cada variável pode ser sufixada com uma barra seguida de sinalizadores para especificar como ela é traduzida.

    • p: O valor é um caminho que deve ser traduzido entre caminhos WSL e caminhos Win32.
    • l: O valor é uma lista de caminhos. No WSL, é uma lista delimitada por dois pontos. No Win32, é uma lista delimitada por ponto-e-vírgula.
    • u: O valor só deve ser incluído ao invocar WSL do Win32
    • w: O valor só deve ser incluído ao invocar Win32 da WSL

    Você pode definir WSLENV em .bashrc ou no ambiente personalizado do Windows para seu usuário.

  • drvfs monta corretamente e preserva carimbos temporais de tar, cp -p (GH 1939)

  • Os "drvfs symlinks" reportam o tamanho correto (GH 2641)

  • leitura/gravação funciona para tamanhos de E/S muito grandes (GH 2653)

  • waitpid funciona com IDs de grupo de processo (GH 2534)

  • Melhorou significativamente o desempenho do MMAP para grandes regiões de reserva; melhora o desempenho ghc (GH 1671)

  • suporte de perfil para READ_IMPLIES_EXEC; corrige maxima e clisp (GH 1185)

  • mprotect suporta PROT_GROWSDOWN; correções clisp (GH 1128)

  • correções de falhas de página no modo de sobrecarga; corrige o sbcl (GH 1128)

  • clone suporta mais combinações de sinalizadores

  • Suporte para select/epoll de ficheiros epoll (anteriormente denominado no-op).

  • Notifique o ptrace das chamadas do sistema não implementadas.

  • Ignorar interfaces inativas ao gerar nameservers em resolv.conf [GH 2694]

  • Enumerar interfaces de rede sem endereço físico. [GH 2685]

  • Correções de bugs e melhorias adicionais.

Ferramentas Linux disponíveis para desenvolvedores no Windows

  • A cadeia de ferramentas de linha de comando do Windows inclui bsdtar (tar) e curl. Leia este blog para saber mais sobre a adição dessas duas novas ferramentas e ver como elas estão moldando a experiência do desenvolvedor no Windows.

  • AF_UNIX está disponível no SDK do Windows Insider (17061+). Leia este blog para saber mais sobre AF_UNIX e como os programadores no Windows podem usá-lo.

Consola

  • Sem correções.

Resultados LTP:

Testes em curso.

Versão 17046

Para informações gerais sobre o Windows na compilação 17046, visite o Blog do Windows.

Fixo

WSL

  • Permita que os processos sejam executados sem um terminal ativo. [GH 709, 1007, 1511, 2252, 2391, et al.]
  • Melhor apoio à CLONE_VFORK e CLONE_VM. [GH 1878, 2615]
  • Ignore os drivers de filtro TDI para operações de rede WSL. [GH 1554]
  • DrvFs cria links simbólicos NT quando certas condições são atendidas. [GH 353, 1475, 2602]
    • O destino do link deve ser relativo, não deve cruzar nenhum ponto de montagem ou links simbólicos e deve existir.
    • O usuário deve ter SE_CREATE_SYMBOLIC_LINK_PRIVILEGE (isso normalmente requer que você inicie wsl.exe elevado), a menos que o Modo de Desenvolvedor esteja ativado.
    • Em todas as outras situações, o DrvFs ainda cria symlinks WSL.
  • Permite a execução simultânea de instâncias WSL elevadas e não elevadas.
  • Suporte /proc/sys/kernel/yama/ptrace_scope
  • Adicionar wslpath para realizar conversões de caminho do Windows em WSL<->. [GH 522, 1243, 1834, 2327, et al.]
      wslpath usage:
        -a    force result to absolute path format
        -u    translate from a Windows path to a WSL path (default)
        -w    translate from a WSL path to a Windows path
        -m    translate from a WSL path to a Windows path, with '/' instead of '\\'
    
        EX: wslpath 'c:\users'
    

    Consola

  • Sem correções.

Resultados LTP:

Testes em curso.

Versão 17040

Para obter informações gerais sobre o Windows na compilação 17040, visite o Blog do Windows.

Fixo

WSL

  • Sem correções desde 17035.

Consola

  • Sem correções desde 17035.

Resultados LTP:

Testes em curso.

Construir 17035

Para obter informações gerais do Windows na compilação 17035, visite o Blog do Windows.

Fixo

WSL

  • O acesso a arquivos em DrvFs pode ocasionalmente falhar com o EINVAL. [GH 2448]

Consola

  • Alguma perda de cor ao inserir/excluir linhas no modo VT.

Resultados LTP:

Testes em curso.

Versão 17025

Para obter informações gerais sobre o Windows e a versão 17025, visite o Blog do Windows.

Fixo

WSL

  • Inicie os processos iniciais em um novo grupo de processos em primeiro plano [GH 1653, 2510].
  • Correções de entrega SIGHUP [GH 2496].
  • Gere o nome da ponte virtual padrão se nenhum for fornecido [GH 2497].
  • Implementar /proc/sys/kernel/random/boot_id [GH 2518].
  • Mais correções de canais stdout/stderr de interoperabilidade.
  • Chamada do sistema stub syncfs.

Consola

  • Corrigir tradução VT de entrada para consoles de terceiros [GH 111]

Resultados LTP:

Testes em curso.

Compilação 17017

Para obter informações gerais do Windows sobre a compilação 17017, visite o Blog do Windows.

Fixo

WSL

  • Ignore cabeçalhos de programa ELF vazios [GH 330].
  • Permitir que o LxssManager crie instâncias WSL para usuários não interativos (suporte a tarefas agendadas e ssh) [GH 777, 1602].
  • Suporta cenários de WSL->Win32->WSL ("inception") [GH 1228].
  • Suporte limitado à terminação de aplicações de consola invocadas através de interoperabilidade [GH 1614].
  • Opções de montagem de suporte para devpts [GH 1948].
  • Ptrace bloqueando a inicialização da criança [GH 2333].
  • EPOLLET não está presente em alguns eventos [GH 2462].
  • Retornar mais dados para PTRACE_GETSIGINFO.
  • Getdents com lseek dá resultados incorretos.
  • Corrija alguns travamentos do aplicativo de interoperabilidade Win32, aguardando entrada em um pipe que não tem mais dados.
  • Suporte para O_ASYNC em ficheiros tty/pty.
  • Melhorias adicionais e correções de bugs

Consola

  • Nenhuma alteração relacionada ao Console nesta versão.

Resultados LTP:

Testes em curso.

Atualização para criadores de outono

Versão 16288

Para obter informações gerais do Windows sobre a compilação 16288, visite o Blog do Windows.

Fixo

WSL

  • Inicializar e relatar corretamente uid, gid e mode para descritores de arquivo de soquete [GH 2490]
  • Melhorias adicionais e correções de bugs

Consola

  • Nenhuma alteração relacionada ao Console nesta versão.

Resultados LTP:

Sem alterações desde 16273

Versão 16278

Para obter informações gerais do Windows na compilação 162738, visite o Blog do Windows.

Fixo

WSL

  • Desmapear explicitamente as visualizações mapeadas de seções com suporte de arquivo ao derrubar o estado LX MM [GH 2415]
  • Melhorias adicionais e correções de bugs

Consola

  • Nenhuma alteração relacionada ao Console nesta versão.

Resultados LTP:

Sem alterações desde 16273

Versão 16275

Para obter informações gerais sobre a compilação 162735 do Windows, visite o Blog do Windows.

Fixo

WSL

  • Nenhuma alteração relacionada à WSL nesta versão.

Consola

  • Nenhuma alteração relacionada ao Console nesta versão.

Resultados LTP:

Sem alterações desde 16273

Versão 16273

Para obter informações gerais sobre o Windows build 16273, visite o Blog do Windows.

Fixo

WSL

  • Corrigido um problema em que DrvFs às vezes relatava o tipo de arquivo errado para diretórios [GH 2392]
  • Permitir a criação de soquetes NETLINK_KOBJECT_UEVENT para desbloquear programas que usam uevent [GH 1121, 2293, 2242, 2295, 2235, 648, 637]
  • Adicionar suporte para conexão sem bloqueio [GH 903, 1391, 1584, 1585, 1829, 2290, 2314]
  • Implementar o sinalizador CLONE_FS na chamada do sistema de clone [GH 2242]
  • Corrigir problemas relacionados com o não tratamento correto de tabulações ou aspas na interoperabilidade NT [GH 1625, 2164]
  • Resolver erro de acesso negado ao tentar reiniciar instâncias WSL [GH 651, 2095]
  • Implementar as operações FUTEX_REQUEUE e FUTEX_CMP_REQUEUE para futex [GH 2242]
  • Corrigir permissões para vários arquivos SysFs [GH 2214]
  • Corrigir bloqueio do Haskell stack durante a configuração [GH 2290]
  • Implementar binfmt_misc sinalizadores 'C', 'O' e 'P' [GH 2103]
  • Adicionar /proc/sys/kernel /shmmax /shmmni & /threads-max [GH 1753]
  • Adicionar suporte parcial para a chamada de sistema ioprio_set [GH 498]
  • Stub SO_REUSEPORT & adicionando suporte a SO_PASSCRED para soquetes netlink [GH 69]
  • Retorne códigos de erro diferentes de RegisterDistribution se uma distribuição estiver sendo instalada ou desinstalada no momento.
  • Permitir o cancelamento do registro de distribuições WSL parcialmente instaladas via wslconfig.exe
  • Corrigir suspensão do teste de socket Python devido a udp::msg_peek
  • Melhorias adicionais e correções de bugs

Consola

  • Nenhuma alteração relacionada ao Console nesta versão.

Resultados LTP:

Total de testes: 1904
Foram ignorados um total de 209 testes
Total de falhas: 229

Compilação 16257

Para obter informações gerais sobre a compilação 16257, visite o Blog do Windows.

Fixo

WSL

  • Implementar chamada de sistema prlimit64
  • Adicionar suporte para ulimit -n (setrlimit RLIMIT_NOFILE) [GH 1688]
  • Preparar MSG_MORE para soquetes TCP [GH 2351]
  • Corrigir comportamento vetorial auxiliar AT_EXECFN inválido [GH 2133]
  • Corrija o comportamento de copiar/colar para console/tty e adicione melhor manipulação de buffer completo [GH 2204, 2131]
  • Definir AT_SECURE em vetor auxiliar para programas set-user-ID e set-group-ID [GH 2031]
  • Ponto final mestre pseudo-terminal que não manipula TIOCPGRP [GH 1063]
  • Corrigir lseek para retroceder diretórios em LxFs [GH 2310]
  • /dev/ptmx trava após uso pesado [GH 1882]
  • Melhorias adicionais e correções de bugs

Consola

Resultados LTP:

Nenhuma alteração desde 16251

Suporte Syscall

Abaixo está uma lista de syscalls novos ou aprimorados que têm alguma implementação no WSL. Os syscalls nesta lista são suportados em pelo menos um cenário, mas podem não ter todos os parâmetros suportados neste momento.

prlimit64

Problemas conhecidos

GitHub Problema 2392: Pastas do Windows não reconhecidas pelo WSL ...

Na compilação 16257, a WSL tem problemas ao enumerar arquivos/pastas do Windows via /mnt/c/.... Esse problema foi corrigido e deve ser lançado na versão Insiders na semana de 14/08/2017.


Versão 16251

Para obter informações gerais sobre a compilação 16251 do Windows, visite o Blog do Windows.

Fixo

WSL

  • Remova a tag beta do componente opcional do WSL; veja a postagem no blog para obter detalhes.
  • Inicializar corretamente conjunto salvo de uid e gid para binários com ID de usuário definido e ID de grupo definido no processo de execução [GH 962, 1415, 2072]
  • Adicionado suporte para ptrace PTRACE_O_TRACEEXIT [GH 555]
  • Adicionado suporte para ptrace PTRACE_GETFPREGS e PTRACE_GETREGSET com NT_FPREGSET [GH 555]
  • Corrigido o ptrace para parar em sinais ignorados
  • Melhorias adicionais e correções de bugs

Consola

  • Nenhuma alteração relacionada ao Console nesta versão.

Resultados LTP:

Número de testes aprovados: 768
Número de testes reprovados: 244
Número de testes ignorados: 96


Construir 16241

Para obter informações gerais do Windows sobre a compilação 16241, visite o Blog do Windows.

Fixo

WSL

  • Nenhuma alteração relacionada à WSL nesta versão.

Consola

  • Correção para a saída do caractere errado para o DEC de linhas de cruzamento, relatado originalmente aqui
  • Correção para não exibir texto de saída na codepage 65001 (utf8)
  • Não transfira as alterações feitas nos valores RGB de uma cor para outras partes da paleta durante a alteração da seleção. Isso tornará a folha de propriedades do console muito mais fácil de usar.
  • Ctrl+S não parece funcionar corretamente
  • Un-Bold/-Dim completamente ausente dos códigos de escape ANSI [GH 2174]
  • O console não suporta corretamente temas de cores do Vim [GH 1706]
  • Não é possível colar caracteres específicos [GH 2149]
  • Redimensionamento de fluxo interage de forma estranha com o redimensionamento de uma janela bash quando o conteúdo está na linha de edição/comando [GH ConEmu 1123]
  • Ctrl-L deixa a tela suja [GH 1978]
  • Bug de renderização do console ao exibir VT em HDPI [GH 1907]
  • Caracteres japoneses parecem estranhos com o caractere Unicode U+30FB [GH 2146]
  • Melhorias adicionais e correções de bugs

Versão 16237

Para obter informações gerais sobre o build 16237, visite o Blog do Windows.

Fixo

  • Use atributos padrão para ficheiros sem EAs em lxfs (root, root, 0000)
  • Adicionado suporte para distribuições que usam atributos estendidos
  • Corrigir espaçamento para entradas retornadas por getdents e getdents64
  • Corrigir a verificação de permissões para a chamada de sistema shmctl SHM_STAT [GH 2068]
  • Corrigido o estado de epoll inicial incorreto para ttys [GH 2231]
  • Corrigir o readdir do DrvFs para que retorne todas as entradas [GH 2077]
  • Corrigir readdir LxFs quando os arquivos estão desvinculados [GH 2077]
  • Permitir que arquivos drvfs desvinculados sejam reabertos por meio de procfs
  • Adicionada a substituição da chave de registo global para desativar funcionalidades do WSL (interoperabilidade / montagem de unidades)
  • Corrigir contagem de blocos incorreta em "stat" para DrvFs (e LxFs) [GH 1894]
  • Melhorias adicionais e correções de bugs

Construir 16232

Para obter informações gerais sobre o Windows na compilação 16232, visite o Blog do Windows.

Fixo

  • Nenhuma alteração relacionada à WSL nesta versão.

Versão 16226

Para obter informações gerais sobre o Windows na compilação 16226, visite o Blog do Windows.

Fixo

  • Suporte a syscalls relacionados a XATTR (GetXattr, SetXattr, ListXattr, RemoveXattr).
  • suporte de security.capability xattr.
  • Compatibilidade melhorada com determinados sistemas de ficheiros e filtros, incluindo servidores SMB não MS. [GH #1952]
  • Suporte melhorado para marcadores de posição do OneDrive, marcadores de posição GVFS e ficheiros comprimidos do SO compacto.
  • Melhorias adicionais e correções de bugs

Construir 16215

Para obter informações gerais sobre o Windows na compilação 16215, visite o Blog do Windows.

Fixo

  • O WSL não requer mais o modo de desenvolvedor.
  • Suporte a junções de diretório em drvfs.
  • Gerir a desinstalação de pacotes de distribuição Appx WSL.
  • Atualize procfs para mostrar mapeamentos privados e compartilhados.
  • Adicione a capacidade de wslconfig.exe limpar distribuições que estão parcialmente instaladas ou desinstaladas.
  • Adicionado suporte para IP_MTU_DISCOVER para soquetes TCP. [GH 1639, 2115, 2205]
  • Família de protocolos de inferência para rotas para AF_INADDR.
  • Melhorias no dispositivo serial [GH 1929].

Versão 16199

Para obter informações gerais sobre o Windows na compilação 16199, visite o Blog do Windows.

Fixo

  • Nenhuma alteração relacionada à WSL nessas versões.

Construir 16193

Para obter informações gerais sobre o Windows na compilação 16193, visite o Blog do Windows.

Fixo

  • Condição de corrida entre o envio do SIGCONT e a terminação de um grupo de threads [GH 1973]
  • alterar dispositivos tty e pty para reportar FILE_DEVICE_NAMED_PIPE em vez de FILE_DEVICE_CONSOLE [GH 1840]
  • Correção SSH para IP_OPTIONS
  • Montagem de DrvFs movida para o daemon init [GH 1862, 1968, 1767, 1933]
  • Foi adicionado suporte em DrvFs para seguir links simbólicos NT.

Versão 16184

Para obter informações gerais sobre o Windows na compilação 16184, visite o Blog do Windows.

Fixo

  • Removida a tarefa de manutenção do pacote apt (lxrun.exe /update)
  • Resultado fixo não aparece nos processos do Windows no node.js [GH 1840]
  • Relaxe os requisitos de alinhamento no lxcore [GH 1794]
  • Correção no tratamento do sinalizador AT_EMPTY_PATH em várias chamadas do sistema.
  • Corrigido o problema em que excluir arquivos DrvFs com identificadores abertos fará com que o arquivo exiba um comportamento indefinido [GH 544,966,1357,1535,1615]
  • /etc/hosts agora herdará entradas do arquivo de hosts do Windows (%windir%\system32\drivers\etc\hosts) [GH 1495]

Versão 16179

Para obter informações gerais sobre a compilação 16179 do Windows, visite o Blog do Windows.

Fixo

  • Nenhuma mudança na WSL nesta semana.

Construir 16176

Para obter informações gerais sobre o Windows na compilação 16176, visite o Blog do Windows.

Fixo

  • Suporte serial habilitado
  • Adicionada a opção de soquete IP IP_OPTIONS [GH 1116]
  • Implementada função pwritev (durante o carregamento do ficheiro para nginx/PHP-FPM) [GH 1506]
  • As opções de soquete IP IP_MULTICAST_IF & IPV6_MULTICAST_IF foram adicionadas [GH 990]
  • Suporte para opção de soquete IP_MULTICAST_LOOP & IPV6_MULTICAST_LOOP [GH 1678]
  • Adicionada opção de soquete IP(V6)_MTU para nós de aplicativos, traceroute, dig, nslookup, host
  • Adicionada opção de soquete IP IPV6_UNICAST_HOPS
  • Melhorias no sistema de arquivos
    • Permitir a montagem de caminhos UNC
    • Ativar suporte a CDFS no drvfs
    • Manipular corretamente as permissões para sistemas de arquivos de rede no drvfs
    • Adicionar suporte para unidades remotas ao drvfs
    • Habilitar suporte a FAT em drvfs
  • Correções e melhorias adicionais

Resultados LTP

Sem alterações desde 15042


Compilação 16170

Para obter informações gerais do Windows sobre a compilação 16170, visite o Blog do Windows.

Lançamos uma nova postagem no blog discutindo nossos esforços para testar a WSL.

Fixo

  • Suporte para a opção de soquete IP_ADD_MEMBERSHIP & IPV6_ADD_MEMBERSHIP [GH 1678]
  • Adicione suporte para PTRACE_OLDSETOPTIONS. [GH 1692]
  • Correções e melhorias adicionais

Resultados LTP

Sem alterações desde 15042


Build 15046 para Windows 10 Creators Update

Não há mais correções do WSL ou funcionalidades planeadas para serem incluídas na Atualização dos Criadores do Windows 10. As publicações das notas de lançamento do WSL serão retomadas nas próximas semanas, visando adições para a próxima grande Atualização do Windows. Para obter informações gerais sobre a compilação 15046 e versões futuras do Insider, visite o Blog do Windows.


Construir 15042

Para obter informações gerais do Windows sobre a compilação 15042, visite o Blog do Windows.

Fixo

  • Correção para um impasse ao remover um caminho que termina em ".."
  • Corrigido um problema em que FIONBIO não retorna 0 com sucesso [GH 1683]
  • Corrigido o problema com leituras de comprimento zero de soquetes de datagrama inet
  • Corrigir possível impasse devido à condição de corrida na pesquisa de inode drvfs [GH 1675]
  • Suporte estendido para dados auxiliares de soquete unix; SCM_CREDENTIALS e SCM_RIGHTS [GH 514, 613, 1326]
  • Correções e melhorias adicionais

Resultados LTP:

Número de Testes Aprovados: 737
Número de Testes não Aprovados (reprovados, ignorados, etc.): 255


Versão 15031

Para obter informações gerais sobre o Windows na compilação 15031, visite o Blog do Windows.

Fixo

  • Corrigido um bug em que o tempo(2) se comportava esporadicamente mal.
  • Corrigido um problema em que as *SIGPROCMASK syscalls poderiam corromper a máscara de sinal.
  • Agora retorne o comprimento total da linha de comando na notificação de criação do processo WSL. [GH 1632]
  • O WSL agora relata a saída de thread através do ptrace para travamentos GDB. [GH 1196]
  • Corrigido bug onde ptys travava após pesado tmux IO. [GH 1358]
  • Validação de tempo limite fixo em muitas chamadas do sistema (futex, semtimedop, ppoll, sigtimedwait, itimer, timer_create)
  • Adicionado suporte para eventfd EFD_SEMAPHORE [GH 452]
  • Correções e melhorias adicionais

Resultados LTP:

Número de Testes Aprovados: 737
Número de Testes Não Aprovados (reprovados, ignorados, etc...): 255


Versão 15025

Para obter informações gerais sobre a compilação 15025, visite o Blog do Windows.

Fixo

  • Correção para bug que causou falha no grep 2.27 [GH 1578]
  • Implementado EFD_SEMAPHORE sinalizador para eventfd2 syscall [GH 452]
  • Implementado /proc/[pid]/net/ipv6_route [GH 1608]
  • Suporte IO acionado por sinal para soquetes de fluxo unix [GH 393, 68]
  • Suporte F_GETPIPE_SZ e F_SETPIPE_SZ [GH 1012]
  • Implementar recvmmsg() syscall [GH 1531]
  • Corrigido bug onde epoll_wait() não estava esperando [GH 1609]
  • Implementar /proc/version_signature
  • Tee syscall agora retorna falha se ambos os descritores de arquivo se referem ao mesmo pipe
  • Implementado o comportamento correto para SO_PEERCRED para soquetes Unix
  • Correção na manipulação de parâmetros inválidos no syscall tkill
  • Alterações para aumentar o desempenho dos drvfs
  • Pequena correção para bloqueio de I/O em Ruby
  • Corrigido o retorno de recvmsg() para EINVAL ao usar o sinalizador MSG_DONTWAIT para soquetes inet [GH 1296]
  • Correções e melhorias adicionais

Resultados LTP:

Número de Testes Aprovados: 732
Número de Testes não Aprovados (reprovados, ignorados, etc...): 255


Construir 15019

Para obter informações gerais sobre o Windows e o build 15019, visite o Blog do Windows.

Fixo

  • Corrigido bug que relatava incorretamente o uso da CPU em procfs para ferramentas como htop (GH 823, 945, 971)
  • Ao chamar open() com O_TRUNC em um arquivo existente, o inotify agora gera IN_MODIFY antes de IN_OPEN
  • Correções ao Unix Socket getsockopt SO_ERROR para habilitar o Postgres [GH 61, 1354]
  • Implementar /proc/sys/net/core/somaxconn para a linguagem GO
  • A tarefa em segundo plano de atualização do pacote apt-get agora é executada sem ser visível
  • Escopo claro para localhost IPv6 (falha no Spring Framework em Java).
  • Correções e melhorias adicionais

Resultados LTP:

Número de Testes Aprovados: 714
Número de Testes não Aprovados (reprovados, ignorados, etc...): 249


Construir 15014

Para obter informações gerais sobre o Windows na compilação 15014, visite o blog do Windows.

Fixo

  • Ctrl+C agora funciona como pretendido
  • htop e ps auxw agora mostram a utilização correta de recursos (GH #516)
  • Tradução básica de exceções NT para sinais. (GH #513)
  • fallocate agora falha com ENOSPC quando se fica sem espaço em vez de EINVAL (GH #1571)
  • Adicionado /proc/sys/kernel/sem.
  • Foram realizadas as invocações de sistema semop e semtimedop
  • Corrigidos os erros de nslookup com a opção de soquete IP_RECVTOS & IPV6_RECVTCLASS (GH 69)
  • Suporte para opções de soquete IP_RECVTTL e IPV6_RECVHOPLIMIT
  • Correções e melhorias adicionais

Resultados LTP:

Número de Testes Aprovados: 709
Número de Testes Não Aprovados (falhados, ignorados, etc...): 255

Resumo do Syscall

Total de Syscalls: 384
Total Implementado: 235
Total Stubbed: 22
Total não implementado: 127


Construir 15007

Para obter informações gerais sobre o Windows na compilação 15007, visite o Blog do Windows.

Problema conhecido

  • Há um bug conhecido onde o console não reconhece alguma entrada Ctrl + <key>. Isso inclui o comando ctrl-c que atuará como um pressionamento de tecla 'c' normal.

    • Solução alternativa: mapeie uma tecla alternativa para Ctrl+C. Por exemplo, para mapear Ctrl+K para Ctrl+C faça: stty intr \^k. Este mapeamento é para cada terminal e terá de ser feito cada vez que o bash for iniciado. Os usuários podem explorar a opção de incluir isso em seus .bashrc

Fixo

  • Corrigido o problema em que a execução do WSL consumia 100% de um núcleo da CPU
  • A opção de soquete IP_PKTINFO e IPV6_RECVPKTINFO agora são suportadas. (GH #851, 987)
  • Truncar o endereço físico da interface de rede para 16 bytes no lxcore (GH #1452, 1414, 1343, 468, 308)
  • Correções e melhorias adicionais

Resultados LTP:

Número de Testes Aprovados: 709
Número de Testes Não Aprovados (falhados, ignorados, etc...): 255


Construir 15002

Para obter informações gerais sobre o build 15002, visite o Blog do Windows.

Problema conhecido

Dois problemas conhecidos:

  • Há um bug conhecido onde o console não reconhece alguma entrada Ctrl + <key>. Isso inclui o comando ctrl-c que atuará como um pressionamento de tecla 'c' normal.

    • Solução alternativa: mapeie uma tecla alternativa para Ctrl+C. Por exemplo, para mapear Ctrl+K para Ctrl+C faça: stty intr \^k. Este mapeamento é para cada terminal e terá de ser feito cada vez que o bash for iniciado. Os usuários podem explorar a opção de incluir isso em seus .bashrc
  • Enquanto o WSL estiver a executar, um encadeamento do sistema consumirá 100% de um núcleo de CPU. A causa raiz foi abordada e corrigida internamente.

Fixo

  • Todas as sessões bash agora devem ser criadas no mesmo nível de permissão. A tentativa de iniciar uma sessão em um nível diferente será bloqueada. Isso significa que consoles de administração e não administradores não podem ser executados ao mesmo tempo. (GH #626)
  • Implementadas as seguintes mensagens NETLINK_ROUTE (requer admin do Windows)
    • RTM_NEWADDR (suporta ip addr add)
    • RTM_NEWROUTE (suporta ip route add)
    • RTM_DELADDR (suporta ip addr del)
    • RTM_DELROUTE (suporta ip route del)
  • A verificação de tarefas agendadas para pacotes a serem atualizados deixará de ser executada numa ligação tarifada (GH #1371)
  • Corrigido erro onde a tubulação fica presa, ou seja, bash -c "ls -alR /" | bash -c "cat" (GH #1214)
  • Foi implementada a opção de soquete TCP_KEEPCNT (GH #843)
  • Implementada a opção de socket IP_MTU_DISCOVER INET (GH #720, 717, 170, 69)
  • Funcionalidade herdada removida para executar binários NT a partir do init com pesquisa de caminho NT. (GH #1325)
  • Corrigir o modo do /dev/kmsg para permitir acesso de leitura ao grupo/outro (0644) (GH #1321)
  • Implementado /proc/sys/kernel/random/uuid (GH #1092)
  • Erro corrigido onde a hora de início do processo estava sendo exibida como ano 2432 (GH #974)
  • A variável de ambiente TERM padrão foi comutada para xterm-256color (GH #1446)
  • Modificada a maneira como o commit do processo é calculado durante o fork do processo. (GH #1286)
  • Implementado /proc/sys/vm/overcommit_memory. (GH #1286)
  • Implementado ficheiro /proc/net/route (GH #69)
  • Corrigido erro onde o nome do atalho foi localizado incorretamente (GH #696)
  • A lógica de análise elf fixa que está validando incorretamente os cabeçalhos do programa deve ser menor que (ou igual a) PATH_MAX. (GH #1048)
  • Callback statfs implementado para procfs, sysfs, cgroupfs e binfmtfs (GH #1378)
  • Corrigido as janelas do AptPackageIndexUpdate que não fecham (GH #1184, também discutido em GH #1193)
  • Adicionado suporte para a personalidade ASLR ADDR_NO_RANDOMIZE. (GH #1148, 1128)
  • PTRACE_GETSIGINFO melhorado, SIGSEGV, para rastreamentos de pilha gdb adequados durante o AV (GH #875)
  • A análise Elf não falha mais para binários patchelf. (GH #471)
  • DNS VPN propagado para /etc/resolv.conf (GH #416, 1350)
  • Melhorias no encerramento do TCP para uma transferência de dados mais confiável. (GH #610, 616, 1025, 1335)
  • Agora retorne o código de erro correto quando muitos arquivos forem abertos (EMFILE). (GH #1126, 2090)
  • O log de auditoria do Windows agora relata o nome da imagem na auditoria de criação de processos.
  • Agora falha graciosamente ao lançar bash.exe de dentro de uma janela bash
  • Adicionada uma mensagem de erro quando a interoperabilidade não consegue aceder a um diretório de trabalho sob LxFs (ou seja, notepad.exe .bashrc)
  • Corrigido o problema em que o caminho do Windows era truncado no WSL
  • Correções e melhorias adicionais

Resultados LTP:

Número de passagens no teste: 690
Número de reprovações (falhados, ignorados, etc.): 274


Suporte Syscall

Abaixo está uma lista de syscalls novos ou aprimorados que têm alguma implementação no WSL. Os syscalls nesta lista são suportados em pelo menos um cenário, mas podem não ter todos os parâmetros suportados neste momento.

shmctl
shmget
shmdt
shmat

Versão 14986

Para obter informações gerais sobre o Windows na compilação 14986, visite o Windows Blog.

Fixo

  • Corrigidas verificações de bugs com Netlink e Pty IOCTLs
  • A versão do kernel agora relata 4.4.0-43 para consistência com o Xenial
  • Bash.exe agora é iniciado quando a entrada é direcionada para 'nulo:' (GH #1259)
  • IDs de threads são agora relatados corretamente em procfs (GH #967)
  • IN_UNMOUNT | IN_Q_OVERFLOW | IN_IGNORED | IN_ISDIR sinalizadores agora suportados em inotify_add_watch() (GH #1280)
  • Implementar timer_create e chamadas de sistema relacionadas. Isso permite o suporte GHC (GH #307)
  • Corrigido o problema em que o ping retornava um tempo de 0.000ms (GH #1296)
  • Retornar o código de erro correto quando se abrem demasiados ficheiros.
  • Corrigido o problema no WSL em que a solicitação Netlink para dados da interface de rede falharia com EINVAL se o endereço de hardware da interface fosse de 32 bytes (como a interface Teredo).
    • Observe que o utilitário "ip" do Linux contém um bug onde ele falhará se o WSL relatar um endereço de hardware de 32 bytes. Este é um bug em "ip", não WSL. O utilitário "ip" codifica o comprimento do buffer de cadeia de caracteres usado para imprimir o endereço de hardware, e esse buffer é muito pequeno para imprimir um endereço de hardware de 32 bytes.
  • Correções e melhorias adicionais

Resultados LTP:

Número de Testes Aprovados: 669
Número de Testes Não Aprovados (reprovados, ignorados, etc...): 258


Suporte Syscall

Abaixo está uma lista de syscalls novos ou aprimorados que têm alguma implementação no WSL. Os syscalls nesta lista são suportados em pelo menos um cenário, mas podem não ter todos os parâmetros suportados neste momento.

timer_create
timer_delete
timer_gettime
timer_settime

Versão 14971

Para obter informações gerais sobre o build 14971, visite o Blog do Windows.

Fixo

  • Devido a circunstâncias fora do nosso controlo, não existem atualizações nesta compilação para o Subsistema Windows para Linux. As atualizações agendadas regularmente serão retomadas na próxima versão.

Resultados LTP:

Inalterado de 14965
Número de Testes que Passaram: 664
Número de Testes Não Aprovados (reprovados, ignorados, etc...): 263


Construído em 14965

Para obter informações gerais sobre o build 14965, visite o Blog do Windows.

Fixo

  • Suporte para o protocolo NETLINK_ROUTE em sockets Netlink, especificamente RTM_GETLINK e RTM_GETADDR (GH #468)

    • Habilita os comandos ifconfig e ip para enumeração de rede
  • /sbin agora está no caminho do usuário por padrão

  • Caminho do usuário NT agora anexado ao caminho WSL por padrão (ou seja, agora você pode digitar notepad.exe sem adicionar System32 ao caminho do Linux)

  • Adicionado o suporte para /proc/sys/kernel/cap_last_cap

  • Binários NT agora podem ser iniciados a partir do WSL quando o diretório de trabalho atual contém caracteres não ANSI (GH #1254)

  • Permitir o desligamento no soquete de fluxo unix desconectado.

  • Adicionado suporte para PR_GET_PDEATHSIG.

  • Adicionado suporte para CLONE_PARENT

  • Corrigido erro onde a tubulação fica presa, ou seja, bash -c "ls -alR /" | bash -c "cat" (GH #1214)

  • Gere solicitações para se conectar ao terminal atual.

  • Marque /proc/<pid>/oom_score_adj como gravável.

  • Adicione a pasta /sys/fs/cgroup.

  • sched_setaffinity deve retornar o número de bits na máscara de afinidade

  • Corrija a lógica de validação ELF que assume incorretamente que os caminhos do intérprete devem ter menos de 64 caracteres. (GH #743)

  • Descritores de arquivo aberto podem manter a janela do console aberta (GH #1187)

  • Corrigido erro em que rename() falhava com barra no final do nome do destino (GH #1008)

  • Implementar arquivo /proc/net/dev

  • Fixos pings de 0.000ms devido à resolução do temporizador.

  • Implementado /proc/self/environ (GH #730)

  • Correções de bugs e melhorias adicionais

Resultados LTP:

Número de Testes Aprovados: 664
Número de Testes Não Aprovados (falhou, ignorado, etc...): 263


Construído em: 14959

Para informações gerais sobre o Windows na compilação 14959, visite o Blog do Windows.

Fixo

  • Notificação melhorada do Processo Pico para Windows. Informações adicionais encontradas no WSL Blog.
  • Estabilidade melhorada com interoperabilidade do Windows
  • Corrigido erro 0x80070057 ao iniciar bash.exe quando o Enterprise Data Protection (EDP) está ativado
  • Correções de bugs e melhorias adicionais

Resultados LTP:

Número de Aprovação no Teste: 665
Número de não aprovados (reprovado, ignorado, etc...): 263


Construir 14955

Para obter informações gerais sobre o Windows na compilação 14955, visite o Blog do Windows.

Fixo

  • Devido a circunstâncias fora do nosso controlo, não existem atualizações nesta compilação para o Subsistema Windows para Linux. As atualizações agendadas regularmente serão retomadas na próxima versão.

Resultados LTP:

Número de Aprovação no Teste: 665
Número de não aprovados (reprovado, ignorado, etc...): 263


Versão 14951

Para obter informações gerais sobre o Windows na compilação 14951, visite o Blog do Windows.

Novo recurso: Windows / Ubuntu Interoperabilidade

Os binários do Windows agora podem ser invocados diretamente da linha de comando WSL. Isso dá aos usuários a capacidade de interagir com seu ambiente e sistema Windows de uma forma que não foi possível. Como um exemplo rápido, agora é possível que os usuários executem os seguintes comandos:

$ export PATH=$PATH:/mnt/c/Windows/System32
$ notepad.exe
$ ipconfig.exe | grep IPv4 | cut -d: -f2
$ ls -la | findstr.exe foo.txt
$ cmd.exe /c dir

Para mais informações, consultar:

Fixo

  • O Ubuntu 16.04 (Xenial) agora está instalado para todas as novas instâncias WSL. Os usuários com instâncias 14.04 (Confiáveis) existentes não serão atualizados automaticamente.
  • A localidade definida durante a instalação agora é exibida
  • Melhorias no terminal, incluindo bug em que o redirecionamento de um processo WSL para um arquivo nem sempre funciona
  • O tempo de vida do console deve estar vinculado ao tempo de vida bash.exe
  • O tamanho da janela do console deve usar o tamanho visível, não o tamanho do buffer
  • Correções de bugs e melhorias adicionais

Resultados LTP:

Número de Aprovação no Teste: 665
Número de não aprovados (reprovado, ignorado, etc...): 263


Construído em 14946

Para obter informações gerais sobre a compilação 14946, visite o Blog do Windows.

Fixo

  • Corrigido um problema que impedia a criação de contas de usuário WSL para usuários com nomes de usuário NT que contêm espaços ou aspas.

  • Altere VolFs e DrvFs para retornar 0 para a contagem de links do diretório em stat

  • Suporta a opção de soquete IPV6_MULTICAST_HOPS.

  • Limite a um único loop de entrada/saída de consola por tty. Exemplo: o seguinte comando é possível:

    • bash -c "dados de eco" | bash -c "ssh user@example.com 'gato > foo.txt'"
  • substituir espaços por abas em /proc/cpuinfo (GH #1115)

  • DrvFs agora aparece em mountinfo com um nome que corresponde ao volume montado do Windows

  • /home e /root agora aparecem em mountinfo com nomes corretos

  • Correções de bugs e melhorias adicionais

Resultados LTP:

Número de Aprovação no Teste: 665
Número de não aprovados (reprovado, ignorado, etc...): 263


Construído em: 14942

Para obter informações gerais do Windows sobre a compilação 14942, visite o Blog do Windows.

Fixo

  • Foram corrigidos vários bugchecks, incluindo a falha de rede "ATTEMPTED EXECUTE OF NOEXECUTE MEMORY" que estava interrompendo o SSH.
  • O suporte inotify para notificações geradas a partir de aplicações do Windows no DrvFs está agora disponível.
  • Implemente TCP_KEEPIDLE e TCP_KEEPINTVL para mongod. (GH #695)
  • Implementar a chamada do sistema pivot_root
  • Implementar opção de soquete para SO_DONTROUTE
  • Correções de bugs e melhorias adicionais

Resultados LTP:

Número de Aprovação no Teste: 665
Número de não aprovados (reprovado, ignorado, etc...): 263

Suporte Syscall

Abaixo está uma lista de syscalls novos ou aprimorados que têm alguma implementação no WSL. Os syscalls nesta lista são suportados em pelo menos um cenário, mas podem não ter todos os parâmetros suportados neste momento.

pivot_root

Construído em 14936

Para obter informações gerais do Windows sobre a versão 14936, visite o Blog do Windows.

Nota: A WSL instalará o Ubuntu versão 16.04 (Xenial) em vez do Ubuntu 14.04 (Trusty) em uma próxima versão. Essa alteração será aplicada a Insiders que instalam novas instâncias (lxrun.exe /install ou primeira execução de bash.exe). As instâncias existentes com o Trusty não serão atualizadas automaticamente. Os utilizadores podem atualizar a imagem Trusty para Xenial usando o comando do-release-upgrade.

Problema conhecido

A WSL está enfrentando um problema com algumas implementações de soquete. A verificação de erros manifesta-se como um colapso com o erro "TENTATIVA DE EXECUÇÃO DE MEMÓRIA NOEXECUTE". A manifestação mais comum desse problema é uma falha ao usar ssh. A causa principal está corrigida em compilações internas e será disponibilizada aos Insiders o mais rápido possível.

Fixo

  • Implementada a chamada do sistema chroot
  • Melhorias no inotify incluindo suporte para notificações geradas a partir de aplicativos do Windows em DrvFs
    • Correção: Suporte para inotify relativo a alterações originadas de aplicações do Windows não está disponível de momento.
  • A vinculação de socket ao IPV6::<port n> agora suporta IPV6_V6ONLY (GH #68, #157, #393, #460, #674, #740, #982, #996)
  • Comportamento WNOWAIT para chamada de sistema waitid implementado (GH #638)
  • Suporte para opções de soquete IP IP_HDRINCL e IP_TTL
  • Zero-length read() deve retornar imediatamente (GH #975)
  • Manipule corretamente nomes de arquivos e prefixos de nomes de arquivos que não incluem um terminador NULL em um arquivo .tar.
  • Suporte epoll para /dev/null
  • Corrigir /dev/fonte de tempo de alarme
  • Bash -c agora pode redirecionar para um ficheiro
  • Correções de bugs e melhorias adicionais

Resultados LTP:

Número de Aprovação no Teste: 664
Número de não aprovados (reprovação, ignoração, etc...): 264

Suporte Syscall

Abaixo está uma lista de syscalls novos ou aprimorados que têm alguma implementação no WSL. Os syscalls nesta lista são suportados em pelo menos um cenário, mas podem não ter todos os parâmetros suportados neste momento.

chroot

Versão 14931

Para obter informações gerais sobre a compilação 14931 do Windows, visite o Windows Blog.

Fixo

  • Devido a circunstâncias fora do nosso controlo, não existem atualizações nesta compilação para o Subsistema Windows para Linux. As atualizações agendadas regularmente serão retomadas na próxima versão.

Versão 14926

Para obter informações gerais sobre o Windows na versão 14926, visite o Blog do Windows.

Fixo

  • O ping agora funciona em consoles que não têm privilégios de administrador
  • Ping6 agora suportado, também sem privilégios de administrador
  • Suporte Inotify para arquivos modificados através do WSL. (GH #216)
    • Bandeiras suportadas:
      • inotify_init1: LX_O_CLOEXEC, LX_O_NONBLOCK
      • inotify_add_watch eventos: LX_IN_ACCESS, LX_IN_MODIFY, LX_IN_ATTRIB, LX_IN_CLOSE_WRITE, LX_IN_CLOSE_NOWRITE, LX_IN_OPEN, LX_IN_MOVED_FROM, LX_IN_MOVED_TO, LX_IN_CREATE, LX_IN_DELETE, LX_IN_DELETE_SELF, LX_IN_MOVE_SELF
      • inotify_add_watch atributos: LX_IN_DONT_FOLLOW, LX_IN_EXCL_UNLINK, LX_IN_MASK_ADD, LX_IN_ONESHOT, LX_IN_ONLYDIR
      • ler saída: LX_IN_ISDIR, LX_IN_IGNORED
    • Problema conhecido: modificar arquivos de aplicativos do Windows não gera nenhum evento
  • Soquete Unix agora suporta SCM_CREDENTIALS

Resultados LTP:

Número de Testes Aprovados: 651
Número de Testes Não Aprovados (reprovados, ignorados, etc...): 258


Construído em 14915

Para obter informações gerais sobre o Windows na compilação 14915, visite o Blog do Windows.

Fixo

  • Socketpair para soquetes de datagrama unix (GH #262)
  • Suporte de soquete Unix para SO_REUSEADDR
  • Suporte de soquete UNIX para SO_BROADCAST (GH #568)
  • Suporte de soquete Unix para SOCK_SEQPACKET (GH #758, #546)
  • Adicionando suporte para envio, receção e desligamento de soquete de datagrama Unix
  • Corrigir o bugcheck devido à validação inválida do parâmetro mmap para endereços não fixos. (GH #847)
  • Suporte para suspensão/retomada de estados terminais
  • Suporte para TIOCPKT ioctl para desbloquear o utilitário de tela (GH # 774)
    • Problema conhecido: as teclas de função não estão operacionais
  • Corrigida uma corrida no TimerFd que poderia fazer com que um membro liberado 'ReaderReady' fosse acessado por LxpTimerFdWorkerRoutine (GH #814)
  • Ative o suporte de chamada de sistema reinicializável para futex, poll e clock_nanosleep
  • Adicionado suporte de montagem por vínculo
  • Unshare para suporte a namespace de montagem
    • Problema conhecido: ao criar um novo namespace mount com unshare(CLONE_NEWNS) o diretório de trabalho atual continuará a apontar para o namespace antigo
  • Melhorias adicionais e correções de bugs

Construído em 14905

Para informações gerais sobre a versão 14905 do Windows, visite o Blog do Windows.

Fixo

  • Chamadas de sistema reinicializáveis agora são suportadas (GH #349, GH #520)
  • Links simbólicos para diretórios que terminam em / estão agora operacionais (GH #650)
  • RNDGETENTCNT ioctl implementado para /dev/random
  • Implementados os arquivos /proc/[pid]/mounts, /proc/[pid]/mountinfo e /proc/[pid]/mountstats
  • Correções de bugs e melhorias adicionais

Versão 14901

Primeira compilação do Insider após o lançamento da Atualização de Aniversário do Windows 10.

Para obter informações gerais sobre o build 14901, visite o Blog do Windows.

Fixo

  • Corrigido o problema da barra final
    • Comandos como $ mv a/c/ a/b/ agora funcionam
  • A instalação agora solicita se a localidade do Ubuntu deve ser definida como a localidade do Windows
  • Suporte de Procfs para a pasta ns
  • Adicionar montagem e desmontagem para os sistemas de arquivos tmpfs, procfs e sysfs
  • Corrigir assinatura ABI mknod[at] de 32 bits
  • Soquetes Unix transferidos para o modelo de processamento
  • O tamanho do buffer recv do soquete INET definido usando o setsockopt deve ser respeitado
  • Implementar MSG_CMSG_CLOEXEC sinalizador de mensagem de recebimento de soquete unix
  • Redirecionamento de tubo stdin/stdout do processo Linux (GH #2)
    • Permite a canalização de comandos bash -c no CMD. Exemplo: >dir | bash -c "grep foo"
  • Bash agora pode ser instalado em sistemas com vários pagefiles (GH #538, #358)
  • O tamanho padrão do buffer do soquete INET deve corresponder ao da configuração padrão do Ubuntu
  • Alinhar as chamadas de sistema xattr com listxattr
  • Somente retorna interfaces com um endereço IPv4 válido do SIOCGIFCONF
  • Corrigir o comportamento padrão de ação do sinal quando injetado pelo ptrace
  • implementar /proc/sys/vm/min_free_kbytes
  • Use valores de registro de contexto de máquina ao restaurar o contexto em sigreturn
    • Isso resolve o problema em que java e javac estavam suspensos para alguns usuários
  • Implementar /proc/sys/kernel/hostname

Suporte Syscall

Abaixo está uma lista de syscalls novos ou aprimorados que têm alguma implementação no WSL. Os syscalls nesta lista são suportados em pelo menos um cenário, mas podem não ter todos os parâmetros suportados neste momento.

waitid
epoll_pwait


Compilação 14388 da Atualização de Aniversário do Windows 10

Para obter informações gerais sobre o Windows e a compilação 14388, visite o Blog do Windows.

Fixo

  • Correções para preparar a Atualização de Aniversário do Windows 10 em 8/2
    • Mais informações sobre a WSL na Atualização de Aniversário podem ser encontradas em nosso blog

Construir 14376

Para obter informações gerais do Windows sobre a compilação 14376, visite o Blog do Windows.

Fixo

  • Removidas algumas instâncias em que o apt-get trava (GH #493)
  • Corrigido um problema em que as montagens vazias não eram tratadas corretamente
  • Corrigido um problema em que os ramdisks não eram montados corretamente
  • Alterar aceitação de socket Unix para suportar sinalizadores (parcial do GH #451)
  • Corrigido o ecrã azul comum relacionado com a rede
  • Tela azul fixa ao acessar /proc/[pid]/task (GH #523)
  • Corrigida a alta utilização da CPU em alguns cenários de pty (GH #488, #504)
  • Correções de bugs e melhorias adicionais

Versão 14371

Para obter informações gerais sobre o Windows na compilação 14371, visite o Blog do Windows.

Fixo

  • Corrida de cronometragem corrigida com SIGCHLD e wait() ao usar ptrace
  • Corrigidos alguns comportamentos quando os caminhos têm uma barra final ( / ) (GH #432)
  • Corrigido o problema com falha de renomeação/desvinculação devido a alças abertas para crianças
  • Correções de bugs e melhorias adicionais

Compilação 14366

Para obter informações gerais sobre a compilação 14366, visite o Blog do Windows.

Fixo

  • Correção na criação de arquivos através de links simbólicos
  • Adicionada a função listxattr para Python (GH 385)
  • Correções de bugs e melhorias adicionais

Suporte Syscall

  • Abaixo está uma lista de syscalls novos ou aprimorados que têm alguma implementação no WSL. Os syscalls nesta lista são suportados em pelo menos um cenário, mas podem não ter todos os parâmetros suportados neste momento.

listxattr

Construir 14361

Para obter informações gerais sobre o build 14361, visite o Blog do Windows.

Fixo

  • DrvFs agora diferencia maiúsculas de minúsculas quando executado em Bash no Ubuntu no Windows.
    • Os utilizadores podem case.txt e CASE.TXT nas suas unidades de disco /mnt/c
    • A sensibilidade a maiúsculas e minúsculas é suportada apenas no Bash no Ubuntu no Windows. Quando estiver fora do Bash, o NTFS relatará os ficheiros corretamente, mas pode ocorrer um comportamento inesperado ao interagir com os ficheiros a partir do Windows.
    • A raiz de cada volume (ou seja, /mnt/c) não é sensível a maiúsculas e minúsculas.
    • Mais informações sobre como lidar com esses arquivos no Windows podem ser encontradas aqui.
  • Suporte aprimorado de pty / tty. Aplicações como TMUX agora suportadas (GH #40)
  • Corrigido o problema de instalação em que as contas de utilizador nem sempre eram criadas
  • Estrutura arg de linha de comando otimizada permitindo uma lista de argumentos extremamente longa. (GH #153)
  • Agora é possível excluir arquivos somente leitura e usar chmod neles no DrvFs.
  • Corrigido alguns casos em que o terminal trava ao desconectar (GH #43)
  • Chmod e Chown agora funcionam em dispositivos TTY
  • Permitir conexão com 0.0.0.0 e :: como localhost (GH #388)
  • Sendmsg/recvmsg agora lidam com um vetor de E/S de comprimento >1 (parcial GH #376).
  • Os usuários agora podem desativar o arquivo de hosts gerado automaticamente (GH #398)
  • Corresponder automaticamente a localidade do Linux à localidade do NT durante a instalação (GH #11)
  • Adicionado o arquivo /proc/sys/vm/swappiness (GH #306)
  • strace agora sai corretamente
  • Permitir que os tubos sejam reabertos através de /proc/self/fd (GH #222)
  • Ocultar diretórios sob %LOCALAPPDATA%\lxss de DrvFs (GH #270)
  • Melhor manuseio de bash.exe ~. Comandos como "bash ~ -c ls" agora suportados (GH #467)
  • Os soquetes agora notificam a leitura da epoll disponível durante o desligamento (GH #271)
  • lxrun /uninstall faz um trabalho melhor de excluir os arquivos e pastas
  • Corrigido ps -f (GH #246)
  • Suporte melhorado para aplicações x11 como xEmacs (GH #481)
  • Tamanho inicial da pilha de threads atualizado para corresponder à configuração padrão do Ubuntu e relatar o tamanho corretamente para o syscall get_rlimit (GH #172, #258)
  • Aperfeiçoamento na geração de relatórios dos nomes de imagens de processos de pico (por exemplo, para auditoria)
  • Implementado /proc/mountinfo para o comando df
  • Corrigido o código de erro de link simbólico para o nome da criança . e ..
  • Melhorias adicionais, correções de bugs e melhorias

Suporte Syscall

Abaixo está uma lista de syscalls novos ou aprimorados que têm alguma implementação no WSL. Os syscalls nesta lista são suportados em pelo menos um cenário, mas podem não ter todos os parâmetros suportados neste momento.

GETTIMER
MKNODAT
RENAMEAT
SENDFILE
SENDFILE64
SYNC_FILE_RANGE

Versão 14352

Para obter informações gerais sobre a compilação 14352 do Windows, visite o Blog do Windows .

Fixo

  • Corrigido o problema em que arquivos grandes não eram baixados/criados corretamente. Isso deve desbloquear o npm e outros cenários (GH #3, GH #313)
  • Removidas algumas instâncias em que os soquetes travam
  • Corrigidos alguns erros de ptrace
  • Corrigido o problema com o WSL que permitia nomes de ficheiros com mais de 255 caracteres
  • Suporte melhorado para caracteres não ingleses
  • Adicionar dados atuais de fuso horário do Windows e definir como padrão
  • IDs de dispositivo exclusivos para cada ponto de montagem (jre fix – GH #49)
  • Corrigir problema com caminhos contendo "." e ".."
  • Adicionado suporte Fifo (GH #71)
  • Formato atualizado do resolv.conf para corresponder ao formato nativo do Ubuntu
  • Alguma limpeza do procfs
  • Ping ativado para consoles do administrador (GH #18)

Suporte Syscall

Abaixo está uma lista de syscalls novos ou aprimorados que têm alguma implementação no WSL. Os syscalls nesta lista são suportados em pelo menos um cenário, mas podem não ter todos os parâmetros suportados neste momento.

FALLOCATE
EXECVE
LGETXATTR
FGETXATTR

Construir 14342

Para obter informações gerais sobre o Windows na compilação 14342, o Blog do Windows.

Informações sobre VolFs e DriveFs podem ser encontradas no WSL Blog.

Fixo

  • Corrigido o problema de instalação quando o usuário do Windows tinha caracteres Unicode no nome de usuário
  • A solução alternativa apt-get update udev nas FAQ agora é fornecida por padrão na primeira execução
  • Links simbólicos ativados em diretórios DriveFs (/mnt/<drive>)
  • Os symlinks agora funcionam entre DriveFs e VolFs
  • Resolução do problema de análise de caminho de nível superior: ls .// agora funcionará conforme o esperado
  • npm install em DriveFs e as opções -g agora estão a funcionar
  • Corrigido o problema que impedia o servidor PHP de iniciar
  • Valores de ambiente padrão atualizados, como $PATH para corresponder mais perto do Ubuntu nativo
  • Adicionada uma tarefa de manutenção semanal no Windows para atualizar o cache do pacote apt
  • Corrigido o problema com a validação do cabeçalho ELF, o WSL agora suporta todas as opções do Melkor
  • O interpretador de comandos Zsh é funcional
  • Binários Go pré-compilados agora são suportados
  • A mensagem no Bash.exe na primeira execução está agora traduzida corretamente.
  • /proc/meminfo agora retorna informações corretas
  • Soquetes agora suportados no VFS
  • /dev agora montado como tempfs
  • O suporte a Fifo está agora disponível.
  • Sistemas multi-core agora são mostrados corretamente no /proc/cpuinfo
  • Melhorias adicionais e mensagens de erro a serem descarregadas durante a primeira execução.
  • Melhorias e correções de bugs do Syscall. Lista de syscall suportada abaixo.
  • Correções de bugs e melhorias adicionais

Problemas conhecidos

  • Não resolvendo '..'. corretamente no DriveFs em alguns casos

Suporte Syscall

Abaixo está uma lista de syscalls novos ou aprimorados que têm alguma implementação no WSL. Os syscalls nesta lista são suportados em pelo menos um cenário, mas podem não ter todos os parâmetros suportados neste momento.

FCHOWNAT
GETEUID
GETGID
GETRESUID
GETXATTR
PTRACE
SETGID
SETGROUPS
SETHOSTNAME
SETXATTR

Versão 14332

Para obter informações gerais sobre o Windows na compilação 14332, visite o Blog do Windows.

Fixo

  • Melhoria no processo de geração do resolv.conf incluindo a priorização de entradas DNS
  • Problema com a transferência de arquivos e diretórios entre unidades dentro de /mnt e unidades fora de /mnt
  • Os arquivos Tar agora podem ser criados com links simbólicos
  • Adicionado diretório padrão /run/lock na criação da instância
  • Atualize /dev/null para retornar informações de estatísticas adequadas
  • Erros adicionais ao fazer o download durante a primeira execução
  • Melhorias e correções de bugs do Syscall. Lista de syscall suportada abaixo.
  • Melhorias adicionais, correções de bugs e melhorias

Suporte Syscall

Abaixo está o novo syscall que tem alguma implementação no WSL. O syscall nesta lista é suportado em pelo menos um cenário, mas pode não ter todos os parâmetros suportados no momento.

READLINKAT

Construir 14328

Para obter informações gerais sobre o Windows na compilação 14332, visite o Blog do Windows.

Novos recursos

  • Agora suporta usuários Linux. Instalar o Bash no Ubuntu no Windows solicitará a criação de um usuário Linux. Para mais informações, visite https://aka.ms/wslusers
  • Hostname agora está definido como o nome do computador Windows, não mais @localhost
  • Para mais informações sobre a compilação 14328, visite: https://aka.ms/wip14328

Fixo

  • Melhorias de link simbólico para arquivos não /mnt/<drive>
    • npm install agora funciona
    • jdk / jre já podem ser instalados usando as instruções encontradas aqui.
    • problema conhecido: os links simbólicos não funcionam para montagens do Windows. A funcionalidade estará disponível em uma compilação posterior
  • O top e o htop agora exibem
  • Mensagens de erro adicionais para algumas falhas de instalação
  • Melhorias e correções de bugs do Syscall. Lista de syscall suportada abaixo.
  • Melhorias adicionais, correções de bugs e melhorias

Suporte Syscall

Abaixo está uma lista de syscalls que têm alguma implementação no WSL. Syscalls nesta lista são suportados em pelo menos um cenário, mas podem não ter todos os parâmetros suportados no momento.

ACCEPT
ACCEPT4
ACCESS
ALARM
ARCH_PRCTL
BIND
BRK
CAPGET
CAPSET
CHDIR
CHMOD
CHOWN
CLOCK_GETRES
CLOCK_GETTIME
CLOCK_NANOSLEEP
CLONE
CLOSE
CONNECT
CREAT
DUP
DUP2
DUP3
EPOLL_CREATE
EPOLL_CREATE1
EPOLL_CTL
EPOLL_WAIT
EVENTFD
EVENTFD2
EXECVE
EXIT
EXIT_GROUP
FACCESSAT
FADVISE64
FCHDIR
FCHMOD
FCHMODAT
FCHOWN
FCHOWNAT
FCNTL64
FDATASYNC
FLOCK
FORK
FSETXATTR
FSTAT64
FSTATAT64
FSTATFS64
FSYNC
FTRUNCATE
FTRUNCATE64
FUTEX
GETCPU
GETCWD
GETDENTS
GETDENTS64
GETEGID
GETEGID16
GETEUID
GETEUID16
GETGID
GETGID16
GETGROUPS
GETPEERNAME
GETPGID
GETPGRP
GETPID
GETPPID
GETPRIORITY
GETRESGID
GETRESGID16
GETRESUID
GETRESUID16
GETRLIMIT
GETRUSAGE
GETSID
GETSOCKNAME
GETSOCKOPT
GETTID
GETTIMEOFDAY
GETUID
GETUID16
GETXATTR
GET_ROBUST_LIST
GET_THREAD_AREA
INOTIFY_ADD_WATCH
INOTIFY_INIT
INOTIFY_RM_WATCH
IOCTL
IOPRIO_GET
IOPRIO_SET
KEYCTL
KILL
LCHOWN
LINK
LINKAT
LISTEN
LLSEEK
LSEEK
LSTAT64
MADVISE
MKDIR
MKDIRAT
MKNOD
MLOCK
MMAP
MMAP2
MOUNT
MPROTECT
MREMAP
MSYNC
MUNLOCK
MUNMAP
NANOSLEEP
NEWUNAME
OPEN
OPENAT
PAUSE
PERF_EVENT_OPEN
PERSONALITY
PIPE
PIPE2
POLL
PPOLL
PRCTL
PREAD64
PROCESS_VM_READV
PROCESS_VM_WRITEV
PSELECT6
PTRACE
PWRITE64
READ
READLINK
READV
REBOOT
RECV
RECVFROM
RECVMSG
RENAME
RMDIR
RT_SIGACTION
RT_SIGPENDING
RT_SIGPROCMASK
RT_SIGRETURN
RT_SIGSUSPEND
RT_SIGTIMEDWAIT
SCHED_GETAFFINITY
SCHED_GETPARAM
SCHED_GETSCHEDULER
SCHED_GET_PRIORITY_MAX
SCHED_GET_PRIORITY_MIN
SCHED_SETAFFINITY
SCHED_SETPARAM
SCHED_SETSCHEDULER
SCHED_YIELD
SELECT
SEND
SENDMMSG
SENDMSG
SENDTO
SETDOMAINNAME
SETGID
SETGROUPS
SETHOSTNAME
SETITIMER
SETPGID
SETPRIORITY
SETREGID
SETRESGID
SETRESUID
SETREUID
SETRLIMIT
SETSID
SETSOCKOPT
SETTIMEOFDAY
SETUID
SETXATTR
SET_ROBUST_LIST
SET_THREAD_AREA
SET_TID_ADDRESS
SHUTDOWN
SIGACTION
SIGALTSTACK
SIGPENDING
SIGPROCMASK
SIGRETURN
SIGSUSPEND
SOCKET
SOCKETCALL
SOCKETPAIR
SPLICE
STAT64
STATFS64
SYMLINK
SYMLINKAT
SYNC
SYSINFO
TEE
TGKILL
TIME
TIMERFD_CREATE
TIMERFD_GETTIME
TIMERFD_SETTIME
TIMES
TKILL
TRUNCATE
TRUNCATE64
UMASK
UMOUNT
UMOUNT2
UNLINK
UNLINKAT
UNSHARE
UTIME
UTIMENSAT
UTIMES
VFORK
WAIT4
WAITPID
WRITE
WRITEV