Condividi tramite


Note sulla versione - Sottosistema Windows per Linux (WSL)

Build 21364

Per informazioni di carattere generale su Windows per la build 21364, visitare il blog di Windows.

  • Sono ora disponibili app GUI. Per altre informazioni, vedere questo post di blog.
  • Risoluzione dell'errore eseguendo l'accesso ai file tramite \\wsl.localhost\.
  • Correzione del potenziale deadlock nel servizio LxssManager.

Build 21354

Per informazioni di carattere generale su Windows per la build 21354, visitare il blog di Windows.

  • Impostazione del prefisso \wsl su \wsl.localhost per evitare problemi quando nella rete è presente un computer denominato "wsl". \wsl$ continuerà a funzionare.
  • Abilitare l'icona di accesso rapido di Linux per i processi wow.
  • Problema di aggiornamento per cui la versione 2 veniva sempre passata tramite wslapi RegisterDistribution.
  • Modifica della maschera fmask della directory /usr/lib/wsl/lib in 222 in modo che i file siano contrassegnati come eseguibili [GH 3847]
  • Correzione dell'arresto anomalo del servizio WSL se la Virtual Machine Platform non è abilitato.

Build 21286

Per informazioni di carattere generale su Windows per la build 21286, accedere al blog di Windows.

  • Presentazione del comando wsl.exe --cd per impostare la directory di lavoro corrente di un comando.
  • Miglioramento del mapping di NTSTATUS ai codici errore di Linux. [GH 6063]
  • Miglioramento della segnalazione errori di wsl.exe --mount.
  • Aggiunta di un'opzione a /etc/wsl.conf per abilitare i comandi di avvio:
[boot]
command=<string>

Build 20226

Per informazioni di carattere generale su Windows per la build 20226, accedere al blog di Windows.

  • Correzione dell'arresto anomalo nel servizio LxssManager. [GH 5902]

Build 20211

Per informazioni di carattere generale su Windows per la build 20211, accedi al blog di Windows.

  • È stato introdotto il comando wsl.exe --mount per il montaggio di dischi fisici o virtuali. Per altre informazioni, vedi le istruzioni per accedere ai filesystem Linux in Windows e WSL 2.
  • È stato risolto l'arresto anomalo del servizio LxssManager che si verificava quando si controllava se la macchina virtuale era inattiva. [GH 5768]
  • È stato aggiunto il supporto per i file VHD compressi. [GH 4103]
  • Assicurarsi che le librerie della modalità utente Linux installate in C:\windows\system32\lxss\lib vengano mantenute durante l'aggiornamento del sistema operativo. [GH 5848]
  • È stata aggiunta la possibilità di elencare le distribuzioni disponibili che possono essere installate con wsl --install --list-distributions.
  • Le istanze di WSL vengono ora interrotte quando l'utente si disconnette.

Build 20190

Per informazioni di carattere generale su Windows per la build 20190, visitare il blog di Windows.

  • È stato corretto un bug che impediva l'avvio di istanze di WSL1. [GH 5633]
  • È stato corretto il blocco che si verificava durante il reindirizzamento dell'output del processo di Windows. [GH 5648]
  • Aggiunta dell'opzione %userprofile%\.wslconfig per controllare il timeout di inattività della macchina virtuale (wsl2.vmIdleTimeout=<time_in_ms>).
  • Viene ora supportato l'avvio di alias di esecuzione di app da WSL.
  • È stato aggiunto il supporto per l'installazione del kernel e delle distribuzioni di WSL2 in wsl.exe --install

Build 20175

Per informazioni di carattere generale su Windows per la build 20175, visitare il blog di Windows.

  • Regolare l'assegnazione di memoria predefinita della macchina virtuale WSL2 in modo che risulti essere il 50% della memoria host o 8 GB, a seconda di quale sia il valore inferiore [GH 4166].
  • Modifica del prefisso \\wsl$ in \\wsl per supportare l'analisi di URI. Il precedente percorso \\wsl$ continua a essere supportato.
  • Abilitare la virtualizzazione annidata per WSL2 per impostazione predefinita in amd64. È possibile disabilitare questa funzionalità tramite %userprofile%\.wslconfig ([wsl2] nestedVirtualization=false).
  • Consentire alla richiesta wsl.exe --update di avviare Microsoft Update.
  • Supporto della ridenominazione di un file di sola lettura in DrvFs.
  • Verificare che i messaggi di errore vengano sempre visualizzati nella tabella codici corretta.

Build 20150

Per informazioni di carattere generale su Windows per la build 20150, visita il blog di Windows.

  • Per altre informazioni sul calcolo della GPU di WSL2, vedi il blog di Windows.
  • Introduzione a wsl.exe: per configurare facilmente WSL, installa l'opzione della riga di comando.
  • Introduzione a wsl.exe: per gestire gli aggiornamenti al kernel WSL2, aggiorna l'opzione della riga di comando.
  • Impostare WSL2 come predefinito.
  • Aumentare il timeout di arresto normale della macchina virtuale di WSL2.
  • Correggere la race condition virtio-9p durante il mapping della memoria del dispositivo.
  • Non eseguire un server 9p con privilegi elevati se Controllo dell'account utente è disabilitato.

Build 19640

Per informazioni di carattere generale su Windows per la build 19640, visita il blog di Windows.

  • [WSL2] Miglioramenti della stabilità per virtio-9p (drvfs).

Build 19555

Per informazioni di carattere generale su Windows per la build 19555, visita il blog di Windows.

  • [WSL2] Uso di un cgroup di memoria per limitare la quantità di memoria usata dalle operazioni di installazione e conversione [GH 4669]
  • Rendere presente wsl.exe quando il componente facoltativo Sottosistema Windows per Linux non è abilitato per migliorare l'individuabilità delle funzionalità
  • Modifica di wsl.exe per stampare il testo della guida se il componente facoltativo WSL non è installato
  • Correzione della race condition durante la creazione di istanze
  • Creazione di wslclient.dll che contiene tutte le funzionalità della riga di comando
  • Prevenzione dell'arresto anomalo del sistema durante l'arresto del servizio LxssManagerUser
  • Correzione dell'errore immediato di wslapi.dll quando il parametro distroName è NULL

Build 19041

Per informazioni di carattere generale su Windows per la build 19041, visita il blog di Windows.

  • [WSL2] Cancellazione della maschera del segnale prima dell'avvio dei processi
  • [WSL2] Aggiornamento del kernel Linux alla versione 4.19.84
  • Gestione della creazione del collegamento simbolico /etc/resolv.conf quando tale collegamento è non relativo

Build 19028

Per informazioni di carattere generale su Windows per la build 19028, visita il blog di Windows.

  • [WSL2] Aggiornamento del kernel Linux alla versione 4.19.81
  • [WSL2] Modifica dell'autorizzazione predefinita di /dev/net/tun tramite impostazione su 0666 [GH 4629]
  • [WSL2] Modifica della quantità di memoria predefinita assegnata alla macchina virtuale Linux in modo che corrisponda all'80% della memoria host
  • [WSL2] Correzione del server di interoperabilità per la gestione delle richieste con un timeout, in modo che i chiamanti non validi non possano bloccare il server

Build 19018

Per informazioni di carattere generale su Windows per la build 19018, visita il blog di Windows.

  • [WSL2] Uso di cache=mmap come impostazione predefinita per i montaggi 9p per la correzione di app dotnet
  • [WSL2] Correzioni per l'inoltro localhost [GH 4340]
  • [WSL2] Introduzione di un montaggio tmpfs condiviso tra distribuzioni per la condivisione dello stato tra distribuzioni
  • Correzione del ripristino di un'unità di rete permanente per wsl$

Build 19013

Per informazioni di carattere generale su Windows per la build 19013, visita il blog di Windows.

  • [WSL2] Miglioramento delle prestazioni di memoria della macchina virtuale dell'utilità WSL. La memoria non più in uso verrà liberata e restituita all'host.
  • [WSL2] Aggiornamento del kernel alla versione 4.19.79 (aggiunta di CONFIG_HIGH_RES_TIMERS, CONFIG_TASK_XACCT, CONFIG_TASK_IO_ACCOUNTING, CONFIG_SCHED_HRTICK e CONFIG_BRIDGE_VLAN_FILTERING).
  • [WSL2] Correzione dell'inoltro di input per gestire i casi in cui stdin è un handle di pipe non chiuso [GH 4424]
  • Esecuzione della verifica per \\wsl$ senza distinzione tra maiuscole e minuscole.
[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).

Build 19002

Per informazioni di carattere generale su Windows per la build 19002, visita il blog di Windows.

  • [WSL] Correzione del problema relativo alla gestione di alcuni caratteri Unicode: https://github.com/microsoft/terminal/issues/2770.
  • [WSL] Correzione dei rari casi in cui era possibile annullare la registrazione delle distribuzioni avviate immediatamente dopo un aggiornamento da una versione all'altra.
  • [WSL] Correzione di un problema di lieve entità relativo a wsl.exe: arresto quando i timer di inattività dell'istanza non venivano annullati.

Build 18995

Per informazioni di carattere generale su Windows per la build 18995, visita il blog di Windows.

  • [WSL2] Correzione del problema per cui i montaggi di DrvFs hanno smesso di funzionare dopo l'interruzione di un'operazione (ad esempio, CTRL+C) [GH 4377]
  • [WSL2] Correzione della gestione di messaggi hvsocket di grandi dimensioni [GH 4105]
  • [WSL2] Correzione del problema di interoperabilità che si verifica quando stdin è un file [GH 4475]
  • [WSL2] Correzione dell'arresto anomalo di un servizio quando viene rilevato uno stato di rete imprevisto [GH 4474]
  • [WSL2] Esecuzione di query sul nome della distribuzione dal server di interoperabilità se il processo corrente non contiene la variabile di ambiente
  • [WSL2] Correzione del problema di interoperabilità che si verifica quando stdin è un file
  • [WSL2] Aggiornamento del kernel Linux alla versione 4.19.72
  • [WSL2] Aggiunta della possibilità di specificare parametri aggiuntivi della riga di comando del kernel tramite .wslconfig
[wsl2]
kernelCommandLine = <string> # Additional kernel command line arguments

Build 18990

Per informazioni di carattere generale su Windows per la build 18990, visita il blog di Windows.

  • Miglioramento delle prestazioni per le visualizzazioni directory in \\wsl$
  • [WSL2] Inserimento entropia di avvio aggiuntiva [GH 4416]
  • [WSL2] Correzione per l'interoperabilità di Windows in caso di utilizzo di su/sudo [GH 4465]

Build 18980

Per informazioni di carattere generale su Windows per la build 18980, visita il blog di Windows.

  • Correzione della lettura dei collegamenti simbolici che non consentono l'uso di FILE_READ_DATA. Sono inclusi tutti i collegamenti simbolici creati da Windows per la compatibilità con le versioni precedenti, ad esempio "C:\Documents and Settings" e una serie di collegamenti simbolici nella directory del profilo utente
  • Stato imprevisto del file system non più irreversibile [GH 4334, 4305]
  • [WSL2] Aggiunta del supporto per arm64 se la CPU o il firmware supporta la virtualizzazione
  • [WSL2] Possibilità per gli utenti senza privilegi di visualizzare il registro del kernel
  • [WSL2] Correzione dell'inoltro dell'output se i socket stdout/stderr sono stati chiusi [GH 4375]
  • [WSL2] Supporto della batteria e dell'adattatore CA passthrough
  • [WSL2] Aggiornamento del kernel Linux alla versione 4.19.67
  • Aggiunta della possibilità di impostare il nome utente predefinito in /etc/wsl.conf:
[user]
default=<string>

Build 18975

Per informazioni di carattere generale su Windows per la build 18975, visita il blog di Windows.

  • [WSL2] Risoluzione di diversi problemi di affidabilità di localhost [GH 4340]

Build 18970

Per informazioni di carattere generale su Windows per la build 18970, visita il blog di Windows.

  • [WSL2] Sincronizzazione dell'ora con l'ora dell'host quando il sistema riparte dallo stato di sospensione [GH 4245]
  • [WSL2] Creazione di collegamenti simbolici NT per i volumi di Windows, quando possibile.
  • [WSL2] Creazione di distribuzioni negli spazi dei nomi UTS, IPC, PID e Mount.
  • [WSL2] Correzione dell'inoltro della porta di localhost quando il server esegue direttamente il binding a localhost [GH 4353]
  • [WSL2] Correzione dell'interoperabilità quando l'output viene reindirizzato [GH 4337]
  • [WSL2] Supporto della traduzione dei collegamenti simbolici NT assoluti.
  • [WSL2] Aggiornamento del kernel alla versione 4.19.59
  • [WSL2] Impostazione corretta della subnet mask per eth0.
  • [WSL2] Modifica della logica per interrompere il ciclo di lavoro della console quando viene segnalato un evento di uscita.
  • [WSL2] Espulsione del disco rigido virtuale della distribuzione quando questa non è in esecuzione.
  • [WSL2] Correzione della libreria di analisi della configurazione per una gestione appropriata dei valori vuoti.
  • [WSL2] Supporto di Docker Desktop tramite la creazione di montaggi tra distribuzioni. Una distribuzione può scegliere di essere inclusa in questo comportamento aggiungendo la riga seguente al file /etc/wsl.conf:
[automount]
crossDistro = true

Build 18945

Per informazioni di carattere generale su Windows per la build 18945, visita il blog di Windows.

