Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
È possibile usare qualsiasi distribuzione Linux all'interno del sottosistema Windows per Linux (WSL), anche se non è disponibile in Microsoft Store, importandolo con un file tar.
Questo articolo illustra come importare la distribuzione Linux , CentOS, per l'uso con WSL ottenendo il file tar usando un contenitore Docker. Questo processo può essere applicato per importare qualsiasi distribuzione Linux.
Ottenere un file tar per la distribuzione
Prima di tutto è necessario ottenere un file tar che contiene tutti i file binari Linux per la distribuzione.
È possibile ottenere un file tar in diversi modi, due dei quali includono:
- Scaricare un file tar fornito. È possibile trovare un esempio per Alpine nella sezione "Mini Root Filesystem" del sito di download di Alpine Linux .
- Trovare un contenitore di distribuzione Linux ed esportare un'istanza come file tar. L'esempio seguente mostrerà questo processo usando il contenitore CentOS.
Recupero di un file tar per l'esempio CentOS
In questo esempio si userà Docker all'interno di una distribuzione WSL per ottenere il file tar per CentOS.
Prerequisiti
- È necessario che WSL sia abilitato con una distribuzione Linux installata che esegue WSL 2.
- È necessario che Docker Desktop per Windows sia installato con il motore WSL 2 abilitato e l'integrazione sia selezionata Vedere il contratto di licenza di Docker Desktop per gli aggiornamenti in base alle condizioni per l'utilizzo.
Esportare il tar da un contenitore
Aprire la riga di comando (Bash) per una distribuzione Linux già installata da Microsoft Store (Ubuntu in questo esempio).
Assicurarsi che Docker Desktop sia in esecuzione (oppure se Docker è installato nella distribuzione WSL avviare il servizio con
sudo service docker start)Eseguire il contenitore CentOS all'interno di Docker:
docker run -t --name wsl_export centos ls /Esporta l'ID del contenitore in un file tar nella unità c montata.
docker export wsl_export > /mnt/c/temp/centos.tar
Pulire il contenitore
docker rm wsl_export
Questo processo esporta il file tar CentOS dal contenitore Docker in modo da poterlo importare per l'uso in locale con WSL.
Importare il file tar in WSL
Dopo aver pronto un file tar, è possibile importarlo usando il comando :
wsl.exe --import <Distro> <InstallLocation> <FileName> [Options]
Options:
--version <Version>
--vhd
Esempio di importazione di CentOS
Per importare il file tar della distribuzione CentOS in WSL:
Aprire PowerShell e assicurarsi di avere una cartella creata in cui archiviare la distribuzione.
cd C:\temp mkdir E:\wslDistroStorage\CentOSUsare il comando
wsl --import <Distro> <InstallLocation> <FileName>per importare il file tar.wsl --import CentOS E:\wslDistroStorage\CentOS .\centos.tarUsare il comando
wsl -l -vper verificare le distribuzioni installate.Usare infine il comando
wsl -d CentOSper eseguire la distribuzione centOS Linux appena importata.
Aggiungere componenti specifici di WSL come un utente predefinito
Per impostazione predefinita quando si usa --import, viene sempre avviato come utente root. È possibile configurare il proprio account utente, ma si noti che il processo di configurazione varia leggermente in base a ogni distribuzione Linux diversa.
Per configurare l'account utente con la distribuzione CentOS appena importata, aprire prima PowerShell e avviare CentOS usando il comando :
wsl -d CentOS
Aprire quindi la riga di comando centOS. Usare questo comando per installare gli strumenti di impostazione sudo e password in CentOS, creare un account utente e impostarlo come utente predefinito. In questo esempio il nome utente sarà 'caloewen'.
Annotazioni
Si vuole aggiungere il nome utente al file sudoers in modo che consenta all'utente di usare sudo. Il comando adduser -G wheel $myUsername aggiunge l'utente myUsername al gruppo di ruote. Agli utenti del gruppo wheel vengono concessi automaticamente privilegi sudo e possono eseguire attività che richiedono autorizzazioni elevate.
yum update -y && yum install passwd sudo -y
myUsername=caloewen
adduser -G wheel $myUsername
echo -e "[user]\ndefault=$myUsername" >> /etc/wsl.conf
passwd $myUsername
È ora necessario uscire da tale istanza e assicurarsi che tutte le istanze WSL vengano terminate. Avviare di nuovo la distribuzione per visualizzare il nuovo utente predefinito eseguendo questo comando in PowerShell:
wsl --terminate CentOS
wsl -d CentOS
Ora vedrai [caloewen@loewen-dev]$ come risultato basato su questo esempio.
Per altre informazioni sulla configurazione delle impostazioni WSL, vedere Configurare le impostazioni con .wslconfig e wsl.conf.
Usare una distribuzione Linux personalizzata
Puoi creare una distribuzione Linux personalizzata, in pacchetto come app UWP, che si comporta esattamente come le distribuzioni WSL disponibili in Microsoft Store. Per informazioni su come, vedere Creazione di una distribuzione Linux personalizzata per WSL.
Windows Subsystem for Linux