Configurare le distribuzioni linux

sottosistema Windows per Linux (WSL) supporta l'esecuzione di tutte le distribuzioni linux diverse che si vuole installare. Ciò può includere la scelta delle distribuzioni dall'Microsoft Store, l'importazionedi una distribuzione personalizzata o la creazione di una distribuzione personalizzata.

Modalità di esecuzione di Sottosistema Windows per Linux

Una volta installata, è possibile eseguire una distribuzione Linux con WSL in diversi modi:

  1. Il modo migliore per eseguire le distribuzioni Linux è installare Terminale Windows . L Terminale Windows consente di aprire più schede o riquadri finestra per visualizzare e passare rapidamente da più distribuzioni Linux o altre righe di comando (PowerShell, prompt dei comandi, PowerShell, interfaccia della riga di comando di Azure e così via). È possibile personalizzare completamente il terminale con combinazioni di colori, stili di carattere, dimensioni, immagini di sfondo e tasti di scelta rapida personalizzati. Altre informazioni.
  2. È possibile aprire direttamente la distribuzione Linux visitando il Windows menu Start e digitando il nome delle distribuzioni installate. Ad esempio: "Ubuntu". Verrà aperto Ubuntu nella finestra della console.
  3. Da Windows prompt dei comandi o PowerShell è possibile immettere il nome della distribuzione installata. ad esempio ubuntu
  4. Dal Windows o da PowerShell, è possibile aprire la distribuzione linux predefinita all'interno della riga di comando corrente immettendo: wsl.exe .
  5. Dal Windows o da PowerShell, è possibile usare la distribuzione linux predefinita all'interno della riga di comando corrente, senza immetterne una nuova, immettendo: wsl [command] . Sostituzione con un comando WSL, ad esempio: per elencare le distribuzioni installate o per vedere dove è montato il percorso della [command] wsl -l -v directory corrente in wsl pwd wsl. Da PowerShell, il comando fornirà la data del Windows file system e fornirà la data dal file system get-date wsl date Linux.

Il metodo selezionato deve dipendere dall'operazione in essere. Se è stata aperta una riga di comando WSL all'interno di un prompt Windows o una finestra di PowerShell e si vuole uscire, immettere il comando: exit .

Avviare Sottosistema Windows per Linux dal menu Start

Elencare le distribuzioni installate

Per visualizzare un elenco delle distribuzioni Linux installate, immettere: wsl --list o per un elenco wsl -l -v dettagliato. Per impostare una distribuzione Linux installata come predefinita usata con il comando , immettere: o , sostituendo con il nome della distribuzione wsl Linux che si vuole wsl -s <DistributionName> wsl --setdefault <DistributionName> <DistributionName> usare. Ad esempio, da PowerShell immettere: wsl -s Debian per impostare la distribuzione predefinita su Debian. A questo wsl npm init punto, l'esecuzione da PowerShell npm init eseguirà il comando in Debian.

Annullare la registrazione e reinstallare una distribuzione

Anche se le distribuzioni Linux possono essere installate tramite Microsoft Store, non possono essere disinstallate tramite lo store.

Per annullare la registrazione e disinstallare una distribuzione WSL:

wsl --unregister <DistributionName>
Annulla la registrazione della distribuzione da Sottosistema Windows per Linux in modo da poterla reinstallare o pulire. Attenzione: Dopo l'annullamento della registrazione, tutti i dati, le impostazioni e il software associati a tale distribuzione andranno persi definitivamente. Con la reinstallazione da Microsoft Store viene installata una copia pulita della distribuzione.

Ad esempio, wsl --unregister Ubuntu rimuove Ubuntu dalle distribuzioni disponibili in Sottosistema Windows per Linux. wsl --listL'esecuzione rivela che non è più elencata. Per reinstallare, trovare la distribuzione nel Microsoft Store e selezionare "Avvia".

Eseguire come utente specifico

wsl -u <Username>, wsl --user <Username>

Esegue Sottosistema Windows per Linux con il nome dell'utente specificato. Tieni presente che l'utente deve esistere all'interno della distribuzione di Sottosistema Windows per Linux.

Modificare l'utente predefinito per una distribuzione