WSL

  • [WSL2] Possibilità di rendere i socket TCP in ascolto in WSL2 accessibili dall'host tramite localhost:porta
  • [WSL2] Correzioni per i problemi di installazione/conversione e diagnostica aggiuntiva per tenere traccia dei problemi futuri [GH 4105]
  • [WSL2] Possibilità di diagnosticare più facilmente i problemi di rete di WSL2
  • [WSL2] Aggiornamento del kernel alla versione 4.19.55
  • [WSL2] Aggiornamento del kernel con le opzioni di configurazione necessarie per Docker [GH 4165]
  • [WSL2] Aumento del numero di CPU assegnate alla macchina virtuale di utilità leggera in modo che corrisponda a quello dell'host (in precedenza il limite definito da CONFIG_NR_CPUS era 8 nella configurazione del kernel) [GH 4137]
  • [WSL2] Creazione di un file di scambio per la macchina virtuale leggera WSL2
  • [WSL2] Possibilità per i montaggi utente di essere visibili tramite \\wsl$\distro (ad esempio, sshfs) [GH 4172]
  • [WSL2] Miglioramento delle prestazioni del file system 9p
  • [WSL2] Garanzia che l'ACL del disco rigido virtuale non si espanda senza limiti [GH 4126]
  • [WSL2] Aggiornamento della configurazione del kernel per supportare squashfs e xt_conntrack [GH 4107, 4123]
  • [WSL2] Correzione per l'opzione interop.enabled /etc/wsl.conf [GH 4140]
  • [WSL2] Restituzione di ENOTSUP se il file system non supporta EAs
  • [WSL2] Correzione del blocco di CopyFile con \\wsl$
  • Impostazione su 0022 del valore predefinito per la disabilitazione del mascheramento e aggiunta dell'impostazione filesystem.umask a /etc/wsl.conf
  • Correzione di wslpath per la risoluzione appropriata dei collegamenti simbolici; in regressione in 19h1 [GH 4078]
  • Introduzione del file %UserProfile%\.wslconfig per la modifica delle impostazioni 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

Build 18917

Per informazioni di carattere generale su Windows per la build 18917, visita il blog di Windows.

WSL

  • WSL 2 è ora disponibile. Per altri dettagli, vedi il blog.
  • Correzione di una regressione in caso di funzionamento non corretto dell'avvio di processi di Windows tramite collegamenti simbolici [GH 3999]
  • Aggiunta delle opzioni wsl.exe --list --verbose, wsl.exe --list --quiet e wsl.exe --import --version a wsl.exe
  • Aggiunta dell'opzione wsl.exe --shutdown
  • Piano 9: possibilità di aprire una directory per consentire a un'operazione di scrittura di avere esito positivo

Build 18890

Per informazioni di carattere generale su Windows per la build 18890, visita il blog di Windows.

WSL

  • Perdita di socket non bloccante [GH 2913]
  • L'input di EOF nel terminale può bloccare le operazioni di lettura successive [GH 3421]
  • Aggiornamento dell'intestazione di resolv.conf in modo da fare riferimento a wsl.conf [trattato in GH 3928]
  • Deadlock nel codice di epoll delete [GH 3922]
  • Gestione degli spazi negli argomenti per --import e –export [GH 3932]
  • Funzionamento non corretto dell'estensione dei file di mmap [GH 3939]
  • Correzione del problema di accesso non funzionante per ARM64 \\wsl$
  • Aggiunta di un'icona predefinita migliore per wsl.exe

Build 18342

Per informazioni di carattere generale su Windows per la build 18342, visita il blog di Windows.

WSL

  • Aggiunta della possibilità per gli utenti di accedere ai file di Linux in una distribuzione WSL da Windows. Questi file sono accessibili tramite la riga di comando e anche le app Windows, tra cui Esplora file, VSCode e così via, possono interagire con essi. Accesso ai file passando a \\wsl$\<nome_distribuzione> oppure visualizzazione di un elenco di distribuzioni in esecuzione passando a \\wsl$
  • Aggiunta di altri tag di informazioni sulla CPU e correzione dei valori Cpus_allowed[_list] [GH 2234]
  • Supporto di exec da un thread non principale [GH 3800]
  • Problemi di aggiornamento della configurazione trattati come non irreversibili [GH 3785]
  • Aggiornamento di binfmt per una corretta gestione degli offset [GH 3768]
  • Abilitazione del mapping delle unità di rete per Plan 9 [GH 3854]
  • Supporto della conversione dei percorsi Windows -> Linux e Linux -> Windows per i montaggi di binding
  • Creazione di sezioni di sola lettura per i mapping relativi a file aperti in sola lettura

Build 18334

Per informazioni di carattere generale su Windows per la build 18334, visita il blog di Windows.

WSL

  • Riprogettazione del modo in cui il fuso orario di Windows viene mappato a un fuso orario di Linux [GH 3747]
  • Correzione delle perdite di memoria e aggiunta di nuove funzioni di conversione delle stringhe [GH 3746]
  • SIGCONT in un elemento threadgroup senza thread è una fase senza operazioni [GH 3741]
  • Visualizzazione corretta dei descrittori di file epoll e socket in /proc/self/fd

Build 18305

Per informazioni di carattere generale su Windows per la build 18305, visita il blog di Windows.

WSL

  • I pthread perdono l'accesso ai file quando il thread primario viene chiuso [GH 3589]
  • TIOCSCTTY deve ignorare il parametro "force" se non è obbligatorio [GH 3652]
  • Miglioramenti della riga di comando di wsl.exe e aggiunta della funzionalità di importazione/esportazione.
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.

Build 18277

Per informazioni di carattere generale su Windows per la build 18277, visita il blog di Windows.

WSL

  • Correzione dell'errore di "interfaccia non trovata" introdotto nella build 18272 [GH 3645]
  • Il flag MNT_FORCE viene ignorato per la chiamata di sistema umount [GH 3605]
  • Impostazione dell'interoperabilità WSL in modo che venga usata l'API CreatePseudoConsole ufficiale
  • Nessun valore di timeout da mantenere al riavvio di FUTEX_WAIT

Build 18272

Per informazioni di carattere generale su Windows per la build 18272, visita il blog di Windows.

WSL

  • AVVISO: questa build presenta un problema che rende inutilizzabile WSL. Quando si tenta di avviare la distribuzione, viene visualizzato un errore di "interfaccia non supportata". Il problema è stato risolto e la risoluzione sarà inclusa nella build Insider Fast della prossima settimana. Se questa build è stata installata, è possibile eseguire il rollback alla build precedente di Windows usando "Tornare alla versione precedente di Windows 10" in Impostazioni-Update> & Security-Recovery>.

Build 18267

Per informazioni di carattere generale su Windows per la build 18267, visita il blog di Windows.

WSL

  • Risoluzione di un problema a causa del quale il processo zombie potrebbe non essere sfruttabile e rimanere all'infinito.
  • WslRegisterDistribution si blocca se il messaggio di errore supera la lunghezza massima [GH 3592]
  • Possibilità per fsync di avere esito positivo per i file di sola lettura in DrvFs [GH 3556]
  • Verifica dell'esistenza delle directory /bin e /sbin prima della creazione dei collegamenti simbolici all'interno [GH 3584]
  • Aggiunta di un meccanismo di timeout di terminazione per le istanze WSL. Il timeout attualmente è impostato su 15 secondi, pertanto l'istanza verrà terminata 15 secondi dopo la chiusura dell'ultimo processo WSL. Per terminare immediatamente una distribuzione, usa quanto segue:
wslconfig.exe /terminate <DistributionName>

Build 17763 (1809)

Per informazioni di carattere generale su Windows per la build 17763, visita il blog di Windows.

WSL

  • La verifica delle autorizzazioni della chiamata di sistema setpriority è troppo rigida per modificare la priorità dello stesso thread [GH 1838]
  • Garanzia che venga usata un'ora di interrupt non distorta per la fase di avvio per evitare che vengano restituiti valori negativi per clock_gettime(CLOCK_BOOTTIME) [GH 3434]
  • Gestione dei collegamenti simbolici nell'interprete binfmt WSL [GH 3424]
  • Migliore gestione della pulizia dei descrittori dei file di sequenza iniziale dell'elemento threadgroup.
  • Impostazione di WSL per l'uso di KeQueryInterruptTimePrecise anziché di KeQueryPerformanceCounter per evitare una condizione di overflow [GH 3252]
  • Ptrace attach può causare un valore restituito non valido dalle chiamate di sistema [GH 1731]
  • Risoluzione di diversi problemi correlati ad AF_UNIX [GH 3371]
  • Risoluzione di un problema che potrebbe non far funzionare l'interoperabilità WSL se la directory di lavoro corrente è costituita da meno di 5 caratteri [GH 3379]
  • Vengono evitate connessioni di loopback con esito negativo e ritardi di un secondo su porte non esistenti [GH 3286]
  • Aggiunta del file stub /proc/sys/fs/file-max [GH 2893]
  • Informazioni più accurate sull'ambito IPV6.
  • Supporto di PR_SET_PTRACER [GH 3053]
  • Il file system pipe cancella inavvertitamente l'evento epoll attivato dal perimetro [GH 3276]
  • L'eseguibile Win32 avviato tramite collegamento simbolico NTFS non rispetta il nome di tale collegamento [GH 2909]
  • Migliore supporto zombie [GH 1353]
  • Aggiunta di voci a wsl.conf per controllare il comportamento di interoperabilità di 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
    
  • Correzione per getsockname che non restituisce sempre il tipo di famiglia di socket UNIX [GH 1774]
  • Aggiunta del supporto per TIOCSTI [GH 1863]
  • I socket non bloccanti nel processo di connessione devono restituire EAGAIN per i tentativi di scrittura [GH 2846]
  • Supporto dell'interoperabilità nei dischi rigidi virtuali montati [GH 3246, 3291]
  • Risoluzione del problema di verifica delle autorizzazioni nella cartella radice [GH 3304]
  • Supporto limitato per IOCTL della tastiera TTY KDGKBTYPE, KDGKBMODE e KDSKBMODE.
  • Le app dell'interfaccia utente di Windows devono essere eseguite anche quando vengono avviate in background.
  • Aggiunta dell'opzione wsl -u o --user [GH 1203]
  • Risoluzione dei problemi di avvio di WSL quando è abilitato l'avvio rapido [GH 2576]
  • I socket Unix devono mantenere le credenziali di peer disconnesso [GH 3183]
  • Nei socket Unix non bloccanti si verifica un errore all'infinito con EAGAIN [GH 3191]
  • case=off è il nuovo tipo di montaggio drvfs predefinito [GH 2937, 3212, 3328]
    • Per altre informazioni, vedi il blog.
  • Aggiunta di wslconfig /terminate per arrestare l'esecuzione delle distribuzioni.
  • Risoluzione del problema relativo alle voci di menu di scelta rapida della shell WSL che non gestiscono correttamente i percorsi con spazi.
  • Esposizione dell'applicazione della distinzione tra maiuscole e minuscole per la singola directory come attributo esteso
  • ARM64: emulazione delle operazioni di manutenzione della cache. Risoluzione del problema relativo a dotnet.
  • DrvFs: non vengono usati caratteri di escape solo per i caratteri nell'intervallo privato corrispondenti a un carattere con caratteri di escape.
  • Correzione di un errore OBOE nella convalida della lunghezza dell'interprete di analisi ELF [GH 3154]
  • I timer assoluti WSL con un orario passato non vengono attivati [GH 3091]
  • Garanzia che i reparse point appena creati siano elencati come tali nella directory padre.
  • Creazione atomica di directory con distinzione tra maiuscole e minuscole in DrvFs.
  • Risoluzione di un altro problema a causa del quale le operazioni a thread multipli potevano restituire ENOENT anche con un file esistente [GH 2712]
  • Risoluzione del problema di avvio di WSL in caso di abilitazione di UMCI [GH 3020]
  • Aggiunta di un menu di scelta rapida di Esplora risorse per l'avvio di WSL [GH 437, 603, 1836]. Per usarlo, tieni premuto MAIUSC e fai clic con il pulsante destro del mouse in una finestra di Esplora risorse.
  • Correzione del comportamento non bloccante dei socket Unix [GH 2822, 3100]
  • Correzione del comando NETLINK in blocco come segnalato in GH 2026.
  • Aggiunta del supporto per i flag di propagazione del montaggio [GH 2911].
  • Risoluzione del problema di troncamento che non causava eventi inotify [GH 2978].
  • Aggiunta dell'opzione --exec per wsl.exe per richiamare un singolo file binario senza una shell.
  • Aggiunta dell'opzione --distribution per wsl.exe per selezionare una distribuzione specifica.
  • Supporto limitato per dmesg. Le applicazioni ora possono effettuare la registrazione in dmesg. Il driver WSL registra informazioni limitate in dmesg. In futuro questa funzionalità può essere estesa per recuperare altre informazioni/dati diagnostici dal driver.
    • Nota: dmesg attualmente è supportato tramite l'interfaccia dispositivo /dev/kmsg. L'interfaccia della chiamata di sistema syslog non è ancora supportata. Pertanto, alcune opzioni della riga di comando di dmesg, ad esempio -S, -C, non funzionano.
  • Modifica della modalità e del GID predefiniti dei dispositivi seriali in modo che corrispondano a quelli nativi [GH 3042]
  • DrvFs ora supporta gli attributi estesi.
    • Nota: DrvFs presenta alcune limitazioni relative al nome degli attributi estesi. Alcuni caratteri (come '/', ':' e '*') non sono consentiti e per i nomi degli attributi estesi non viene applicata la distinzione tra maiuscole e minuscole in DrvFs

Build 18252 (Skip Ahead)

Per informazioni di carattere generale su Windows per la build 18252, visita il blog di Windows.

WSL

  • Spostamento dei file binari init e bsdtar dalla DLL lxssmanager e in una cartella tools separata
  • Correzione della condizione race nella fase di chiusura del descrittore di file in caso di utilizzo di CLONE_FILES
  • Gestione dei campi facoltativi in /proc/pid/mountinfo durante la conversione dei percorsi DrvFs
  • Esito positivo di DrvFs mknod senza il supporto dei metadati per S_IFREG
  • I file di sola lettura creati in DrvFs devono avere impostato l'attributo readonly [GH 3411]
  • Aggiunta dell'helper /sbin/mount.drvfs per la gestione del montaggio DrvFs
  • Uso della ridenominazione POSIX in DrvFs.
  • Possibilità di eseguire la conversione del percorso nei volumi senza un GUID.

