WSL (Windows Subsystem for Linux) es una característica de Windows 10 y 11 que permite a los usuarios ejecutar un entorno de Linux directamente en Windows sin necesidad de máquinas virtuales o arranque dual. Así que si eres de los que no salen de Windows (como yo) por el simple hecho de poder jugar sin mayores problemas, este articulo es para ti.
Debes saber que WSL no va a ofrecer el mismo rendimiento que navegar a través de Linux en sí. A pesar de ser un entorno Linux en todo su esplendor, tiene sus carencias y diferencias en comparación con correr una distro de manera nativa en tu PC. Algunas limitaciones que puedes encontrar son que muchas características útiles para tu día a día no estarán instaladas por defecto. Por otro lado, debes tener en cuenta que tu ‘home’ no contendrá tus bibliotecas como lo haría de manera nativa, y para explorar tus documentos tendrás que dirigirte a la ruta específica de ellos.
Te enseño cuales son estas características y como instalarlas en tu entorno:
Herramientas de red
curl: Herramienta para transferir datos con URL.
Ubuntu/Debian:
sudo apt update
sudo apt install curl
Fedora:
sudo dnf install curl
Arch Linux:
sudo pacman -S curl
wget: Herramienta para descargar archivos desde la web.
Ubuntu/Debian:
sudo apt update
sudo apt install wget
Fedora:
sudo dnf install wget
Arch Linux:
sudo pacman -S wget
net-tools: Incluye herramientas como ifconfig, netstat, route, etc.
Ubuntu/Debian:
sudo apt update
sudo apt install net-tools
Fedora:
sudo dnf install net-tools
Arch Linux:
sudo pacman -S net-tools
Gestores de paquetes adicionales
snapd: Permite instalar paquetes Snap.
Ubuntu/Debian:
sudo apt update
sudo apt install snapd
Fedora:
sudo dnf install snapd
sudo ln -s /var/lib/snapd/snap /snap
Arch Linux:
sudo pacman -S snapd
sudo systemctl enable --now snapd.socket
sudo ln -s /var/lib/snapd/snap /snap
pip: Gestor de paquetes para Python.
Ubuntu/Debian:
sudo apt update
sudo apt install python3-pip
Fedora:
sudo dnf install python3-pip
Editores de texto y entornos de desarrollo
vim o nano: Editores de texto en la terminal.
Ubuntu/Debian:
sudo apt update
sudo apt install vim nano
Fedora:
sudo dnf install vim nano
Arch Linux:
sudo pacman -S vim nano
code: Editor Visual Studio Code.
Ubuntu/Debian:
sudo apt update
sudo apt install software-properties-common apt-transport-https
wget -q https://packages.microsoft.com/keys/microsoft.asc -O- | sudo apt-key add -
sudo add-apt-repository "deb [arch=amd64] https://packages.microsoft.com/repos/vscode stable main"
sudo apt update
sudo apt install code
Fedora:
sudo rpm --import https://packages.microsoft.com/keys/microsoft.asc
sudo sh -c 'echo -e "[code]\nname=Visual Studio Code\nbaseurl=https://packages.microsoft.com/yumrepos/vscode\nenabled=1\ngpgcheck=1\ngpgkey=https://packages.microsoft.com/keys/microsoft.asc" > /etc/yum.repos.d/vscode.repo'
sudo dnf check-update
sudo dnf install code
Arch Linux:
sudo pacman -S code
Bases de datos
postgresql: Sistema de gestión de bases de datos relacional.
Ubuntu/Debian:
sudo apt update
sudo apt install postgresql postgresql-contrib
Fedora:
sudo dnf install postgresql-server postgresql-contrib
sudo postgresql-setup --initdb
sudo systemctl enable postgresql
sudo systemctl start postgresql
Arch Linux:
sudo pacman -S postgresql
sudo -i -u postgres initdb --locale $LANG -E UTF8 -D '/var/lib/postgres/data/'
sudo systemctl start postgresql
sudo systemctl enable postgresql
mysql-server o mariadb-server: Sistemas de gestión de bases de datos.
Ubuntu/Debian (MySQL):
sudo apt update
sudo apt install mysql-server
Ubuntu/Debian (MariaDB):
sudo apt update
sudo apt install mariadb-server
Fedora (MySQL):
sudo dnf install mysql-server
sudo systemctl enable mysqld
sudo systemctl start mysqld
Fedora (MariaDB):
sudo dnf install mariadb-server
sudo systemctl enable mariadb
sudo systemctl start mariadb
Arch Linux (MariaDB):
sudo pacman -S mariadb
sudo mysql_install_db --user=mysql --basedir=/usr --datadir=/var/lib/mysql
sudo systemctl start mariadb
sudo systemctl enable mariadb
Herramientas de línea de comandos
htop: Monitor de sistema interactivo.
Ubuntu/Debian:
sudo apt update
sudo apt install htop
Fedora:
sudo dnf install htop
Arch Linux:
sudo pacman -S htop
tmux: Multiplexador de terminal.
Ubuntu/Debian:
sudo apt update
sudo apt install tmux
Fedora:
sudo dnf install tmux
Arch Linux:
sudo pacman -S tmux
Bibliotecas y herramientas de Python
python3-venv: Herramientas para crear entornos virtuales de Python.
Ubuntu/Debian:
sudo apt update
sudo apt install python3-venv
Fedora:
sudo dnf install python3-venv
Arch Linux:
sudo pacman -S python-virtualenv
ipython: Intérprete interactivo de Python.
Ubuntu/Debian:
sudo apt update
sudo apt install ipython3
Fedora:
sudo dnf install ipython
Arch Linux:
sudo pacman -S ipython
Otros útiles
zsh: Intérprete de comandos Zsh.
Ubuntu/Debian:
sudo apt update
sudo apt install zsh
Fedora:
sudo dnf install zsh
Arch Linux:
sudo pacman -S zsh
fzf: Herramienta de búsqueda en la terminal.
Ubuntu/Debian:
sudo apt update
sudo apt install fzf
Fedora:
sudo dnf install fzf
Arch Linux:
sudo pacman -S fzf
Con WSL, tienes la oportunidad de aprovechar lo mejor de ambos mundos: la comodidad y compatibilidad de Windows junto con el poder y la flexibilidad de Linux. Aunque no es una solución perfecta y tiene algunas limitaciones en comparación con una instalación nativa de Linux, WSL ofrece una alternativa práctica y eficiente para desarrolladores y entusiastas de la tecnología que prefieren quedarse en el entorno Windows.
Al instalar las herramientas y paquetes adicionales mencionados en este artículo, puedes mejorar significativamente tu experiencia y productividad en WSL. Ya sea que necesites herramientas de red, gestores de paquetes, editores de texto, bases de datos o utilidades de línea de comandos, ahora sabes cómo configurarlas en diversas distribuciones de Linux.
Así que adelante, saca el máximo provecho de WSL y disfruta de un entorno de desarrollo robusto y versátil sin tener que abandonar tu sistema operativo preferido. ¡Feliz codificación!