<DistributionName> config --default-user <Username>

Modificare l'utente predefinito per l'accesso alla distribuzione. L'utente deve esistere già all'interno della distribuzione per diventare l'utente predefinito.

Ad esempio: ubuntu config --default-user johndoe modifica l'utente predefinito per la distribuzione di Ubuntu con l'utente "johndoe".

Nota

Se si verificano problemi nel determinare il nome della distribuzione, usare il comando wsl -l .

Eseguire una distribuzione specifica

wsl -d <DistributionName>, wsl --distribution <DistributionName>

Esegue una distribuzione specificata di Sottosistema Windows per Linux. Questo approccio può essere usato per inviare comandi a una distribuzione specifica senza dover modificare la distribuzione predefinita.

Configurare le impostazioni con .wslconfig e wsl.conf

È possibile configurare opzioni per le distribuzioni Linux installate, ad esempio le opzioni di montaggio automatico e la configurazione di rete, che verranno applicate automaticamente ogni volta che si avvia WSL in due modi:

  • A livello globale per tutte le distribuzioni installate in esecuzione in modalità WSL 2 con un file con estensione wslconfig archiviato nella %UserProfile% directory
  • In base alla distribuzione con un file wsl.conf archiviato nella /etc directory della distribuzione

Per accedere alla directory, in PowerShell usare per accedere alla home directory (in genere il profilo utente) oppure è possibile aprire Windows Esplora file e immettere nella barra %UserProfile% cd ~ degli C:\Users\<UserName> %UserProfile% indirizzi. Il percorso della directory per la configurazione globale delle opzioni WSL sarà C:\Users\<UserName>\.wslconfig .

Per accedere alla directory per una distribuzione installata, usare la riga di comando della distribuzione con per accedere alla directory radice, quindi per elencare i file o per visualizzarli /etc cd / ls explorer.exe . Windows Esplora file. Il percorso della directory per la configurazione delle opzioni WSL per ogni distribuzione sarà /etc/wsl.conf .

WSL rileverà l'esistenza di questi file e leggerà il contenuto. Se il file è mancante o non è valido, ovvero la formattazione del markup non è corretta, Sottosistema Windows per Linux verrà comunque avviato normalmente.

Nota

La modifica delle impostazioni per distribuzione con il file con estensione wsl.conf è disponibile solo in Windows Build 17093 e versioni successive.

Opzioni di configurazione per distribuzione con wsl.conf

Il wsl.conf file di esempio seguente illustra alcune delle opzioni di configurazione disponibili per l'aggiunta alle distribuzioni:

# Enable extra metadata options by default
[automount]
enabled = true
root = /windir/
options = "metadata,umask=22,fmask=11"
mountFsTab = false

# Enable DNS – even though these are turned on by default, we'll specify here just to be explicit.
[network]
generateHosts = true
generateResolvConf = true

Quando si avviano più shell Linux per la stessa distribuzione, è necessario attendere l'arresto dell'esecuzione del sottosistema Linux, che può richiedere circa 8 secondi dopo la chiusura dell'ultima istanza della shell di distribuzione. Se si avvia una distribuzione (ad esempio, Ubuntu), modificare il file wsl.conf, chiudere la distribuzione e quindi riavviarla. Si potrebbe presupporre che le modifiche apportate al file wsl.conf siano state applicate immediatamente. Questo non è attualmente il caso in quanto il sottosistema potrebbe essere ancora in esecuzione. È necessario attendere circa 8 secondi per l'arresto del sottosistema prima del riavvio per concedere tempo sufficiente per il recupero delle modifiche. È possibile verificare se la distribuzione Linux (shell) è ancora in esecuzione dopo la chiusura usando PowerShell con il comando : wsl --list --running . Se non sono in esecuzione distribuzioni, si riceverà la risposta: "Non sono presenti distribuzioni in esecuzione". È ora possibile riavviare la distribuzione per visualizzare gli aggiornamenti wsl.conf applicati.

Suggerimento

wsl --shutdown è un percorso rapido per riavviare le distribuzioni WSL 2, ma arresterà tutte le distribuzioni in esecuzione, quindi usare con sapienza.

Opzioni per wsl.conf