Build 17738 (Fast)

Per informazioni di carattere generale su Windows per la build 17738, visita il blog di Windows.

WSL

  • La verifica delle autorizzazioni della chiamata di sistema setpriority è troppo rigida per modificare la priorità dello stesso thread [GH 1838]
  • Garanzia che venga usata un'ora di interrupt non distorta per la fase di avvio per evitare che vengano restituiti valori negativi per clock_gettime(CLOCK_BOOTTIME) [GH 3434]
  • Gestione dei collegamenti simbolici nell'interprete binfmt WSL [GH 3424]
  • Migliore gestione della pulizia dei descrittori dei file di sequenza iniziale dell'elemento threadgroup.

Build 17728 (Fast)

Per informazioni di carattere generale su Windows per la build 17728, visita il blog di Windows.

WSL

  • Impostazione di WSL per l'uso di KeQueryInterruptTimePrecise anziché di KeQueryPerformanceCounter per evitare una condizione di overflow [GH 3252]
  • Ptrace attach può causare un valore restituito non valido dalle chiamate di sistema [GH 1731]
  • Risoluzione di alcuni problemi correlati ad AF_UNIX [GH 3371]
  • Risoluzione di un problema che potrebbe non far funzionare l'interoperabilità WSL se la directory di lavoro corrente è costituita da meno di 5 caratteri [GH 3379]

Build 18204 (Skip Ahead)

Per informazioni di carattere generale su Windows per la build 18204, visita il blog di Windows.

WSL

  • Il file system pipe cancella inavvertitamente l'evento epoll attivato dal perimetro [GH 3276]
  • L'eseguibile Win32 avviato tramite collegamento simbolico NTFS non rispetta il nome di tale collegamento [GH 2909]

Build 17723 (Fast)

Per informazioni di carattere generale su Windows per la build 17723, visita il blog di Windows.

WSL

  • Vengono evitate connessioni di loopback con esito negativo e ritardi di un secondo su porte non esistenti [GH 3286]
  • Aggiunta del file stub /proc/sys/fs/file-max [GH 2893]
  • Informazioni più accurate sull'ambito IPV6.
  • Supporto di PR_SET_PTRACER [GH 3053]
  • Il file system pipe cancella inavvertitamente l'evento epoll attivato dal perimetro [GH 3276]
  • L'eseguibile Win32 avviato tramite collegamento simbolico NTFS non rispetta il nome di tale collegamento [GH 2909]

Build 17713

Per informazioni di carattere generale su Windows per la build 17713, visita il blog di Windows.

WSL

  • Migliore supporto zombie [GH 1353]
  • Aggiunta di voci a wsl.conf per controllare il comportamento di interoperabilità di 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
    
  • Correzione per getsockname che non restituisce sempre il tipo di famiglia di socket UNIX [GH 1774]
  • Aggiunta del supporto per TIOCSTI [GH 1863]
  • I socket non bloccanti nel processo di connessione devono restituire EAGAIN per i tentativi di scrittura [GH 2846]
  • Supporto dell'interoperabilità nei dischi rigidi virtuali montati [GH 3246, 3291]
  • Risoluzione del problema di verifica delle autorizzazioni nella cartella radice [GH 3304]
  • Supporto limitato per IOCTL della tastiera TTY KDGKBTYPE, KDGKBMODE e KDSKBMODE.
  • Le app dell'interfaccia utente di Windows devono essere eseguite anche quando vengono avviate in background.

Build 17704

Per informazioni di carattere generale su Windows per la build 17704, visita il blog di Windows.

WSL

  • Aggiunta dell'opzione wsl -u o --user [GH 1203]
  • Risoluzione dei problemi di avvio di WSL quando è abilitato l'avvio rapido [GH 2576]
  • I socket Unix devono mantenere le credenziali di peer disconnesso [GH 3183]
  • Nei socket Unix non bloccanti si verifica un errore all'infinito con EAGAIN [GH 3191]
  • case=off è il nuovo tipo di montaggio drvfs predefinito [GH 2937, 3212, 3328]
    • Per altre informazioni, vedi il blog.
  • Aggiunta di wslconfig /terminate per arrestare l'esecuzione delle distribuzioni.

Build 17692

Per informazioni di carattere generale su Windows per la build 17692, visita il blog di Windows.

WSL

  • Risoluzione del problema relativo alle voci di menu di scelta rapida della shell WSL che non gestiscono correttamente i percorsi con spazi.
  • Esposizione dell'applicazione della distinzione tra maiuscole e minuscole per la singola directory come attributo esteso
  • ARM64: emulazione delle operazioni di manutenzione della cache. Risoluzione del problema relativo a dotnet.
  • DrvFs: non vengono usati caratteri di escape solo per i caratteri nell'intervallo privato corrispondenti a un carattere con caratteri di escape.

Build 17686

Per informazioni di carattere generale su Windows per la build 17686, visita il blog di Windows.

WSL

  • Correzione di un errore OBOE nella convalida della lunghezza dell'interprete di analisi ELF [GH 3154]
  • I timer assoluti WSL con un orario passato non vengono attivati [GH 3091]
  • Garanzia che i reparse point appena creati siano elencati come tali nella directory padre.
  • Creazione atomica di directory con distinzione tra maiuscole e minuscole in DrvFs.

Build 17677

Per informazioni di carattere generale su Windows per la build 17677, visita il blog di Windows.

WSL

  • Risoluzione di un altro problema a causa del quale le operazioni a thread multipli potevano restituire ENOENT anche con un file esistente [GH 2712]
  • Risoluzione del problema di avvio di WSL in caso di abilitazione di UMCI [GH 3020]

Build 17666

Per informazioni di carattere generale su Windows per la build 17666, visita il blog di Windows.

WSL

AVVISO: esiste un problema che impedisce l'esecuzione di WSL su alcuni chipset AMD [GH 3134]. È pronta una correzione che sta per essere inserita nel ramo Insider Build.

  • Aggiunta di un menu di scelta rapida di Esplora risorse per l'avvio di WSL [GH 437, 603, 1836]. Per usarlo, tieni premuto MAIUSC e fai clic con il pulsante destro del mouse in una finestra di Esplora risorse.
  • Correzione del comportamento non bloccante dei socket Unix [GH 2822, 3100]
  • Correzione del comando NETLINK in blocco come segnalato in GH 2026.
  • Aggiunta del supporto per i flag di propagazione del montaggio [GH 2911].
  • Risoluzione del problema di troncamento che non causava eventi inotify [GH 2978].
  • Aggiunta dell'opzione --exec per wsl.exe per richiamare un singolo file binario senza una shell.
  • Aggiunta dell'opzione --distribution per wsl.exe per selezionare una distribuzione specifica.

Build 17655 (Skip Ahead)

Per informazioni di carattere generale su Windows per la build 17655, visita il blog di Windows.

WSL

  • Supporto limitato per dmesg. Le applicazioni ora possono effettuare la registrazione in dmesg. Il driver WSL registra informazioni limitate in dmesg. In futuro questa funzionalità può essere estesa per recuperare altre informazioni/dati diagnostici dal driver.
    • Nota: dmesg attualmente è supportato tramite l'interfaccia dispositivo /dev/kmsg. L'interfaccia della chiamata di sistema syslog non è ancora supportata. Pertanto, alcune opzioni della riga di comando di dmesg, ad esempio -S, -C, non funzionano.
  • Risoluzione di un problema a causa del quale le operazioni a thread multipli potevano restituire ENOENT anche con un file esistente [GH 2712]

Build 17639 (Skip Ahead)

Per informazioni di carattere generale su Windows per la build 17639, visita il blog di Windows.

WSL

  • Modifica della modalità e del GID predefiniti dei dispositivi seriali in modo che corrispondano a quelli nativi [GH 3042]
  • DrvFs ora supporta gli attributi estesi.
    • Nota: DrvFs presenta alcune limitazioni relative al nome degli attributi estesi. In particolare, alcuni caratteri (come '/', ':' e '*') non sono consentiti e per i nomi degli attributi estesi non viene applicata la distinzione tra maiuscole e minuscole in DrvFs

Build 17133 (Fast)

Per informazioni di carattere generale su Windows per la build 17133, visita il blog di Windows.

WSL

  • Correzione per il blocco in WSL [GH 3039, 3034]

Build 17128 (Fast)

Per informazioni di carattere generale su Windows per la build 17128, visita il blog di Windows.

WSL

  • None

Build 17627 (Skip Ahead)

Per informazioni di carattere generale su Windows per la build 17627, visita il blog di Windows.

WSL

  • Aggiunta del supporto per le operazioni con riconoscimento di futex pi [GH 1006]
    • Tieni presente che le priorità non sono attualmente una funzionalità WSL supportata, pertanto sono previste limitazioni, ma l'utilizzo standard dovrebbe essere consentito.
  • Supporto di Windows Firewall per i processi WSL [GH 1852]
    • Ad esempio, per consentire al processo python WSL di restare in ascolto su una porta qualsiasi, usa il cmd di Windows con privilegi elevati: 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
    • Per altri dettagli su come aggiungere regole del firewall, vedi il collegamento
  • Rispetto della shell predefinita dell'utente in caso di utilizzo di wsl.exe [GH 2372]
  • Segnalazione di tutte le interfacce di rete come Ethernet [GH 2996]
  • Migliore gestione del file /etc/passwd danneggiato. [GH 3001]

Console

  • Nessuna correzione.

Risultati LTP:

Testing in corso.

Build 17618 (Skip Ahead)

Per informazioni di carattere generale su Windows per la build 17618, visita il blog di Windows.

WSL

  • Introduzione della funzionalità pseudoconsole per l'interoperabilità NT [GH 988, 1366, 1433, 1542, 2370, 2406].
  • Il meccanismo di installazione legacy (lxrun.exe) è deprecato. Il meccanismo supportato per l'installazione delle distribuzioni si basa su Microsoft Store.

Console

  • Nessuna correzione.

Risultati LTP:

Testing in corso.

Build 17110

Per informazioni di carattere generale su Windows per la build 17110, visita il blog di Windows.

WSL

  • Possibilità di terminare /init da Windows [GH 2928].
  • DrvFs ora applica la distinzione tra maiuscole e minuscole per la singola directory per impostazione predefinita (equivalente all'opzione di montaggio "case=dir").
    • L'uso di "case=force" (il comportamento precedente) richiede l'impostazione di una chiave del Registro di sistema. Esegui il comando seguente per abilitare "case=force" se hai necessità di usarlo: reg add HKLM\SYSTEM\CurrentControlSet\Services\lxss /v DrvFsAllowForceCaseSensitivity /t REG_DWORD /d 1
    • Se sono presenti directory create con WSL nella versione precedente di Windows che richiedono l'applicazione della distinzione tra maiuscole e minuscole, usa fsutil.exe per contrassegnarle a tale scopo: fsutil.exe file setcasesensitiveinfo <path> enable
  • Terminazione NULL delle stringhe restituite dalla chiamata di sistema uname.

Console

  • Nessuna correzione.

Risultati LTP:

Testing in corso.

Build 17107

Per informazioni di carattere generale su Windows per la build 17107, visita il blog di Windows.

WSL

  • Supporto di TCSETSF e TCSETSW negli endpoint pty master [GH 2552].
  • L'avvio di processi di interoperabilità simultanei può causare EINVAL [GH 2813].
  • Correzione di PTRACE_ATTACH per mostrare lo stato di traccia corretto in /proc/pid/status.
  • Correzione della condizione race nei casi in cui i processi di breve durata clonati sia con il flag CLEARTID che con il flag SETTID potevano essere chiusi senza cancellare l'indirizzo TID.
  • Visualizzazione di un messaggio durante l'aggiornamento delle directory del file system Linux da una build precedente alla 17093. Per altri dettagli sulle modifiche riguardanti il file system della build 17093, vedi le note sulla versione per 17093.

Console

  • Nessuna correzione.

Risultati LTP:

Testing in corso.

Build 17101

Per informazioni di carattere generale su Windows per la build 17101, visita il blog di Windows.

WSL

  • Supporto di signalfd [GH 129]
  • Supporto dei nomi file contenenti caratteri NTFS non validi mediante la codifica come caratteri Unicode privati [GH 1514]
  • Fallback del montaggio automatico sulla sola lettura quando la scrittura non è supportata [GH 2603]
  • Possibilità di incollare coppie di surrogati Unicode (come i caratteri emoji) [GH 2765]
  • Gli pseudofile in /proc e /sys devono restituire read-ready e write-ready da select, poll, epoll e altri [GH 2838]
  • Risoluzione di un problema che potrebbe causare l'esecuzione del servizio a ciclo infinito in caso di manomissione o danneggiamento del Registro di sistema.
  • Correzione dei messaggi netlink in modo che funzionino con la versione più recente (upstream 4.14) di iproute2.

Console

  • Nessuna correzione.

Risultati LTP:

Testing in corso.

Build 17093

Per informazioni di carattere generale su Windows per la build 17093, visita il blog di Windows.

Importante:

Quando WSL viene avviato per la prima volta dopo l'aggiornamento a questa build, deve eseguire alcune operazioni per l'aggiornamento delle directory del file system Linux. Tali operazioni possono richiedere anche diversi minuti, pertanto può sembrare che WSL si avvii lentamente. Questo deve accadere solo una volta per ogni distribuzione installata dallo store.

  • Migliore supporto dell'applicazione della distinzione tra maiuscole e minuscole in DrvFs.
    • DrvFs ora supporta l'applicazione della distinzione tra maiuscole e minuscole per la singola directory. Si tratta di un nuovo flag che può essere impostato per le directory per indicare che per tutte le operazioni in tali directory deve essere applicata la distinzione tra maiuscole e minuscole e ciò consente persino alle applicazioni Windows di aprire correttamente i file che si differenziano esclusivamente per l'uso di maiuscole e minuscole.
    • DrvFs dispone di nuove opzioni di montaggio per il controllo dell'applicazione della distinzione tra maiuscole e minuscole per la singola directory
      • case=force: per tutte le directory viene considerata l'applicazione della distinzione tra maiuscole e minuscole (tranne che per la radice dell'unità). Le nuove directory create con WSL vengono contrassegnate per l'applicazione della distinzione tra maiuscole e minuscole. Questo è il comportamento legacy, con la differenza che le nuove directory vengono contrassegnate per l'applicazione di tale distinzione.
      • case=dir: viene applicata la distinzione tra maiuscole e minuscole solo per le directory con il flag di applicazione di tale distinzione per la singola directory; per le altre directory la distinzione non viene applicata. Le nuove directory create con WSL vengono contrassegnate per l'applicazione della distinzione tra maiuscole e minuscole.
      • case=off: viene applicata la distinzione tra maiuscole e minuscole solo per le directory con il flag di applicazione di tale distinzione per la singola directory; per le altre directory la distinzione non viene applicata. Le nuove directory create con WSL vengono contrassegnate in modo che non venga applicata la distinzione tra maiuscole e minuscole.
    • Nota: le directory create da WSL in release precedenti non hanno questo flag impostato, pertanto non verrà applicata la distinzione tra maiuscole e minuscole se usi l'opzione "case=dir". Sarà presto disponibile un modo per impostare questo flag per le directory esistenti.
    • Esempio di montaggio con queste opzioni (per le unità esistenti devi eseguire lo smontaggio prima di poter effettuare il montaggio con opzioni diverse): sudo mount -t drvfs C: /mnt/c -o case=dir
    • Per ora case=force è ancora l'opzione predefinita. Lo diventerà case = dir in futuro.
  • Ora puoi usare le barre nei percorsi Windows durante il montaggio di DrvFs, ad esempio: sudo mount -t drvfs //server/share /mnt/share
  • WSL ora elabora il file /etc/fstab durante l'avvio dell'istanza [GH 2636].
    • Questa operazione viene eseguita prima del montaggio automatico delle unità DrvFs; le eventuali unità già montate da fstab non verranno rimontate automaticamente, pertanto potrai cambiare il punto di montaggio per unità specifiche.
    • Questo comportamento può essere disattivato con wsl.conf.
  • I file mount, mountinfo e mountstats in /proc usano correttamente caratteri di escape per i caratteri speciali come barre rovesciate e spazi [GH 2799]
  • I file speciali creati con DrvFs, ad esempio collegamenti simbolici WSL o file FIFO e socket quando sono abilitati i metadati, possono ora essere copiati e spostati da Windows.

