Configurare le distribuzioni linux

sottosistema Windows per Linux (WSL) supporta l'esecuzione di tutte le distribuzioni Linux diverse che si desidera installare. Ciò può includere la scelta di distribuzioni dal Microsoft Store, l'importazione di unadistribuzione personalizzata o la creazione di una distribuzione personalizzata.

Modalità di esecuzione di Sottosistema Windows per Linux

Esistono diversi modi per eseguire una distribuzione Linux con WSL dopo l'installazione:

  1. Il numero uno dei modi in cui è consigliabile eseguire le distribuzioni Linux è installando Terminale Windows. L Terminale Windows consente di aprire più schede o riquadri finestra per visualizzare e passare rapidamente tra 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 colori univoche, stili dei caratteri, dimensioni, immagini di sfondo e tasti di scelta rapida personalizzati. Altre informazioni.
  2. È possibile aprire direttamente la distribuzione di Linux visitando il Windows menu Start e digitando il nome delle distribuzioni installate. Ad esempio: "Ubuntu". Verrà aperto Ubuntu nella finestra della console.
  3. Dal Windows comando o Da PowerShell è possibile immettere il nome della distribuzione installata. ad esempio ubuntu
  4. Dal Windows comando o Da PowerShell è possibile aprire la distribuzione linux predefinita all'interno della riga di comando corrente immettendo: wsl.exe .
  5. Dal prompt Windows o 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 viene montato il percorso della [command]wsl -l -v directory corrente in wsl pwd wsl. Da PowerShell, il comando fornirà la data dal Windows file system e fornirà la data dal file system get-datewsl date Linux.

Il metodo selezionato deve dipendere da ciò che si sta facendo. Se è stata aperta una riga di comando WSL all'interno di un prompt Windows o 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 linux che wslwsl -s <DistributionName> si vuole 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 il 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: Una volta annullata la 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 di 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 essere già presente 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 in 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 directory
  • In base alla distribuzione con un file wsl.conf archiviato nella directory della distribuzione

Per accedere alla directory, in PowerShell usare per accedere alla home directory (che in genere corrisponde al 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 /etccd /lsexplorer.exe . Windows Esplora file. Il percorso della directory per la configurazione delle opzioni WSL in base alla 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 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 nelle 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. L'operazione 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 perché 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 di Linux (shell) è ancora in esecuzione dopo la chiusura usando PowerShell con il comando : wsl --list --running . Se non è in esecuzione alcuna distribuzione, verrà visualizzato il messaggio "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 di 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: automountnetwork , , e interopuser .

automount

Sezione: [automount]

Key Valore default di HDInsight
Enabled boolean true true fa sì che le unità fisse (ad C:/ esempio o ) siano D:/ montate automaticamente 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 string /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 come 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 programma Windows Insiders.

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 radice. 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 .wslconfigC:\Users\crloewen\.wslconfig 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 disponibili solo per le distribuzioni in esecuzione come .wslconfig WSL 2 in Windows Build 19041 e versioni successive. Tenere presente che potrebbe essere necessario eseguire per arrestare la macchina virtuale WSL 2 e quindi riavviare l'istanza di WSL perché queste modifiche wsl --shutdown influiscano.

Questo file può contenere le opzioni seguenti:

Opzioni per wslconfig

Etichetta di sezione: [wsl2]

Queste impostazioni influiscono sulla macchina virtuale che alimenta 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 su Windows o 8 GB, a seconda del valore minore; nelle compilazioni precedenti al 20175: 80% della memoria totale in 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 Valore assoluto Windows percorso del disco rigido virtuale di scambio.

Le voci con il valore devono essere Windows percorsi con barre rovesciate precedute da un carattere 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 8GB512MB .

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.