La majoria del usuaris tenen Windows en el seus ordinadors, però els programadors i administradors necessiten utilitzar màquines Linux.
Introducció
El Subsistema de Windows per a Linux (WSL) proprociona una integració molt bona entre Windows i Linux en el mateix equip.
Per defecte, una màquina WSL pot utilitzar tots els processadors disponibles de la CPU i la mitat de la memòria de l'ordinador.
Ubuntu
Obre un terminal de Powershell.
Actualiza la versió de WSL si és el primer cop que utilitzes l'ordinador:
wsl --update
Encara que et demani permisos d'administrador, digues que no, i la instal.lació segueix.
Mira la versió de WSL i demés del teu ordinador:
> wsl --version
WSL version: 2.2.4.0
Kernel version: 5.15.153.1-2
WSLg version: 1.0.61
MSRDC version: 1.2.5326
Direct3D version: 1.611.1-81528511
DXCore version: 10.0.26091.1-240325-1447.ge-release
Windows version: 10.0.22631.4037
Per instal.lar una màquina virtual no necessites ser administrador.
El primer que has de fer es mirar les màquines que tens disponibles per instal.lar:
> wsl --list --online
The following is a list of valid distributions that can be installed.
Install using 'wsl.exe --install '.
NAME FRIENDLY NAME
Ubuntu Ubuntu
Debian Debian GNU/Linux
kali-linux Kali Linux Rolling
...
A continuació instal-la la màquina Ubuntu
> wsl --install -d Ubuntu
Et demanen un nom d'usuari i contrasenya (pots utilitzar sudo
amb el teu usuari)
En una màquina WSL tens accés al sistema de fitxers del Windows en el punt de muntatge /mnt/c/
per la unitat C:\
, etc.
Per exemple, pots crear un fitxer hello.txt
en el sistema de fitxers del Windows:
$ echo "Hola" > /mnt/c/Users/david/Downloads/Hola.txt
Pots verificar que el Windows té accés a aquest fitxer:
També pots accedir als serveis de Ubuntu desde el Windows a través de la interfície localhost
.
Per exemple, pots arrencar un servidor apache:
$ sudo apt update && sudo apt install -y apache2
I amb el navegador del Windows accedir al servidor Apache a l'adreça http://localhost
Surt de la màquina amb l'ordre exit
.
Mira les màquines que tens instal.lades:
> wsl -l -v
NAME STATE VERSION
* Ubuntu Stopped 2
Pots veure que la màquina Ubuntu
és la màquina per defecte (té l'*
) i està aturada.
Per evitar consumir recursos quan surts de la màquina aquesta s'atura.
Pots començar una nova sessió des del terminal:
> wsl -d Ubuntu
O desde la interfície gràfica:
Elimina la màquina Ubuntu
:
> wsl --unregister Ubuntu
Box
Encara que al principi et pot semblar que WSl té una funcionalitat una mica limitada, nosaltres som informàtics i anem a exprimir WSL al màxim !
😊
Per aixó utilitzem l'script Wsl.ps1 del mòdul Box proporciona els cmd-lets:
Connect-Wsl
,Get-Wsl
,New-Wsl
,Remove-Wsl
,Start-Wsl
iStop-Wsl
.
Atenció!. Powershell no distingeix entre majúscules i mínuscules; per tant pots escriure totes les comandes amb minúscules si vols.
Un cop has instal.lat el mòdul Box crea una màquina nova amb el nom mars
:
> New-Wsl mars
Ubuntu : Comprovant el tamany de la nova imatge ... Fet.
Ubuntu : Descarregant la nova imatge (344 MB)... Fet.
Ubuntu : Verificant el hash del fitxer ... Fet.
mars: Important la màquina virtual ...
Import in progress, this may take a few minutes.
The operation completed successfully.
Com que no tenim una imatge a la cache, primer s'ha de descarregar la imatge de Ubuntu Cloud.
Ja et pots connectar a la màquina virtual mars
:
> Connect-Wsl mars
mars: Arrencant ... Fet.
box@mars:~$
Ja estàs dins d'una màquina virtual Ubuntu Noble
L'usuari és box
, la contrasenya és password
i pertany al grup sudo
.
Surt de la màquina virtual amb l'ordre exit
.
Pots veure que encara que tanquis la connexió, la màquina segueix funcionant:
> Get-Wsl
NAME STATE VERSION
* Ubuntu Stopped 2
mars Running 2
Si vols pots crear una màquina i connectar-te directament:
> Connect-Wsl jupiter -New
Surt de la màquina jupiter
.
Verifica que les dos màquines mars
i jupiter
estan executant-se:
> Get-Wsl
NAME STATE VERSION
* Ubuntu Stopped 2
jupiter Running 2
mars Running 2
Para la màquina mars
i elimina la màquina jupiter
:
> Stop-Wsl mars
> Remove-Wsl jupiter
Verifica l'estat de les màquines registrades:
> Get-Wsl
NAME STATE VERSION
* Ubuntu Stopped 2
mars Stopped 2
Conecta't de nou a la màquina mars
:
$ Connect-Wsl mars
En el "home" tens un script amb el noms install-docker
:
$ sudo ./install-docker.sh
Pots verificar que docker
fuciona correctament:
$ docker run --rm -d -p 80:80 nginx
Obre un navegador a http://localhost per veure que el servidor nginx funciona.
Encara que surtis de la màquina el servidor nginx segueix funcionant.
Crea la màquina zeus
:
> New-Wsl zeus
Pots arrencar la màquina sense conectar-te:
> Start-Wsl zeus
Això és útils quan tens una servei com apache, etc. dins la màquina que funciona de manera automàtica.
Xarxa
Pots connectar les màquines entre elles mitjançant Wireguard.
De moment s'ha de fer a mà.
Aplicacions
El subsistema de Windows per a Linux (WSL) admet l'execució d'aplicacions GUI de Linux (X11 i Wayland) a Windows d'una manera totalment integrada.
Gnome
Instal.la l'Editor de text de Gnome
$ sudo apt install -y gnome-text-editor
Crea un fitxer hello.txt
amb l'editor:
$ gnome-text-editor hello.txt
Firefox
Instal.la firefox:
$ sudo snap install firefox
Arrenca firefox:
$ firefox &
Activitats
Activitats d'aprenentatge
A continuació tens un conjunt d'activitats que utilitzen un entorn en WSL.
Esculla algunes i crea els entorns corresponents:
Aplicacions web
Alfresco | Alfresco és un gestor de continguts. |
Cryptpad | CryptPad és una suite de col·laboració encriptada i de codi obert d'extrem a extrem. |
Etherpad | Etherpad és un editor col·laboratiu en temps real de codi obert i basat en web, que permet als autors editar simultàniament un document de text i veure totes les edicions dels participants en temps real. |
Odoo | Odoo és un ERP i CRM de còdi obert creat amb Python |
Wordpress | undefined |
Based de dades
MariaDB | undefined |
Oracle | Oracle Database és una de les bases de dades més utilitzades per les empreses. |
Postgres | undefined |
Minio | Minio és una solució d'emmagatzematge d'objectes d'alt rendiment que proporciona una API compatible amb Amazon Web Services S3 i admet totes les funcions bàsiques de S3 |
Google chrome
Canvia al directori /tmp
i descarrega el paquet google-chrome-stable_current_amd64.deb:
$ cd /tmp
$ wget https://dl.google.com/linux/direct/google-chrome-stable_current_amd64.deb
Instal.la Google Chrome:
$ sudo apt install --fix-missing ./google-chrome-stable_current_amd64.deb
L'opció --fix-missing
es fa servir per instal.lar les dependències que falten per instal.lar el paquet.
Configura la màquina Linux perquè pugui accedir a la xarxa WireguardVPN d'Isard tal com s'explica a Isard.
Arrenca Google Chrome:
$ google-chrome&
Pots veure que el navegador pot accedir a la xarxa privada:
Arrenca un navegador des del Windows i verifica que no pots accedir a la xarxa privada, a no ser que també la tinguis configurada en el Windows.