WSL è più configurabile con wsl.conf

È stato aggiunto un metodo che consente di configurare automaticamente in WSL determinate funzionalità per applicarle ogni volta che avvii il sottosistema. Sono incluse opzioni di montaggio automatico e configurazione di rete. Per altre informazioni, vedi il post del blog all'indirizzo https://aka.ms/wslconf

AF_UNIX consente le connessioni socket tra processi Linux in processi nativi Windows e WSL

Le applicazioni Windows e WSL ora possono comunicare tra loro tramite socket Unix. Immagina di voler eseguire un servizio in Windows e renderlo disponibile per le app sia Windows che WSL. Ora questo è possibile con i socket Unix. Per altre informazioni, leggi il post del blog all'indirizzo https://aka.ms/afunixinterop

WSL

  • Supporto di mmap() con MAP_NORESERVE [GH 121, 2784]
  • Supporto di CLONE_PTRACE e CLONE_UNTRACED [GH 121, 2781]
  • Gestione del segnale di terminazione non SIGCHLD nella clonazione [GH 121, 2781]
  • Stub /proc/sys/fs/inotify/max_user_instances e /proc/sys/fs/inotify/max_user_watches [GH 1705]
  • Errore durante il caricamento di file binari ELF contenenti intestazioni di carico con offset diversi da zero [GH 1884]
  • Azzeramento dei byte di pagine finali durante il caricamento delle immagini.
  • Diminuzione dei casi in cui execve termina il processo senza avvisare

Console

  • Nessuna correzione.

Risultati LTP:

Testing in corso.

Build 17083

Per informazioni di carattere generale su Windows per la build 17083, visita il blog di Windows.

WSL

  • Correzione del bugcheck relativo a epoll [GH 2798, 2801, 2857]
  • Correzione dei blocchi in caso di disattivazione di ASLR [GH 1185, 2870]
  • Garanzia che le operazioni mmap risultino atomiche [GH 2732]

Console

  • Nessuna correzione.

Risultati LTP:

Testing in corso.

Build 17074

Per informazioni di carattere generale su Windows per la build 17074, visita il blog di Windows.

WSL

  • Correzione del formato di archiviazione dei metadati DrvFs [GH 2777]
    Importante: i metadati DrvFs creati prima di questa build non verranno visualizzati correttamente oppure non verranno visualizzati affatto. Per correggere i file interessati, usa chmod e chown per riapplicare i metadati.
  • Risoluzione di un problema relativo a più segnali e chiamate di sistema riavviabili.

Console

  • Nessuna correzione.

Risultati LTP:

Testing in corso.

Build 17063

Per informazioni di carattere generale su Windows per la build 17063, visita il blog di Windows.

WSL

  • DrvFs supporta metadati Linux aggiuntivi. Questo consente di impostare il proprietario e la modalità dei file usando chmod/chown, nonché di creare file speciali, ad esempio FIFO, socket Unix e file del dispositivo. Tale funzionalità attualmente è disabilitata per impostazione predefinita perché è ancora in fase sperimentale. Nota: è stato corretto un bug nel formato dei metadati usato da DrvFs. Mentre i metadati funzionano in questa build per la sperimentazione, le build future non leggeranno correttamente i metadati creati da questa build. Potresti dover aggiornare manualmente il proprietario dei file modificati e i dispositivi con un ID dispositivo personalizzato dovranno essere ricreati.

    Per abilitare la funzionalità, monta DrvFs con l'opzione metadata (per abilitarla in un montaggio già esistente, devi prima eseguire lo smontaggio):

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

    Le autorizzazioni Linux vengono aggiunte al file come metadati aggiuntivi; non influiscono sulle autorizzazioni Windows. Tieni presente che la modifica di un file tramite un editor di Windows può causare la rimozione dei metadati. In questo caso, verranno ripristinate le autorizzazioni predefinite del file.

  • A DrvFs sono state aggiunte opzioni di montaggio per controllare i file senza metadati.

    • uid: ID utente usato per il proprietario di tutti i file.
    • gid: ID gruppo usato per il proprietario di tutti i file.
    • umask: maschera ottale delle autorizzazioni da escludere per tutti i file e le directory.
    • fmask: maschera ottale delle autorizzazioni da escludere per tutti i file normali.
    • dmask: maschera ottale delle autorizzazioni da escludere per tutte le directory.

    Ad esempio:

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

    Da combinare con l'opzione metadata per specificare le autorizzazioni predefinite per i file senza metadati.

  • È stata introdotta una nuova variabile di ambiente, WSLENV, per configurare la modalità di flusso delle variabili di ambiente tra WSL e Win32.

    Ad esempio:

    WSLENV=GOPATH/l:USERPROFILE/pu:DISPLAY
    

    WSLENV è un elenco, delimitato dai due punti, delle variabili di ambiente che possono essere incluse quando si avviano processi WSL da Win32 o processi Win32 da WSL. A ogni variabile può essere aggiunto un suffisso con una barra seguita da flag per specificare la modalità di conversione.

    • p: il valore è un percorso che deve essere convertito tra percorsi WSL e percorsi Win32.
    • I: il valore è un elenco di percorsi. In WSL si tratta di un elenco delimitato dai due punti. In Win32 si tratta di un elenco delimitato da punto e virgola.
    • u: il valore deve essere incluso solo quando WSL viene richiamato da Win32
    • w: il valore deve essere incluso solo quando Win32 viene richiamato da WSL

    Puoi impostare WSLENV in .bashrc o nell'ambiente Windows personalizzato per l'utente.

  • I montaggi drvfs mantengono correttamente i timestamp da tar, cp -p (GH 1939)

  • I collegamenti simbolici drvfs segnalano le dimensioni corrette (GH 2641)

  • read/write funziona per dimensioni di I/O molto grandi (GH 2653)

  • waitpid funziona con gli ID gruppo di processo (GH 2534)

  • Sono state migliorate in modo significativo le prestazioni di mmap per le aree riservate di grandi dimensioni e migliorano le prestazioni di ghc (GH 1671)

  • personality fornisce il supporto per READ_IMPLIES_EXEC; correzione di maxima e clisp (GH 1185)

  • mprotect supporta PROT_GROWSDOWN; correzione di clisp (GH 1128)

  • Vengono corretti gli errori di pagina in modalità overcommit; correzione di sbcl (GH 1128)

  • clone supporta un numero maggiore di combinazioni di flag

  • Viene fornito il supporto per select/epoll dei file epoll (in precedenza una fase senza operazioni).

  • Notifica di ptrace per chiamate di sistema non implementate.

  • Le interfacce non attive quando vengono generati server dei nomi resolv.conf vengono ignorate [GH 2694]

  • Le interfacce di rete senza un indirizzo fisico vengono enumerate [GH 2685]

  • Altri miglioramenti e correzioni di bug.

Strumenti Linux disponibili per gli sviluppatori in Windows

  • La toolchain della riga di comando di Windows include bsdtar (tar) e curl. Per avere altre informazioni sull'aggiunta di questi due nuovi strumenti e su come influiscono sull'esperienza di sviluppo in Windows, leggere questo blog.

  • AF_UNIX è disponibile in Windows Insider SDK (17061+). Leggi questo blog per avere altre informazioni su AF_UNIX e su come può essere usato dagli sviluppatori in Windows.

Console

  • Nessuna correzione.

Risultati LTP:

Testing in corso.

Build 17046

Per informazioni di carattere generale su Windows per la build 17046, visita il blog di Windows.

Fisso

WSL

  • Possibilità di eseguire i processi senza un terminale attivo [GH 709, 1007, 1511, 2252, 2391 e altri]
  • Migliore supporto di CLONE_VFORK e CLONE_VM [GH 1878, 2615]
  • Driver di filtro TDI saltati per le operazioni di rete WSL [GH 1554]
  • DrvFs crea collegamenti simbolici NT quando vengono soddisfatte determinate condizioni [GH 353, 1475, 2602]
    • La destinazione del collegamento deve essere relativa, non deve superare alcun punto di montaggio o collegamento simbolico e deve esistere.
    • L'utente deve disporre di SE_CREATE_SYMBOLIC_LINK_PRIVILEGE (in questo caso, in genere è necessario avviare wsl.exe con privilegi elevati), tranne se è attivata la modalità sviluppatore.
    • In tutti gli altri casi, DrvFs crea ancora i collegamenti simbolici WSL.
  • Possibilità di eseguire contemporaneamente istanze di WSL con e senza privilegi elevati.
  • Supporto di /proc/sys/kernel/yama/ptrace_scope
  • Aggiunta di wslpath per l'esecuzione di conversioni WSL<->Windows. [GH 522, 1243, 1834, 2327 e altri]
      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'
    

    Console

  • Nessuna correzione.

Risultati LTP:

Testing in corso.

Build 17040

Per informazioni di carattere generale su Windows per la build 17040, visita il blog di Windows.

Fisso

WSL

  • Nessuna correzione dopo la build 17035.

Console

  • Nessuna correzione dopo la build 17035.

Risultati LTP:

Testing in corso.

Build 17035

Per informazioni di carattere generale su Windows per la build 17035, visita il blog di Windows.

Fisso

WSL

  • L'accesso ai file in DrvFs talvolta potrebbe avere esito negativo con EINVAL [GH 2448]

Console

  • Parziale perdita di colore in caso di inserimento/eliminazione di righe in modalità VT.

Risultati LTP:

Testing in corso.

Build 17025

Per informazioni di carattere generale su Windows per la build 17025, visita il blog di Windows.

Fisso

WSL

  • Avvio dei processi iniziali in un nuovo gruppo di processi in primo piano [GH 1653, 2510].
  • Correzioni per il recapito SIGHUP [GH 2496].
  • Generazione di un nome di bridge virtuale predefinito, se non ne viene fornito alcuno [GH 2497].
  • Implementazione di /proc/sys/kernel/random/boot_id [GH 2518].
  • Altre correzioni di pipe interop stdout/stderr.
  • Chiamata di sistema syncfs stub.

Console

  • Correzione della conversione VT di input per le console di terze parti [GH 111]

Risultati LTP:

Testing in corso.

Build 17017

Per informazioni di carattere generale su Windows per la build 17017, visita il blog di Windows.

Fisso

WSL

  • Le intestazioni di programma ELF vuote vengono ignorate [GH 330].
  • Possibilità per LxssManager di creare istanze di WSL per utenti non interattivi (supporto di task pianificati e ssh) [GH 777, 1602].
  • Supporto di scenari WSL->Win32->WSL ("inizio validità") [GH 1228].
  • Supporto limitato per la terminazione delle app console richiamate tramite interoperabilità [GH 1614].
  • Supporto delle opzioni di montaggio per devpts [GH 1948].
  • Blocco dell'avvio degli elementi figlio da parte di ptrace [GH 2333].
  • Mancanza di alcuni eventi in EPOLLET [GH 2462].
  • Restituzione di una quantità maggiore di dati per PTRACE_GETSIGINFO.
  • Restituzione di risultati non corretti in caso di utilizzo di getdents con lseek.
  • Risoluzione di alcuni blocchi di app di interoperabilità Win32, in attesa dell'input per una pipe che non dispone di altri dati.
  • Supporto di O_ASYNC per i file tty/pty.
  • Altri miglioramenti e correzioni di bug.

