Microsoft WSL
El Subsistema de Windows para Linux (Windows Subsystem for Linux, ó WSL) incorporado en Windows 10 permite a los desarrolladores ejecutar un entorno de Linux directamente en Windows sin la sobrecarga de una máquina virtual convencional.
Hay dos versiones, pero se pueden alternar. Microsoft recomienda WSL 2 por sus características mejoradas. Pero es preferible WSL 1 si:
- la velocidad de acceso desde Linux al sistema de ficheros de Windows es un requisito crítico;
- o si hay problemas por la asignación dinámica de IP en el nuevo WSL 2.
Cómo habilitar WSL y configurar WSL 1
Según la guía de instalación, para habilitar la nueva característica WSL sólo hay que ejecutar desde una PowerShell como administrador el siguiente comando:
dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart
Reiniciar el equipo para instalar tu distribución Linux preferida desde una PowerShell del usuario. Se recomienda Ubuntu:
WSL --install -d Ubuntu
Una vez instalado se ejecuta la shell de inicio:
Installing, this may take a few minutes...
Please create a default UNIX user account. The username does not need to match your Windows username.
For more information visit: https://aka.ms/wslusers
Enter new UNIX username: manuelcillero
Enter new UNIX password:
Retype new UNIX password:
passwd: password updated successfully
Installation successful!
To run a command as administrator (user "root"), use "sudo ".
See "man sudo_root" for details.
Con esto se crea el usuario root y un usuario por defecto para acceder a la shell de Linux. Una vez dentro se pueden crear otros usuarios. Para empezar se recomienda actualizar:
$ sudo apt update
$ sudo apt upgrade
$ sudo apt dist-upgrade
$ sudo apt autoremove
En /mnt/c
se monta la estructura de carpetas del disco C:\
. Y voilà, Linux funcionando en Windows.
El nuevo WSL 2
Verificar los requisitos para instalar WSL 2. Si no está habilitado, hay que instalar la característica Máquina Virtual desde una PowerShell como administrador:
dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart
y descargar para instalar un paquete de actualización del kernel de Linux. Y reiniciar el equipo.
Comandos útiles
Con esto, desde la PowerShell del usuario se podrá ejecutar:
WSL --set-default-version 2
Para establecer WSL 2 como versión predeterminada.WSL --list --verbose
Mostrará las distribuciones de Linux instaladas y su versión WSL. Y también las instancias de Docker, que se entiende perfectamente con WSL 2 (se inicia y ejecuta considerablemente más rápido y se habilita tanto en Windows como en Linux).WSL --setdefault
Cambiará la distribución de Linux por defecto. Se verá con un * al ejecutarWSL --list
.WSL --set-version Ubuntu 2
Cambiará la distribución Ubuntu a la versión 2 de WSL. Se podrá regresar a la 1 cambiando el valor final.WSL --user
Ejecutará la distribución por defecto con un usuario específico creado previamente.WSL --export Ubuntu directorio\de\archivo.tar
Detendrá la ejecución de la distribución Ubuntu y exportará todo su contenido al archivo.tar indicado.WSL --import UbuntuImportado directorio\de\instalación directorio\de\archivo.tar
Creará una nueva distribución en el directorio indicado de un archivo.tar exportado previamente.WSL --install
Configurará WSL e instalará Ubuntu de una tacada. ConWSL --install -d Debian
se instalaría Debian.WSL --shutdown
Finalizará todas las distribuciones en ejecución, incluidas las de Docker. ConWSL --terminate Ubuntu
se finalizará sólo Ubuntu.
Uso de los recursos del anfitrión
Es conveniente recortar el uso de recursos del anfitrión, especialmente si se usa con Docker, porque acapara la memoria RAM y limita la capacidad de respuesta del equipo. Microsoft está en ello, pero la mejor solución es parar con WSL --shutdown
, crear un archivo %UserProfile%\.wslconfig
con:
[wsl2]
memory=6GB # Máxima cantidad de memoria disponible para WSL2
processors=5 # Número de procesadores asignados a WSL2
y reiniciar WSL desde una PowerShell como administrador:
Restart-Service LxssManager
Cygwin
Si no es posible usar WSL en el equipo, una buena opción es instalar Cygwin. Consiste en una colección de herramientas, shells y comandos habituales en sistemas Unix para usar desde Microsoft Windows.
Instalación
El procedimiento de instalación es sencillo:
- Descargar el instalador setup-x86_64.exe.
- Ejecutar como administrador y seguir las indicaciones; por ejemplo desde internet (https://mirrors.kernel.org), para todos los usuarios, en el directorio por defecto
C:\cygwin64
. - Al acabar se puede mover el instalador a esta carpeta porque se usará para añadir o eliminar paquetes del propio Cygwin.
Directorio de inicio del usuario
Para hacer que el directorio de inicio del usuario sea su propia carpeta de Windows ejecutar como administrador el terminal de Cygwin64 y editar el archivo /etc/nsswitch.conf
para incluir esta línea:
db_home: windows
Guardar el archivo. Cerrar todos los terminales de Cygwin64. Puede ser necesario ejecutar un nuevo terminal para copiar los archivos de configuración del directorio original a la carpeta de Windows:
$ cp -p '/home/{Carpeta Usuario}/.*' ~/
Chocolatey
Chocolatey es un gestor de paquetes que facilita la instalación y la gestión del software que desarrolladores, administradores y usuarios requieren en sus equipos Windows.
Instalación
La instalación de Chocolatey se hace desde la PowerShell de Windows como administrador, ejecutar:
Set-ExecutionPolicy Bypass -Scope Process -Force; iex ((New-Object System.Net.WebClient).DownloadString('https://chocolatey.org/install.ps1'))
y comprobar la instalación:
> choco
Chocolatey v0.10.15
Please run 'choco -?' or 'choco -?' for help menu.
Paquetes disponibles
En la página de búsqueda puede consultarse el listado de paquetes mantenido por la comunidad.
Comandos habituales
Los comandos también se ejecutan desde la PowerShell, como administrador. Los más comunes son:
Instalar un paquete (install
)
choco install 7zip
choco install notepadplusplus googlechrome 7zip
Puede usarse cinst
como atajo de choco install
. Las opciones se aplicarían a todos los ítems.
Ver paquetes instalados (list
)
choco list -l
Puede usarse clist
como atajo de choco list
. Con otras opciones de interés como -li
ó -lia
.
Comprobar paquetes (outdated
)
choco outdated
Devuelve los paquetes con versiones más recientes. Normalmente se usará sin opciones.
Actualizar paquetes (upgrade
)
choco upgrade chocolatey
choco upgrade notepadplusplus googlechrome 7zip
Puede usarse cup
como atajo de choco upgrade
. Las opciones se aplicarían a todos los ítems.
Desinstalar un paquete (uninstall
)
choco uninstall 7zip
choco uninstall notepadplusplus googlechrome 7zip
Puede usarse cuninst
como atajo de choco uninstall
. Las opciones se aplicarían a todos los ítems.
Última revisión: 25/11/2022
Dejar un comentario
¿Quieres unirte a la conversación?Siéntete libre de contribuir!