In conformità con le convenzioni ini, le chiavi vengono dichiarate in una sezione.

WSL supporta quattro sezioni: automount network , , e interop user .

automount

Sezione: [automount]

Key Valore default di HDInsight
Enabled boolean true true determina il montaggio automatico delle unità fisse (ad esempio C:/ o D:/) con DrvFs in /mnt. false significa che le unità non verranno montate automaticamente, ma è comunque possibile montarle manualmente o tramite fstab .
mountFsTab boolean true true specifica che /etc/fstab venga elaborato all'avvio di Sottosistema Windows per Linux. /etc/fstab è un file in cui puoi dichiarare altri file system, ad esempio una condivisione SMB. In questo modo puoi montare questi file system automaticamente in Sottosistema Windows per Linux all'avvio.
root Stringa /mnt/ Imposta la directory in cui verranno montate automaticamente le unità fisse. Se ad esempio disponi di una directory in Sottosistema Windows per Linux in /windir/ e la definisci come radice, le unità fisse verranno montate in /windir/c
opzioni elenco di valori delimitati da virgole stringa vuota Questo valore viene aggiunto alla stringa delle opzioni di montaggio DrvFs predefinite. È possibile specificare solo opzioni specifiche di DrvFs. Le opzioni che il file binario di montaggio analizza normalmente in un flag non sono supportate. Se vuoi specificare in modo esplicito tali opzioni, dovrai includere tutte le unità interessate in /etc/fstab.

Per impostazione predefinita, Sottosistema Windows per Linux imposta uid e gid sul valore dell'utente predefinito (nella distribuzione Ubuntu l'utente predefinito viene creato con uid=1000, gid=1000). Se l'utente specifica un'opzione gid o uid in modo esplicito tramite questa chiave, il valore associato verrà sovrascritto. In caso contrario, il valore predefinito verrà sempre accodato.

Nota: Queste opzioni vengono applicate come opzioni di montaggio per tutte le unità montate automaticamente. Per modificare solo le opzioni per un'unità specifica, usa /etc/fstab.

Opzioni di montaggio

L'impostazione di opzioni di montaggio diverse per le unità Windows (DrvFs) consente di controllare la modalità di calcolo delle autorizzazioni per i file di Windows. Sono disponibili le opzioni seguenti:

Chiave Descrizione Predefinito
uid ID utente usato per il proprietario di tutti i file ID utente predefinito della distribuzione di WSL (alla prima installazione, il valore predefinito è 1000)
gid ID gruppo usato per il proprietario di tutti i file ID gruppo predefinito della distribuzione di WSL (alla prima installazione, il valore predefinito è 1000)
umask Maschera ottale delle autorizzazioni da escludere per tutti i file e le directory 7000
fmask Maschera ottale delle autorizzazioni da escludere per tutti i file 7000
dmask Maschera ottale delle autorizzazioni da escludere per tutte le directory 7000
metadata Se i metadati vengono aggiunti ai Windows per supportare le autorizzazioni di sistema Linux disabled
case Determina le directory considerate con distinzione tra maiuscole e minuscole e se per le nuove directory create con WSL sarà impostato il flag . Per una spiegazione dettagliata delle opzioni, vedere Distinzione tra maiuscole e minuscole. off

Nota

le maschere delle autorizzazioni vengono sottoposte a un'operazione OR logica prima di essere applicate a file e directory.

network

Etichetta di sezione: [network]

Key Valore default di HDInsight
generateHosts boolean true true imposta Sottosistema Windows per Linux in modo da generare /etc/hosts. Il file hosts contiene una mappa statica di nomi host corrispondenti a un indirizzo IP.
generateResolvConf boolean true true imposta Sottosistema Windows per Linux in modo da generare /etc/resolv.conf. resolv.conf contiene un elenco DNS in grado di risolvere un determinato nome host nel relativo indirizzo IP.

interop

Etichetta di sezione: [interop]

Queste opzioni sono disponibili in Insider build 17713 e versioni successive.