Console

  • Nessuna modifica relativa alla console in questa release.

Risultati LTP:

Testing in corso.

Fall Creators Update

Build 16288

Per informazioni di carattere generale su Windows per la build 16288, visita il blog di Windows.

Fisso

WSL

  • Inizializzazione e segnalazione corrette di uid, gid e modalità per i descrittori di file socket [GH 2490]
  • Altri miglioramenti e correzioni di bug.

Console

  • Nessuna modifica relativa alla console in questa release.

Risultati LTP:

Nessuna modifica successiva alla build 16273

Build 16278

Per informazioni di carattere generale su Windows per la build 162738, visita il blog di Windows.

Fisso

WSL

  • Annullamento esplicito del mapping per le viste mappate delle sezioni con file di backup in caso di rimozione dello stato LX MM [GH 2415]
  • Altri miglioramenti e correzioni di bug.

Console

  • Nessuna modifica relativa alla console in questa release.

Risultati LTP:

Nessuna modifica successiva alla build 16273

Build 16275

Per informazioni di carattere generale su Windows per la build 162735, visita il blog di Windows.

Fisso

WSL

  • Nessuna modifica relativa a WSL in questa release.

Console

  • Nessuna modifica relativa alla console in questa release.

Risultati LTP:

Nessuna modifica successiva alla build 16273

Build 16273

Per informazioni di carattere generale su Windows per la build 16273, visita il blog di Windows.

Fisso

WSL

  • Risoluzione di un problema a causa del quale DrvFs a volte segnalava un tipo di file errato per le directory [GH 2392]
  • Possibilità di creare socket NETLINK_KOBJECT_UEVENT per sbloccare i programmi che usano uevent [GH 1121, 2293, 2242, 2295, 2235, 648, 637]
  • Aggiunta del supporto per una connessione non bloccante [GH 903, 1391, 1584, 1585, 1829, 2290, 2314]
  • Implementazione del flag della chiamata di sistema di clonazione CLONE_FS [GH 2242]
  • Risoluzione di problemi relativi alla gestione non corretta di tabulazioni o virgolette nell'interoperabilità NT [GH 1625, 2164]
  • Risoluzione dell'errore di accesso negato durante i tentativi di riavvio delle istanze di WSL [GH 651, 2095]
  • Implementazione delle operazioni futex FUTEX_REQUEUE e FUTEX_CMP_REQUEUE [GH 2242]
  • Correzione delle autorizzazioni per vari file SysFs [GH 2214]
  • Correzione del blocco dello stack Haskell durante l'installazione [GH 2290]
  • Implementazione dei flag 'C' 'O' e 'P' di binfmt_misc [GH 2103]
  • Aggiunta di /proc/sys/kernel /shmmax /shmmni & /threads-max [GH 1753]
  • Aggiunta di supporto parziale per la chiamata di sistema ioprio_set [GH 498]
  • Stub SO_REUSEPORT e aggiunta del supporto di SO_PASSCRED per i socket netlink [GH 69]
  • Restituzione di codici di errore diversi da parte di RegisterDistribuiton se una distribuzione è in fase di installazione o disinstallazione.
  • Possibilità di annullare tramite wslconfig.exe la registrazione delle distribuzioni WSL parzialmente installate
  • Correzione del blocco del test dei socket python da udp::msg_peek
  • Altri miglioramenti e correzioni di bug.

Console

  • Nessuna modifica relativa alla console in questa release.

Risultati LTP:

Totale test: 1904
Totale test ignorati: 209
Totale errori: 229

Build 16257

Per informazioni di carattere generale su Windows per la build 16257, visita il blog di Windows.

Fisso

WSL

  • Implementazione della chiamata di sistema prlimit64
  • Aggiunta del supporto per ulimit -n (setrlimit RLIMIT_NOFILE) [GH 1688]
  • Stub MSG_MORE per i socket TCP [GH 2351]
  • Correzione del comportamento del vettore ausiliario AT_EXECFN non valido [GH 2133]
  • Correzione del comportamento di Copia/Incolla per console/tty e aggiunta di una gestione migliore del buffer pieno [GH 2204, 2131]
  • Impostazione di AT_SECURE nel vettore ausiliario per programmi set-user-ID e set-group-ID [GH 2031]
  • Nessuna gestione di TIOCPGRP da parte dell'endpoint master pseudoterminale [GH 1063]
  • Correzione delle operazioni di lseek per il rewind delle directory in [GH 2310]
  • Blocco di /dev/ptmx dopo un utilizzo intensivo [GH 1882]
  • Altri miglioramenti e correzioni di bug.

Console

Risultati LTP:

Nessuna modifica successiva alla build 16251

Supporto delle chiamate di sistema

Di seguito è riportato un elenco di chiamate di sistema nuove o migliorate, implementate in qualche modo in WSL. Le chiamate di sistema contenute in questo elenco sono supportate in almeno uno scenario, ma i relativi parametri potrebbero non essere tutti supportati in questo momento.

prlimit64

Problemi noti

Problema GitHub 2392: cartelle di Windows non riconosciute da WSL...

Nella build 16257 WSL presenta problemi durante l'enumerazione di file e cartelle di Windows tramite /mnt/c/.... Questo problema è stato risolto e la risoluzione dovrebbe essere rilasciata nella build Insider durante la settimana che inizia il 14/08/2017.


Build 16251

Per informazioni di carattere generale su Windows per la build 16251, visita il blog di Windows.

Fisso

WSL

  • Rimozione del tag beta dal componente facoltativo WSL; per i dettagli, vedi il post del blog.
  • Inizializzazione corretta di -set uid e gid salvati per i file binari set-user-ID e set-group-ID in exec [GH 962, 1415, 2072]
  • Aggiunta del supporto per ptrace PTRACE_O_TRACEEXIT [GH 555]
  • Aggiunta del supporto per ptrace PTRACE_GETFPREGS e PTRACE_GETREGSET con NT_FPREGSET [GH 555]
  • Correzione di ptrace in modo che si arresti in caso di segnali ignorati
  • Altri miglioramenti e correzioni di bug.

Console

  • Nessuna modifica relativa alla console in questa release.

Risultati LTP:

Numero di test superati: 768
Numero di test non superati: 244
Numero di test ignorati: 96


Build 16241

Per informazioni di carattere generale su Windows per la build 16241, visita il blog di Windows.

Fisso

WSL

  • Nessuna modifica relativa a WSL in questa release.

Console

  • Correzione relativa all'output del carattere errato per DEC in caso di linee che si incrociano, problema originariamente segnalato qui
  • Correzione relativa alla mancata visualizzazione di un testo di output nella tabella codici 65001 (utf8)
  • Le modifiche apportate ai valori RGB di un colore non vengono trasferite ad altre parti della tavolozza in caso di modifica della selezione. La finestra delle proprietà della console è quindi molto più facile da usare.
  • CTRL+S non sembra funzionare correttamente
  • Un-Bold/-Dim completamente assenti dai codici di escape ANSI [GH 2174]
  • Temi colore Vim non supportati correttamente dalla console [GH 1706]
  • Impossibilità di incollare determinati caratteri [GH 2149]
  • Strana interazione tra il ridimensionamento dell'adattamento dinamico del contenuto e il ridimensionamento di una finestra bash quando la riga di comando/modifica non è vuota [GH ConEmu 1123]
  • Impossibilità di liberare la schermata tramite CTRL-L [GH 1978]
  • Bug di rendering della console in caso di visualizzazione di VT in HDPI [GH 1907]
  • Aspetto strano dei caratteri giapponesi con il carattere Unicode U+30FB [GH 2146]
  • Altri miglioramenti e correzioni di bug.

Build 16237

Per informazioni di carattere generale su Windows per la build 16237, visita il blog di Windows.

Fisso

  • Uso degli attributi predefiniti per i file senza EAs in lxfs (root, root, 0000)
  • Aggiunta del supporto per le distribuzioni che usano attributi estesi
  • Correzione del riempimento per le voci restituite da getdents e getdents64
  • Correzione della verifica delle autorizzazioni per la chiamata di sistema shmctl SHM_STAT [GH 2068]
  • Correzione dello stato epoll iniziale errato per tty [GH 2231]
  • Correzione della mancata restituzione di tutte le voci da parte di DrvFs readdir [GH 2077]
  • Correzione di LxFs readdir in caso di scollegamento dei file [GH 2077]
  • Possibilità di riaprire tramite procfs i file drvfs scollegati
  • Aggiunta dell'override di chiave del Registro di sistema globale per la disabilitazione delle funzionalità WSL (interoperabilità/montaggio delle unità)
  • Correzione del conteggio errato dei blocchi in "stat" per DrvFs (e LxFs) [GH 1894]
  • Altri miglioramenti e correzioni di bug.

Build 16232

Per informazioni di carattere generale su Windows per la build 16232, visita il blog di Windows.

Fisso

  • Nessuna modifica relativa a WSL in questa release.

Build 16226

Per informazioni di carattere generale su Windows per la build 16226, visita il blog di Windows.

Fisso

  • Supporto delle chiamate di sistema correlate a xattr (getxattr, setxattr, listxattr, removexattr).
  • Supporto di xattr security.capability.
  • Maggiore compatibilità con alcuni file system e filtri, inclusi i server non MS SMB [GH 1952]
  • Maggiore supporto dei segnaposto OneDrive, dei segnaposto GVFS e dei file compressi di Compact OS.
  • Altri miglioramenti e correzioni di bug.

Build 16215

Per informazioni di carattere generale su Windows per la build 16215, visita il blog di Windows.

Fisso

  • Modalità sviluppatore non più richiesta da WSL.
  • Supporto delle giunzioni di directory in drvfs.
  • Gestione della disinstallazione dei pacchetti appx di distribuzione di WSL.
  • Aggiornamento di procfs per la visualizzazione di mapping privati e condivisi.
  • Aggiunta della possibilità per wslconfig.exe di pulire le distribuzioni parzialmente installate o disinstallate.
  • Aggiunta del supporto di IP_MTU_DISCOVER per i socket TCP [GH 1639, 2115, 2205]
  • Deduzione della famiglia di protocolli per le route ad AF_INADDR.
  • Miglioramenti dei dispositivi seriali [GH 1929].

Build 16199

Per informazioni di carattere generale su Windows per la build 16199, visita il blog di Windows.

Fisso

  • Nessuna modifica relativa a WSL in queste release.

Build 16193

Per informazioni di carattere generale su Windows per la build 16193, visita il blog di Windows.

Fisso

  • Condizione race tra l'invio di SIGCONT e la terminazione di un elemento threadgroup [GH 1973]
  • Modifica dei dispositivi tty e pty in modo che venga segnalato FILE_DEVICE_NAMED_PIPE anziché FILE_DEVICE_CONSOLE [GH 1840]
  • Correzione di SSH per IP_OPTIONS
  • Spostamento del montaggio DrvFs nel daemon init [GH 1862, 1968, 1767, 1933]
  • Aggiunta del supporto in DrvFs per i collegamenti simbolici NT seguenti.

Build 16184

Per informazioni di carattere generale su Windows per la build 16184, visita il blog di Windows.

Fisso

  • Rimozione del task di manutenzione del pacchetto apt (lxrun.exe /update)
  • Correzione della mancata visualizzazione dell'output dai processi Windows in node.js [GH 1840]
  • Applicazione di requisiti di allineamento meno rigidi in lxcore [GH 1794]
  • Correzione della gestione del flag AT_EMPTY_PATH in alcune chiamate di sistema.
  • Risoluzione di un problema a causa del quale l'eliminazione di file DrvFs con handle aperti dà luogo a un comportamento non definito da parte del file [GH 544,966,1357,1535,1615]
  • /etc/hosts ora erediterà le voci del file hosts di Windows (%windir%\system32\drivers\etc\hosts) [GH 1495]

Build 16179

Per informazioni di carattere generale su Windows per la build 16179, visita il blog di Windows.

Fisso

  • Nessuna modifica relativa a WSL questa settimana.

Build 16176

Per informazioni di carattere generale su Windows per la build 16176, visita il blog di Windows.

Fisso

  • Abilitazione del supporto seriale
  • Aggiunta dell'opzione IP_OPTIONS per i socket IP [GH 1116]
  • Implementazione della funzione pwritev (durante il caricamento del file in nginx/PHP-FPM) [GH 1506]
  • Aggiunta delle opzioni IP_MULTICAST_IF e IPV6_MULTICAST_IF per i socket IP [GH 990]
  • Supporto delle opzioni IP_MULTICAST_LOOP e IPV6_MULTICAST_LOOP per i socket [GH 1678]
  • Aggiunta dell'opzione IP(V6)_MTU dei socket per le app (node, traceroute, dig, nslookup, host)
  • Aggiunta dell'opzione IPV6_UNICAST_HOPS per i socket IP
  • Miglioramenti relativi al file system
    • Possibilità di montare percorsi UNC
    • Abilitazione del supporto CDFS in drvfs
    • Gestione corretta delle autorizzazioni per i file system di rete in drvfs
    • Aggiunta del supporto per le unità remote a drvfs
    • Abilitazione del supporto FAT in drvfs
  • Altri miglioramenti e correzioni

Risultati LTP

Nessuna modifica successiva alla versione 15042


Build 16170

Per informazioni di carattere generale su Windows per la build 16170, visita il blog di Windows.

È stato rilasciato un nuovo post del blog in cui vengono illustrati gli sforzi compiuti per testare WSL.

Corretto

  • Supporto delle opzioni IP_ADD_MEMBERSHIP e IPV6_ADD_MEMBERSHIP per i socket [GH 1678]
  • Aggiunta del supporto per PTRACE_OLDSETOPTIONS. [GH 1692]
  • Altri miglioramenti e correzioni

Risultati LTP

Nessuna modifica successiva alla versione 15042


