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.
Obre un terminal de Powershell.
1.- A l'institut, has d'actualizar la versió de WSL si és el primer cop que un usuari utilitza l'ordinador:
wsl --update
Encara que et demani permisos d'administrador, digues que no, i la instal.lació segueix.
2.- En el teu ordinador has d'habilitar WSL:
wsl --install
Mira la versió de WSL i demés del teu ordinador:
> wsl --version
WSL version: 2.2.4.0
...
Ubuntu
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:
Instal.la Docker:
$ curl -L sh.xtec.dev/docker.sh | sh
$ su - ${USER}
Amb docker podem crear un projecte PHP
$ curl -s "https://laravel.build/web-php" | bash
latest: Pulling from laravelsail/php83-composer
8a1e25ce7c4f: Pull complete
...
Get started with: cd web-php && ./vendor/bin/sail up
Elimina la màquina Ubuntu
:
> wsl --unregister Ubuntu
Importar i exportar
La millor manera de fer còpies de seguretat o moure les distribucions és a través de les ordres d'exportació i importació
Pots exportar tota la distribució a un tarball mitjançant l'ordre wsl --export
. Després, pots tornar a importar aquesta distribució a WSL mitjançant l'ordre wsl --import
, que pot assignar un nom a una nova ubicació d'unitat per a la importació, cosa que us permet fer còpies de seguretat i desar els estats de (o moure) les distribucions de WSL.
Tingues en compte que els serveis de còpia de seguretat tradicionals que fan còpia de seguretat de fitxers a les carpetes d'AppData (com ara Còpies de seguretat de Windows) no faran malbé els fitxers de Linux.
TODO Fer activitat corresponent
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 !
😊
La manera més fàcil de gestionar màquines virtual és amb l'eina Box.
Un cop has instal.lat "box" tens aquests cmdlets per gestionar WSL:
Connect-Wsl
. Et connecta a una màquinaGet-Wsl
. Et mostra totes les màquinesNew-Wsl
. Et crea una màquinaRemove-Wsl
. Elimina una màquinaStart-Wsl
. Arrenca una màquinaStop-Wsl
. Para una màquina.
L'usuari és box
, la contrasenya és password
i pertany al grup sudo
.
Un cop has instal.lat el mòdul Box crea una màquina nova amb el nom esther
:
> new-wsl esther
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 esther
:
> connect-wsl esther
mars: Arrencant ... Fet.
Ja estàs dins d'una màquina virtual Ubuntu Noble
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
esther Running 2
Si vols pots crear una màquina i connectar-te directament:
> connect-wsl raquel -new
Surt de la màquina raquel
.
Verifica que les dos màquines esther
i raquel
estan executant-se:
> Get-Wsl
NAME STATE VERSION
* Ubuntu Stopped 2
raquel Running 2
esther Running 2
Para la màquina esther
i elimina la màquina raquel
:
> stop-wsl esther
> remove-wsl raquel
Verifica l'estat de les màquines registrades:
> get-Wsl
NAME STATE VERSION
* Ubuntu Stopped 2
esther Stopped 2
Conecta't de nou a la màquina esther
:
$ connect-wsl esther
Instal.la docker:
$ install-docker
$ su - ${USER}
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 laura
:
> new-wsl laura
Pots arrencar la màquina sense conectar-te:
> start-wsl laura
Això és útil 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 &
USB
Obre un terminal de Powershell.
Instal.la usbipd-win (necessites permisos d'administrador)
winget install --interactive --exact dorssel.usbipd-win
TODO:
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 la base de dades relacional comercial més utilitzada per les empreses. |
Postgres | PostgresSQL és la base de dades relacional no comercial més utilitzada per les empreses. |
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.