Key Valore default di HDInsight
Enabled boolean true L'impostazione di questa chiave determinerà se Sottosistema Windows per Linux supporterà l'avvio dei processi di Windows.
appendWindowsPath boolean true L'impostazione di questa chiave determinerà se Sottosistema Windows per Linux aggiungerà gli elementi del percorso di Windows alla variabile di ambiente $PATH.

utente

Etichetta di sezione: [user]

Queste opzioni sono disponibili nella build 18980 e successive.

Key Valore default di HDInsight
default string Nome utente iniziale creato alla prima esecuzione L'impostazione di questa chiave specifica l'utente da eseguire al primo avvio di una sessione WSL.

Opzioni di anteprima utente

Queste opzioni sono disponibili solo nelle build di anteprima più recenti se si è nelle build più recenti del Windows Insider.

boot

Etichetta di sezione: [boot]

Key Valore default di HDInsight
. string "" Stringa del comando che si desidera eseguire all'avvio dell'istanza di WSL. Questo comando viene eseguito come utente root. Ad esempio: service docker start

Opzioni di configurazione globali con .wslconfig

È possibile aggiungere un file denominato alla home directory Windows (ad esempio, ) per controllare le opzioni WSL globali tra .wslconfig C:\Users\crloewen\.wslconfig le distribuzioni Linux. Vedere il file di esempio seguente come esempio.

[wsl2]
kernel=C:\\temp\\myCustomKernel
memory=4GB # Limits VM memory in WSL 2 to 4 GB
processors=2 # Makes the WSL 2 VM use two virtual processors

Nota

Opzioni di configurazione globali con in disponibili solo per le distribuzioni in esecuzione come .wslconfig WSL 2 in Windows build 19041 e successive. Tenere presente che potrebbe essere necessario eseguire per arrestare la macchina virtuale WSL 2 e quindi riavviare l'istanza di WSL per avere wsl --shutdown effetto su queste modifiche.

Questo file può contenere le opzioni seguenti:

Opzioni per .wslconfig

Etichetta di sezione: [wsl2]

Queste impostazioni influiscono sulla macchina virtuale alla base di qualsiasi distribuzione WSL 2.

Key Valore default di HDInsight
kernel string La posta in arrivo fornita dal kernel microsoft Un percorso Windows assoluto a un kernel Linux personalizzato.
memoria size 50% della memoria totale Windows o 8 GB, a seconda del valore minore; nelle compilazioni precedenti al 20175: l'80% della memoria totale Windows Quantità di memoria da assegnare alla macchina virtuale WSL 2.
processori d'acquisto Lo stesso numero di processori in Windows Numero di processori da assegnare alla macchina virtuale WSL 2.
localhostForwarding boolean true Valore booleano che specifica se le porte associate al carattere jolly o localhost nella macchina virtuale WSL 2 devono essere collegabili dall'host tramite localhost:port .
kernelCommandLine string Vuoto Argomenti aggiuntivi della riga di comando del kernel.
swap size Il 25% delle dimensioni della memoria Windows arrotondato al GB più vicino Quantità di spazio di swapping da aggiungere alla macchina virtuale WSL 2, 0 per nessun file di scambio.
Swapping string %USERPROFILE%\AppData\Local\Temp\swap.vhdx Un percorso Windows al disco rigido virtuale di scambio.

Le voci con il valore devono essere Windows percorsi con barre rovesciate precedute da caratteri di path escape, ad esempio:C:\\Temp\\myCustomKernel

Le voci con il size valore devono essere una dimensione seguita da un'unità, ad esempio o 8GB 512MB .

Impostazione delle opzioni di anteprima di WSL 2

Queste opzioni sono disponibili solo nelle build di anteprima più recenti se si è nelle build più recenti del Windows Insider.

Key Valore default di HDInsight
guiApplications boolean true Valore booleano per attivare o disattivare il supporto per le applicazioni GUI (WSLg) in WSL.
debugConsole boolean false Valore booleano per attivare una finestra della console di output che mostra il contenuto di dmesg all'avvio di un'istanza della distribuzione di WSL 2.
nestedVirtualization boolean true Valore booleano per attivare o disattivare la virtualizzazione annidata per WSL2.
vmIdleTimeout d'acquisto 60000 Numero di millisecondi di inattività di una macchina virtuale prima dell'arresto.