Build 15046 per Windows 10 Creators Update

Non sono pianificate altre funzionalità o correzioni di WSL da includere in Creators Update di Windows 10. Le note sulla versione per WSL riprenderanno nelle prossime settimane con aggiunte destinate al successivo Windows Update importante. Per informazioni di carattere generale su Windows per la build 15046 e le future release Insider, visita il blog di Windows.


Build 15042

Per informazioni di carattere generale su Windows per la build 15042, visita il blog di Windows.

Fisso

  • Correzione di un deadlock in caso di rimozione di un percorso che finisce con ".."
  • Risoluzione di un problema a causa del quale FIONBIO non restituisce 0 se l'operazione ha esito positivo [GH 1683]
  • Risoluzione di un problema relativo alle operazioni di lettura con lunghezza pari a zero per i socket di datagramma inet
  • Correzione di un possibile deadlock dovuto a una condizione race in drvfs inode lookup [GH 1675]
  • Supporto esteso per i dati ausiliari dei socket Unix; SCM_CREDENTIALS e SCM_RIGHTS [GH 514, 613, 1326]
  • Altri miglioramenti e correzioni

Risultati LTP:

Numero di test superati: 737
Numero di test non superati (con errori, ignorati e così via): 255


Build 15031

Per informazioni di carattere generale su Windows per la build 15031, visita il blog di Windows.

Fisso

  • Correzione di un bug a causa del quale il comportamento di time(2) talvolta non è corretto.
  • Risoluzione di un problema a causa del quale le chiamate di sistema *SIGPROCMASK potevano danneggiare la maschera dei segnali.
  • Restituzione della lunghezza della riga di comando completa nella notifica relativa alla creazione del processo WSL [GH 1632]
  • WSL ora segnala l'uscita dal thread tramite ptrace per i blocchi GDB [GH 1196]
  • Correzione di un bug che causa il blocco dei pty dopo numerose operazioni di I/O tmux [GH 1358]
  • Correzione della convalida del timeout in numerose chiamate di sistema (futex, semtimedop, ppoll, sigtimedwait, itimer, timer_create)
  • Aggiunta del supporto di EFD_SEMAPHORE di eventfd [GH 452]
  • Altri miglioramenti e correzioni

Risultati LTP:

Numero di test superati: 737
Numero di test non superati (con errori, ignorati e così via): 255


Build 15025

Per informazioni di carattere generale su Windows per la build 15025, visita il blog di Windows.

Fisso

  • Correzione di un bug che causava l'interruzione di grep 2.27 [GH 1578]
  • Implementazione del flag EFD_SEMAPHORE per la chiamata di sistema eventfd2 [GH 452]
  • Implementazione di /proc/[pid]/net/ipv6_route [GH 1608]
  • Supporto delle operazioni di I/O basate su segnali per i socket di flusso Unix [GH 393, 68]
  • Supporto di F_GETPIPE_SZ e F_SETPIPE_SZ [GH 1012]
  • Implementazione della chiamata di sistema recvmmsg() [GH 1531]
  • Correzione di un bug a causa del quale epoll_wait() non attendeva [GH 1609]
  • Implementazione di /proc/version_signature
  • La chiamata di sistema tee ora restituisce un errore se entrambi i descrittori di file fanno riferimento alla stessa pipe
  • Implementazione del comportamento corretto per SO_PEERCRED per i socket Unix
  • Correzione della gestione dei parametri non validi per la chiamata di sistema tkill
  • Modifiche per aumentare le prestazioni di drvfs
  • Correzione secondaria per il blocco delle operazioni di I/O Ruby
  • Correzione di recvmsg() con la restituzione di EINVAL per il flag MSG_DONTWAIT per i socket inet [GH 1296]
  • Altri miglioramenti e correzioni

Risultati LTP:

Numero di test superati: 732
Numero di test non superati (con errori, ignorati e così via): 255


Build 15019

Per informazioni di carattere generale su Windows per la build 15019, visita il blog di Windows.

Fisso

  • Correzione del bug che segnalava erroneamente l'utilizzo della CPU in procfs per strumenti come htop (GH 823, 945, 971)
  • In caso di chiamata di open() con O_TRUNC per un file esistente, inotify ora genera IN_MODIFY prima di IN_OPEN
  • Correzioni relative a getsockopt SO_ERROR per i socket Unix per abilitare postgres [GH 61, 1354]
  • Implementazione di /proc/sys/net/core/somaxconn per il linguaggio GO
  • Il task in background Apt-get package update ora viene eseguito nascosto
  • Cancellazione dell'ambito per localhost ipv6 (errore Spring-Framework(Java)).
  • Altri miglioramenti e correzioni

Risultati LTP:

Numero di test superati: 714
Numero di test non superati (con errori, ignorati e così via): 249


Build 15014

Per informazioni di carattere generale su Windows per la build 15014, visita il blog di Windows.

Fisso

  • CTRL+C ora funziona come previsto
  • htop e ps auxw ora mostrano l'utilizzo corretto delle risorse (GH 516)
  • Conversione di base delle eccezioni NT in segnali (GH 513)
  • fallocate ora ha esito negativo con ENOSPC quando si esaurisce lo spazio anziché EINVAL (GH 1571)
  • Aggiunta di /proc/sys/kernel/sem.
  • Implementazione delle chiamate di sistema semop e semtimedop
  • Correzione degli errori di nslookup con le opzioni IP_RECVTOS e IPV6_RECVTCLASS per i socket (GH 69)
  • Supporto delle opzioni IP_RECVTTL e IPV6_RECVHOPLIMIT per i socket
  • Altri miglioramenti e correzioni

Risultati LTP:

Numero di test superati: 709
Numero di test non superati (con errori, ignorati e così via): 255

Riepilogo delle chiamate di sistema

Chiamate di sistema totali: 384
Implementate totali: 235
Sottoposte a stub totali: 22
Non implementate totali: 127


Build 15007

Per informazioni di carattere generale su Windows per la build 15007, visita il blog di Windows.

Problema noto

  • È presente un bug noto a causa del quale la console non riconosce alcuni input tramite CTRL+<key>. È incluso il comando CTRL+C che opererà come una normale pressione del tasto 'C'.

    • Soluzione alternativa: eseguire il mapping di un tasto alternativo a CTRL+C. Ad esempio, per eseguire il mapping di CTRL+K a CTRL+C, esegui: stty intr \^k. Si tratta di un mapping per il singolo terminale che dovrà essere eseguito ogni volta che viene avviato bash. Gli utenti possono esplorare l'opzione per includere questo nel rispettivo .bashrc

Fisso

  • Correzione del problema a causa del quale l'esecuzione di WSL utilizzava il 100% di un core CPU
  • Supporto dell'opzione IP_PKTINFO, IPV6_RECVPKTINFO per i socket (GH 851, 987)
  • Troncamento dell'indirizzo fisico dell'interfaccia di rete a 16 byte in lxcore (GH 1452, 1414, 1343, 468, 308)
  • Altri miglioramenti e correzioni

Risultati LTP:

Numero di test superati: 709
Numero di test non superati (con errori, ignorati e così via): 255


Build 15002

Per informazioni di carattere generale su Windows per la build 15002, visita il blog di Windows.

Problema noto

Due problemi noti:

  • È presente un bug noto a causa del quale la console non riconosce alcuni input tramite CTRL+<key>. È incluso il comando CTRL+C che opererà come una normale pressione del tasto 'C'.

    • Soluzione alternativa: eseguire il mapping di un tasto alternativo a CTRL+C. Ad esempio, per eseguire il mapping di CTRL+K a CTRL+C, esegui: stty intr \^k. Si tratta di un mapping per il singolo terminale che dovrà essere eseguito ogni volta che viene avviato bash. Gli utenti possono esplorare l'opzione per includere questo nel rispettivo .bashrc
  • Mentre WSL è in esecuzione, un thread di sistema utilizzerà il 100% di un core CPU. La causa principale è stata individuata e risolta internamente.

Fisso

  • Tutte le sessioni bash ora devono essere create allo stesso livello di autorizzazione. Il tentativo di avviare una sessione a un livello diverso verrà bloccato. Ciò significa che le console di amministrazione e non di amministrazione non possono essere eseguite contemporaneamente (GH 626)
  • Implementazione dei messaggi NETLINK_ROUTE seguenti (è richiesto l'amministratore di Windows):
    • RTM_NEWADDR (supporta ip addr add)
    • RTM_NEWROUTE (supporta ip route add)
    • RTM_DELADDR (supporta ip addr del)
    • RTM_DELROUTE (supporta ip route del)
  • La verifica dei task pianificati per i pacchetti da aggiornare non verrà più eseguita su una connessione a consumo (GH 1371)
  • Correzione dell'errore che blocca l'invio tramite pipe, ovvero bash -c "ls -alR /" | bash -c "cat" (GH 1214)
  • Implementazione dell'opzione TCP_KEEPCNT per i socket (GH 843)
  • Implementazione dell'opzione IP_MTU_DISCOVER INET per i socket (GH 720, 717, 170, 69)
  • Rimozione della funzionalità legacy per l'esecuzione dei file binari NT da init con la ricerca percorso NT (GH 1325)
  • Correzione della modalità di /dev/kmsg per consentire l'accesso di gruppo o altro accesso in lettura (0644) (GH 1321)
  • Implementazione di /proc/sys/kernel/random/uuid (GH 1092)
  • Correzione dell'errore a causa del quale l'ora di inizio del processo veniva visualizzata come l'anno 2432 (GH 974)
  • Impostazione della variabile di ambiente TERM predefinita su xterm-256color (GH 1446)
  • Modifica del modo in cui il commit del processo viene calcolato durante la divisione del processo (GH 1286)
  • Implementazione di /proc/sys/vm/overcommit_memory (GH 1286)
  • Implementazione di /proc/net/route file (GH 69)
  • Correzione dell'errore a causa del quale il nome del collegamento veniva localizzato in modo errato (GH 696)
  • Correzione della logica di analisi ELF che segnala erroneamente che le intestazioni di programma devono essere minori o uguali a PATH_MAX (GH 1048)
  • Implementazione del callback statfs per procfs, sysfs, cgroupfs e binfmtfs (GH 1378)
  • Correzione delle finestre AptPackageIndexUpdate che non si chiudono (GH 1184, problema trattato anche in GH 1193)
  • Aggiunta del supporto di ADDR_NO_RANDOMIZE per la personalità ASLR [GH 1148, 1128]
  • Miglioramento di PTRACE_GETSIGINFO, SIGSEGV, per l'esecuzione corretta delle tracce di stack gdb durante la fase AV (GH 875)
  • L'analisi ELF non ha più esito negativo per i file binari patchelf (GH 471)
  • Propagazione del DNS VPN a /etc/resolv.conf (GH 416, 1350)
  • Miglioramenti relativi alla chiusura di TCP per un trasferimento dati più affidabile [GH 610, 616, 1025, 1335]
  • Restituzione del codice di errore corretto quando vengono aperti troppi file (EMFILE) (GH 1126, 2090)
  • Nel log di controllo di Windows ora viene segnalato il nome dell'immagine durante il controllo della creazione del processo.
  • Ora si verifica un errore non grave quando bash.exe viene avviato da una finestra bash
  • Aggiunta di un messaggio di errore da visualizzare quando l'interoperabilità non riesce ad accedere a una directory di lavoro in LxFs (ovvero notepad.exe .bashrc)
  • Risoluzione di un problema a causa del quale il percorso Windows veniva troncato in WSL
  • Altri miglioramenti e correzioni

Risultati LTP:

Numero di test superati: 690
Numero di test non superati (con errori, ignorati e così via): 274


Supporto delle chiamate di sistema

Di seguito è riportato un elenco di chiamate di sistema nuove o migliorate, implementate in qualche modo in WSL. Le chiamate di sistema contenute in questo elenco sono supportate in almeno uno scenario, ma i relativi parametri potrebbero non essere tutti supportati in questo momento.

shmctl
shmget
shmdt
shmat

Build 14986

Per informazioni di carattere generale su Windows per la build 14986, visita il blog di Windows.

Fisso

  • Correzione dei bugcheck con IOCTL Netlink e Pty
  • Segnalazione di 4.4.0-43 da parte della versione del kernel per coerenza con Xenial
  • Avvio di Bash.exe se l'input è indirizzato a 'nul:' (GH 1259)
  • Segnalazione corretta degli ID thread in procfs (GH 967)
  • Supporto dei flag IN_UNMOUNT | IN_Q_OVERFLOW | IN_IGNORED | IN_ISDIR in inotify_add_watch() (GH 1280)
  • Implementazione di timer_create e delle chiamate di sistema correlate. Ciò consente il supporto di GHC (GH 307)
  • Risoluzione del problema a causa del quale il ping restituiva 0,000 ms come ora (GH 1296)
  • Restituzione del codice di errore corretto quando vengono aperti troppi file.
  • Risoluzione del problema in WSL a causa del quale la richiesta Netlink per i dati dell'interfaccia di rete ha esito negativo con EINVAL se l'indirizzo hardware dell'interfaccia è a 32 byte (come avviene per l'interfaccia)
    • Tieni presente che l'utilità "ip" Linux contiene un bug che ne causa l'arresto anomalo se WSL segnala un indirizzo hardware a 32 byte. Si tratta di un bug relativo a "ip" e non a WSL. L'utilità "ip" imposta come hardcoded la lunghezza del buffer di stringa usato per stampare l'indirizzo hardware e tale buffer è troppo piccolo per stampare un indirizzo hardware a 32 byte.
  • Altri miglioramenti e correzioni

Risultati LTP:

Numero di test superati: 669
Numero di test non superati (con errori, ignorati e così via): 258


Supporto delle chiamate di sistema

Di seguito è riportato un elenco di chiamate di sistema nuove o migliorate, implementate in qualche modo in WSL. Le chiamate di sistema contenute in questo elenco sono supportate in almeno uno scenario, ma i relativi parametri potrebbero non essere tutti supportati in questo momento.

timer_create
timer_delete
timer_gettime
timer_settime

Build 14971

Per informazioni di carattere generale su Windows per la build 14971, visita il blog di Windows.

Fisso

  • Per cause che esulano dal controllo di Microsoft, in questa build non sono presenti aggiornamenti per Sottosistema Windows per Linux (WSL). Gli aggiornamenti pianificati con regolarità riprenderanno con la prossima release.

Risultati LTP:

Invariati rispetto a quelli relativi alla build 14965
Numero di test superati: 664
Numero di test non superati (con errori, ignorati e così via): 263


Build 14965

Per informazioni di carattere generale su Windows per la build 14965, visita il blog di Windows.

Fisso

  • Supporto di RTM_GETLINK e RTM_GETADDR del protocollo NETLINK_ROUTE per i socket Netlink (GH 468)

    • Abilitazione dei comandi ifconfig e ip per l'enumerazione delle reti
  • Presenza di /sbin nel percorso dell'utente per impostazione predefinita

  • Percorso utente NT aggiunto alla fine del percorso WSL per impostazione predefinita, pertanto ora puoi digitare notepad.exe senza aggiungere System32 al percorso Linux

  • Aggiunta del supporto per /proc/sys/kernel/cap_last_cap

  • Possibilità di avviare i file binari NT da WSL quando la directory di lavoro corrente contiene caratteri non ANSI (GH 1254)

  • Arresto consentito nel socket di flusso Unix disconnesso.

  • Aggiunta del supporto per PR_GET_PDEATHSIG.

  • Aggiunta del supporto per CLONE_PARENT

  • Correzione dell'errore che blocca l'invio tramite pipe, ovvero bash -c "ls -alR /" | bash -c "cat" (GH 1214)

  • Gestione delle richieste per la connessione al terminale corrente.

  • /proc/<pid>/oom_score_adj contrassegnato come scrivibile.

  • Aggiunta della cartella /sys/fs/cgroup.

  • sched_setaffinity deve restituire la maschera del numero di bit di affinità

  • Correzione della logica di convalida ELF che presuppone erroneamente che i percorsi dell'interprete debbano avere una lunghezza inferiore a 64 caratteri (GH 743)

  • Possibilità di mantenere aperta la finestra della console da parte dei descrittori di file aperti (GH 1187)

  • Correzione dell'errore a causa del quale rename() aveva esito negativo con la barra finale nel nome di destinazione (GH 1008)

  • Implementazione del file /proc/net/dev

  • Correzione dei ping con 0,000 ms a causa della risoluzione del timer.

  • Implementazione di /proc/self/environ (GH 730)

  • Altri miglioramenti e correzioni di bug

Risultati LTP:

Numero di test superati: 664
Numero di test non superati (con errori, ignorati e così via): 263


Build 14959

Per informazioni di carattere generale su Windows per la build 14959, visita il blog di Windows.

Fisso

  • Miglioramento della notifica del processo Pico per Windows. Altre informazioni sono disponibili nel blog di WSL.
  • Miglioramento della stabilità con l'interoperabilità di Windows
  • Correzione dell'errore 0x80070057 che si verifica all'avvio di bash.exe quando è abilitata la funzionalità Protezione dei dati aziendali
  • Altri miglioramenti e correzioni di bug

Risultati LTP:

Numero di test superati: 665
Numero di test non superati (con errori, ignorati e così via): 263


Build 14955

Per informazioni di carattere generale su Windows per la build 14955, visita il blog di Windows.

Fisso

  • Per cause che esulano dal controllo di Microsoft, in questa build non sono presenti aggiornamenti per Sottosistema Windows per Linux (WSL). Gli aggiornamenti pianificati con regolarità riprenderanno con la prossima release.

Risultati LTP:

Numero di test superati: 665
Numero di test non superati (con errori, ignorati e così via): 263


Build 14951

Per informazioni di carattere generale su Windows per la build 14951, visita il blog di Windows.

Nuova funzionalità: interoperabilità Windows/Ubuntu

I file binari di Windows ora possono essere richiamati direttamente dalla riga di comando di WSL. In questo modo gli utenti possono interagire con l'ambiente e il sistema Windows in un modo precedentemente impossibile. Come esempio rapido, ora per gli utenti è possibile eseguire i comandi seguenti:

$ 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

Altre informazioni sono disponibili nelle posizioni seguenti:

Fisso

  • Ubuntu 16.04 (Xenial) ora viene installato per tutte le nuove istanze di WSL. Per gli utenti con istanze 14.04 (Trusty) già esistenti non verrà eseguito automaticamente l'aggiornamento.
  • Ora vengono visualizzate le impostazioni locali configurate durante l'installazione
  • Sono stati apportati miglioramenti relativi al terminale, inclusa la correzione di un bug a causa del quale il reindirizzamento di un processo WSL a un file non funziona sempre
  • La durata della console deve essere collegata alla durata di bash.exe
  • Le dimensioni della finestra della console devono usare dimensioni visibili, non le dimensioni del buffer
  • Altri miglioramenti e correzioni di bug

Risultati LTP:

Numero di test superati: 665
Numero di test non superati (con errori, ignorati e così via): 263


Build 14946

Per informazioni di carattere generale su Windows per la build 14946, visita il blog di Windows.

Fisso

  • Risoluzione di un problema che impediva la creazione di account utente WSL per gli utenti con nomi utente NT contenenti spazi o virgolette.

  • Modifica di VolFs e DrvFs in modo che venga restituito 0 per il conteggio dei collegamenti della directory in stat

  • Supporto dell'opzione IPV6_MULTICAST_HOPS per i socket.

  • Limitazione a un singolo ciclo di I/O della console per tty. Ad esempio, è possibile usare il comando seguente:

    • bash -c "echo data" | bash -c "ssh user@example.com 'cat > foo.txt'"
  • Sostituzione degli spazi con tabulazioni in /proc/cpuinfo (GH 1115)

  • Visualizzazione di DrvFs in mountinfo con un nome corrispondente al volume di Windows montato

  • Visualizzazione di /home e /root in mountinfo con i nomi corretti

  • Altri miglioramenti e correzioni di bug

Risultati LTP:

Numero di test superati: 665
Numero di test non superati (con errori, ignorati e così via): 263


Build 14942

Per informazioni di carattere generale su Windows per la build 14942, visita il blog di Windows.

Fisso

  • Risoluzione di alcuni bugcheck, tra cui l'arresto anomalo di rete con l'errore "ATTEMPTED EXECUTE OF NOEXECUTE MEMORY" che bloccava SSH
  • Supporto di inotify per le notifiche generate dalle applicazioni Windows in DrvFs
  • Implementazione di TCP_KEEPIDLE e TCP_KEEPINTVL per mongod (GH 695)
  • Implementazione della chiamata di sistema pivot_root
  • Implementazione dell'opzione socket per SO_DONTROUTE
  • Altri miglioramenti e correzioni di bug

Risultati LTP:

Numero di test superati: 665
Numero di test non superati (con errori, ignorati e così via): 263

Supporto delle chiamate di sistema

Di seguito è riportato un elenco di chiamate di sistema nuove o migliorate, implementate in qualche modo in WSL. Le chiamate di sistema contenute in questo elenco sono supportate in almeno uno scenario, ma i relativi parametri potrebbero non essere tutti supportati in questo momento.

pivot_root

Build 14936

Per informazioni di carattere generale su Windows per la build 14936, visita il blog di Windows.

Nota: WSL installerà Ubuntu versione 16.04 (Xenial) anziché Ubuntu 14.04 (Trusty) in una prossima release. Questa modifica verrà applicata ai partecipanti al programma Insider che installano nuove istanze (lxrun.exe /install o prima esecuzione di bash.exe). Le istanze esistenti con Trusty non verranno aggiornate automaticamente. Gli utenti possono aggiornare l'immagine Trusty a Xenial usando il comando do-release-upgrade.

Problema noto

WSL presenta un problema riguardante alcune implementazioni di socket. Il bugcheck si manifesta come un arresto anomalo con l'errore "ATTEMPTED EXECUTE OF NOEXECUTE MEMORY". La manifestazione più comune di tale problema è un arresto anomalo quando è in uso ssh. La causa principale è stata risolta nelle build interne e verrà fornita al più presto ai partecipanti al programma Insider.

Fisso

  • Implementazione della chiamata di sistema chroot
  • Miglioramenti relativi a inotify incluso il supporto per le notifiche generate dalle applicazioni Windows in DrvFs
    • Correzione: il supporto di inotify per le modifiche che hanno origine dalle applicazioni di Windows non è disponibile in questo momento.
  • Il binding di socket a IPV6::<port n> ora supporta IPV6_V6ONLY (GH 68, 157, 393, 460, 674, 740, 982, 996)
  • Implementazione del comportamento WNOWAIT per la chiamata di sistema waitid (GH 638)
  • Supporto delle opzioni IP_HDRINCL e IP_TTL per i socket IP
  • Deve essere eseguita immediatamente la chiusura di read() con lunghezza pari a zero (GH 975)
  • Gestione corretta dei nomi file e dei relativi prefissi che non includono un carattere di terminazione NULL in un file con estensione tar
  • Supporto di epoll per /dev/null
  • Correzione dell'origine dell'ora di /dev/alarm
  • Possibilità di eseguire il reindirizzamento a un file con Bash -c
  • Altri miglioramenti e correzioni di bug

Risultati LTP:

Numero di test superati: 664
Numero di test non superati (con errori, ignorati e così via): 264

Supporto delle chiamate di sistema

Di seguito è riportato un elenco di chiamate di sistema nuove o migliorate, implementate in qualche modo in WSL. Le chiamate di sistema contenute in questo elenco sono supportate in almeno uno scenario, ma i relativi parametri potrebbero non essere tutti supportati in questo momento.

chroot

Build 14931

Per informazioni di carattere generale su Windows per la build 14931, visita il blog di Windows.

Fisso

  • Per cause che esulano dal controllo di Microsoft, in questa build non sono presenti aggiornamenti per Sottosistema Windows per Linux (WSL). Gli aggiornamenti pianificati con regolarità riprenderanno nella prossima release.

Build 14926

Per informazioni di carattere generale su Windows per la build 14926, visita il blog di Windows.

Fisso

  • Ping ora funzionante nelle console che non dispongono di privilegi da amministratore
  • Supporto di Ping6, anche senza privilegi da amministratore
  • Supporto di inotify per i file modificati tramite WSL (GH 216)
    • Flag supportati:
      • inotify_init1: LX_O_CLOEXEC, LX_O_NONBLOCK
      • eventi inotify_add_watch: 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
      • attributi inotify_add_watch: LX_IN_DONT_FOLLOW, LX_IN_EXCL_UNLINK, LX_IN_MASK_ADD, LX_IN_ONESHOT, LX_IN_ONLYDIR
      • output di lettura: LX_IN_ISDIR, LX_IN_IGNORED
    • Problema noto: la modifica dei file dalle applicazioni di Windows non genera eventi
  • Supporto di SCM_CREDENTIALS da parte del socket Unix

Risultati LTP:

Numero di test superati: 651
Numero di test non superati (con errori, ignorati e così via): 258


Build 14915

Per informazioni di carattere generale su Windows per la build 14915, visita il blog di Windows.

Fisso

  • Socketpair per i socket di datagramma Unix (GH 262)
  • Supporto del socket Unix per SO_REUSEADDR
  • Supporto del socket UNIX per SO_BROADCAST (GH 568)
  • Supporto del socket Unix per SOCK_SEQPACKET (GH 758, 546)
  • Aggiunta del supporto per l'invio, la ricezione e l'arresto del socket di datagramma Unix
  • Correzione del bugcheck causato dalla convalida del parametro mmap non valido per gli indirizzi non fissi (GH 847)
  • Supporto per la sospensione e la ripresa degli stati del terminale
  • Supporto per ioctl TIOCPKT per lo sblocco dell'utilità dello schermo (GH 774)
    • Problema noto: tasti funzione non operativi
  • Correzione di una condizione race in TimerFd che potrebbe causare l'accesso a un membro liberato 'ReaderReady' da parte di LxpTimerFdWorkerRoutine (GH 814)
  • Supporto dell'abilitazione delle chiamate di sistema riavviabili per futex, poll e clock_nanosleep
  • Aggiunta del supporto di bind mount
  • Supporto dell'annullamento della condivisione per lo spazio dei nomi di montaggio
    • Problema noto: quando viene creato un nuovo spazio dei nomi di montaggio con unshare(CLONE_NEWNS), la directory di lavoro corrente continua a puntare allo spazio dei nomi precedente
  • Altri miglioramenti e correzioni di bug.

Build 14905

Per informazioni di carattere generale su Windows per la build 14905, visita il blog di Windows.

Fisso

  • Le chiamate di sistema riavviabili ora sono supportate (GH 349, GH 520)
  • I collegamenti simbolici alle directory che finiscono con / ora sono operativi (GH 650)
  • Implementazione dell'ioctl RNDGETENTCNT per /dev/random
  • Implementazione dei file /proc/[pid]/mounts, /proc/[pid]/mountinfo e /proc/[pid]/mountstats
  • Altri miglioramenti e correzioni di bug

Build 14901

Prima build Insider per la release successiva a Windows 10 Anniversary Update.

Per informazioni di carattere generale su Windows per la build 14901, visita il blog di Windows.

Fisso

  • Correzione del problema relativo alla barra finale
    • I comandi come $ mv a/c/ a/b/ ora funzionano
  • L'installazione ora chiede se le impostazioni locali di Ubuntu devono essere configurate sulle impostazioni locali di Windows
  • Supporto di procfs per la cartella ns
  • Aggiunta di mount e unmount per i file system tmpfs, procfs e sysfs
  • Correzione della firma ABI a 32 bit mknod[at]
  • Spostamento dei socket Unix nel modello dispatch
  • Deve essere rispettata la dimensione del buffer di ricezione del socket INET impostata tramite setsockopt
  • Implementazione del flag di messaggio di ricezione del socket Unix MSG_CMSG_CLOEXEC
  • Reindirizzamento della pipe di processo Linux stdin/stdout (GH 2)
    • Consente l'invio tramite pipe dei comandi bash -c in CMD. Esempio: >dir | bash -c "grep foo"
  • È ora possibile installare bash nei sistemi con più file di paging (GH 538, 358)
  • Le dimensioni del buffer del socket INET predefinito devono corrispondere a quelle dell'impostazione Ubuntu predefinita
  • Allineamento delle chiamate di sistema xattr a listxattr
  • Restituzione delle sole interfacce con un indirizzo IPv4 valido da SIOCGIFCONF
  • Correzione dell'azione predefinita per il segnale in caso di inserimento tramite ptrace
  • Implementazione di /proc/sys/vm/min_free_kbytes
  • Uso dei valori del registro del contesto del computer in caso di ripristino del contenuto in sigreturn
    • In questo modo viene risolto il problema che causava il blocco di java e javac per alcuni utenti
  • Implementazione di /proc/sys/kernel/hostname

Supporto delle chiamate di sistema

Di seguito è riportato un elenco di chiamate di sistema nuove o migliorate, implementate in qualche modo in WSL. Le chiamate di sistema contenute in questo elenco sono supportate in almeno uno scenario, ma i relativi parametri potrebbero non essere tutti supportati in questo momento.

waitid
epoll_pwait


Build 14388 per Windows 10 Anniversary Update

Per informazioni di carattere generale su Windows per la build 14388, visita il blog di Windows.

Fisso

  • Correzioni di preparazione per Windows 10 Anniversary Update il 2/8
    • Altre informazioni su WSL in Anniversary Update sono disponibili nel blog

Build 14376

Per informazioni di carattere generale su Windows per la build 14376, visita il blog di Windows.

Fisso

  • Rimozione di alcune istanze in cui si blocca apt-get (GH 493)
  • Risoluzione di un problema che impediva la gestione corretta dei montaggi vuoti
  • Risoluzione di un problema che impediva il montaggio corretto dei dischi RAM
  • Modifica dell'accettazione del socket Unix per supportare i flag (GH 451 parziale)
  • Risoluzione del problema comune con schermata blu correlato alla rete
  • Risoluzione del problema con schermata blu in caso di accesso a /proc/[pid]/task (GH 523)
  • Correzione dell'utilizzo CPU elevato per alcuni scenari pty (GH 488, 504)
  • Altri miglioramenti e correzioni di bug

Build 14371

Per informazioni di carattere generale su Windows per la build 14371, visita il blog di Windows.

Fisso

  • Correzione della condizione race temporale con SIGCHLD e wait() quando è in uso ptrace
  • Correzione del comportamento quando i percorsi hanno una barra (/) finale (GH 432)
  • Risoluzione del problema che causava la mancata riuscita della ridenominazione o dello scollegamento per la presenza di handle aperti per gli elementi figlio
  • Altri miglioramenti e correzioni di bug

Build 14366

Per informazioni di carattere generale su Windows per la build 14366, visita il blog di Windows.

Fisso

  • Correzione nella creazione dei file tramite collegamenti simbolici
  • Aggiunta di listxattr per Python (GH 385)
  • Altri miglioramenti e correzioni di bug

Supporto delle chiamate di sistema

  • Di seguito è riportato un elenco di chiamate di sistema nuove o migliorate, implementate in qualche modo in WSL. Le chiamate di sistema contenute in questo elenco sono supportate in almeno uno scenario, ma i relativi parametri potrebbero non essere tutti supportati in questo momento.

listxattr

Build 14361

Per informazioni di carattere generale su Windows per la build 14361, visita il blog di Windows.

Fisso

  • Per DrvFs ora viene applicata la distinzione tra maiuscole e minuscole in caso di esecuzione in Bash in Ubuntu in Windows.
    • Gli utenti possono avere case.txt e CASE.TXT nelle rispettive unità /mnt/c
    • L'applicazione della distinzione tra maiuscole e minuscole è supportata solo all'interno di Bash in Ubuntu in Windows. Al di fuori di Bash, NTFS segnalerà correttamente i file, ma si potrebbe verificare un comportamento imprevisto durante l'interazione con i file da Windows.
    • Per la radice di ogni volume (ovvero /mnt/c) non viene applicata la distinzione tra maiuscole e minuscole
    • Altre informazioni sulla gestione di questi file in Windows sono disponibili qui.
  • Notevole miglioramento del supporto di pty/tty. Le applicazioni come TMUX ora sono supportate (GH 40)
  • Risoluzione del problema di installazione a causa del quale non venivano sempre creati gli account utente
  • Ottimizzazione della struttura degli argomenti della riga di comando, pertanto è consentito un elenco di argomenti molto lungo (GH 153)
  • Possibilità di eseguire delete e chmod per i file read_only da DrvFs
  • Correzione di alcune istanze in cui il terminale si blocca in fase di disconnessione (GH 43)
  • chmod e chown ora funzionano sui dispositivi tty
  • Possibilità di effettuare la connessione a 0.0.0.0 e :: come localhost (GH 388)
  • Sendmsg/recvmsg ora gestiscono una lunghezza dei vettori di I/O >1 (GH 376 parziale)
  • Gli utenti ora possono rifiutare esplicitamente il file hosts generato automaticamente (GH 398)
  • Corrispondenza automatica tra le impostazioni locali Linux e le impostazioni locali NT durante l'installazione (GH 11)
  • Aggiunta del file /proc/sys/vm/swappiness (GH 306)
  • Ora viene eseguita correttamente la chiusura di strace
  • Possibilità di riaprire le pipe tramite /proc/self/fd (GH 222)
  • Le directory sono nascoste in %LOCALAPPDATA%\lxss da DrvFs (GH 270)
  • Migliore gestione di bash.exe ~. I comandi come "bash ~ -c ls" ora sono supportati (GH 467)
  • I socket ora notificano la lettura epoll disponibile durante l'arresto (GH 271)
  • lxrun /uninstall funziona meglio per l'eliminazione dei file e delle cartelle
  • Correzione di ps -f (GH 246)
  • Miglioramento del supporto per le app x11 come xEmacs (GH 481)
  • Aggiornamento delle dimensioni dello stack di thread iniziali in modo che corrispondano all'impostazione Ubuntu predefinita e segnalazione corretta delle dimensioni alla chiamata di sistema get_rlimit (GH 172, 258)
  • Miglioramento della segnalazione dei nomi delle immagini dei processi pico, ad esempio ai fini del controllo
  • Implementazione di /proc/mountinfo per il comando df
  • Correzione del codice di errore relativo al collegamento simbolico per . e .. del nome figlio
  • Correzioni di bug e miglioramenti aggiuntivi

Supporto delle chiamate di sistema

Di seguito è riportato un elenco di chiamate di sistema nuove o migliorate, implementate in qualche modo in WSL. Le chiamate di sistema contenute in questo elenco sono supportate in almeno uno scenario, ma i relativi parametri potrebbero non essere tutti supportati in questo momento.

GETTIMER
MKNODAT
RENAMEAT
SENDFILE
SENDFILE64
SYNC_FILE_RANGE

Build 14352

Per informazioni di carattere generale su Windows per la build 14352, visita il blog di Windows.

Fisso

  • Risoluzione di un problema a causa del quale i file di grandi dimensioni non venivano scaricati o creati correttamente. Ciò dovrebbe sbloccare npm e altri scenari (GH 3, GH 313)
  • Rimozione di alcune istanze in cui si bloccano i socket
  • Correzione di alcuni errori di ptrace
  • Risoluzione di un problema relativo a WSL, pertanto ora sono consentiti i nomi file costituiti da più di 255 caratteri
  • Miglioramento del supporto per i caratteri non inglesi
  • Aggiunta dei dati del fuso orario corrente di Windows e impostazione come valore predefinito
  • ID dispositivo univoci per ogni punto di montaggio (correzione jre - GH 49)
  • Risoluzione di un problema relativo ai percorsi contenenti "."
  • Aggiunta del supporto FIFO (GH 71)
  • Aggiornamento del formato di resolv.conf in modo che corrisponda al formato Ubuntu nativo
  • Pulizia parziale di procfs
  • Abilitazione del ping per le console di amministrazione (GH 18)

Supporto delle chiamate di sistema

Di seguito è riportato un elenco di chiamate di sistema nuove o migliorate, implementate in qualche modo in WSL. Le chiamate di sistema contenute in questo elenco sono supportate in almeno uno scenario, ma i relativi parametri potrebbero non essere tutti supportati in questo momento.

FALLOCATE
EXECVE
LGETXATTR
FGETXATTR

Build 14342

Per informazioni di carattere generale su Windows per la build 14342, visita il blog di Windows.

Le informazioni su VolFs e DriveFs sono disponibili nel blog di WSL.

Fisso

  • Risoluzione di un problema di installazione che si verificava quando l'utente Windows aveva caratteri Unicode nel nome utente
  • La soluzione alternativa apt-get update udev illustrata nelle Domande frequenti ora viene fornita per impostazione predefinita alla prima esecuzione
  • Abilitazione dei collegamenti simbolici nelle directory di DriveFs (/mnt/<drive>)
  • I collegamenti simbolici ora funzionano tra DriveFs e VolFs
  • Risoluzione del problema di analisi dei percorsi di primo livello: ls .// ora funzionerà come previsto
  • npm install in DriveFs e le opzioni -g ora funzionano
  • Risoluzione di un problema che impediva l'avvio del server PHP
  • Aggiornamento dei valori di ambiente predefiniti, ad esempio $PATH, in modo che siano più simili a quelli nativi di Ubuntu
  • Aggiunta di un task di manutenzione settimanale in Windows per l'aggiornamento della cache dei pacchetti apt
  • Risoluzione di un problema relativo alla convalida delle intestazioni ELF; WSL ora supporta tutte le opzioni Melkor
  • Shell Zsh funzionante
  • I file binari Go precompilati ora sono supportati
  • La richiesta visualizzata alla prima esecuzione di Bash.exe ora è localizzata correttamente
  • /proc/meminfo ora restituisce le informazioni corrette
  • I socket ora sono supportati in VFS
  • /dev ora viene montato come tempfs
  • FIFO ora è supportato
  • I sistemi multicore ora vengono visualizzati correttamente in /proc/cpuinfo
  • Miglioramenti e messaggi di errore aggiuntivi per il download durante la prima esecuzione
  • Miglioramenti e correzioni dei bug delle chiamate di sistema. Di seguito è riportato un elenco delle chiamate di sistema supportate.
  • Altri miglioramenti e correzioni di bug

Problemi noti

  • '..' non viene risolto correttamente in DriveFs in alcuni casi

Supporto delle chiamate di sistema

Di seguito è riportato un elenco di chiamate di sistema nuove o migliorate, implementate in qualche modo in WSL. Le chiamate di sistema contenute in questo elenco sono supportate in almeno uno scenario, ma i relativi parametri potrebbero non essere tutti supportati in questo momento.

FCHOWNAT
GETEUID
GETGID
GETRESUID
GETXATTR
PTRACE
SETGID
SETGROUPS
SETHOSTNAME
SETXATTR

Build 14332

Per informazioni di carattere generale su Windows per la build 14332, visita il blog di Windows.

Fisso

  • Miglioramento della generazione di resolv.conf, inclusa l'assegnazione di priorità per le voci DNS
  • Problema relativo allo spostamento di file e directory tra unità /mnt e non /mnt
  • I file Tar ora possono essere creati con collegamenti simbolici
  • Aggiunta della directory /run/lock predefinita al momento della creazione delle istanze
  • Aggiornamento di /dev/null in modo che vengano restituite le informazioni stat appropriate
  • Errori aggiuntivi per la fase di download durante la prima esecuzione
  • Miglioramenti e correzioni dei bug delle chiamate di sistema. Di seguito è riportato un elenco delle chiamate di sistema supportate.
  • Correzioni di bug e miglioramenti aggiuntivi

Supporto delle chiamate di sistema

Di seguito è riportata la nuova chiamata di sistema implementata in qualche modo in WSL. La chiamata di sistema contenuta in questo elenco è supportata in almeno uno scenario, ma i relativi parametri potrebbero non essere tutti supportati in questo momento.

READLINKAT

Build 14328

Per informazioni di carattere generale su Windows per la build 14332, visita il blog di Windows.

Nuove funzionalità

  • Ora sono supportati gli utenti Linux. L'installazione di Bash in Ubuntu in Windows richiederà la creazione di un utente Linux. Per altre informazioni, vedere https://aka.ms/wslusers
  • hostname ora è impostato sul nome del computer Windows, non più su @localhost
  • Per altre informazioni sulla build 14328, visita la pagina Web all'indirizzo https://aka.ms/wip14328

Fisso

  • Miglioramenti dei collegamenti simbolici per i file non /mnt/<drive>
    • npm install ora funziona
    • È ora possibile installare jdk/jre usando le istruzioni disponibili qui.
    • Problema noto: i collegamenti simbolici non funzionano per i montaggi Windows. La funzionalità sarà disponibile in una build successiva
  • top e htop ora vengono visualizzati
  • Messaggi di errore aggiuntivi per alcuni problemi di installazione
  • Miglioramenti e correzioni dei bug delle chiamate di sistema. Di seguito è riportato un elenco delle chiamate di sistema supportate.
  • Correzioni di bug e miglioramenti aggiuntivi

Supporto delle chiamate di sistema

Di seguito è riportato un elenco di chiamate di sistema implementate in qualche modo in WSL. Le chiamate di sistema contenute in questo elenco sono supportate in almeno uno scenario, ma i relativi parametri potrebbero non essere tutti supportati in questo 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