Instale el subsistema de Windows para Linux

Instale el subsistema de Windows para Linux

Instale y use el subsistema de Windows para Linux (WSL)

El subsistema de Windows para Linux es una utilidad desarrollada por Microsoft para permitir a los desarrolladores y entusiastas de Linux ejecutar su entorno de Linux favorito de forma nativa en Windows 10 sin la sobrecarga de ejecutar una máquina virtual. La forma en que funciona es similar a la forma en que funciona el vino en Linux. WSL permite que los binarios de Linux se ejecuten en Windows utilizando una capa de compatibilidad que traduce las llamadas del sistema de Linux a las llamadas al sistema de Windows.

Arquitectura

Podría decirse que WSL funciona mejor en Windows, que el vino en Linux y la razón detrás de esto es porque Linux es peculiar en términos de su arquitectura. Mientras que la mayoría de los sistemas operativos consisten en un núcleo y un conjunto completo de bibliotecas y características construidas alrededor de ese núcleo, Linux es solo un núcleo. La mayoría de las distribuciones de GNU/Linux toman este núcleo y construyen una pila de sistema operativo encima. Dependiendo de cómo elija construir esta pila, obtenga diferentes distribuciones como Debian, Redhat, etc.

Para ejecutar el entorno Linux en Windows, necesitaría habilitar la función WSL (cubriremos esto en breve) y luego ir a la tienda de Microsoft para obtener una copia de su distribución favorita (Ubuntu, Debian, OpenSuse, etc.).

El primer paso permite que la capa de traducción SYSCall y el segundo paso traiga una pila de software ligera para darle un sistema operativo Linux completo para ejecutar la función WSL. Hacer lo contrario, es decir, ejecutar aplicaciones de Windows en Linux es mucho más difícil porque Windows es mucho más que solo el núcleo NT.

Por esta razón, no hay una máquina virtual involucrada en la implementación de WSL, por lo que es una opción atractiva. No tendrá ninguna pérdida en el rendimiento porque no hay máquinas virtuales involucradas, solo una capa nativa de traducción de syscall de peso ligero.

Instalación y configuración

En su PC con Windows 10, busque "activar o desactivar las características de Windows" haciendo clic en la tecla Windows y escribiendo lo mismo en el menú Inicio. Una vez que el menú de características de Windows se abre a la parte inferior, donde encontrará la función "Subsistema de Windows para Linux". Marque esa casilla y haga clic en Aceptar.

Windows se encargaría de la configuración de aquí en adelante y una vez que todo esté hecho, requeriría que reinicie su sistema para finalizar los cambios. Después del reinicio, puede ir a Microsoft Store y buscar su distribución favorita allí.

Puede buscar en la tienda su distribución favorita. A continuación se muestra una captura de pantalla de algunas de las distribuciones más utilizadas. Puedes ver dos variantes de OpenSuse, una aplicación Debian y Kali Linux.

Por supuesto, la distribución más popular sigue siendo Ubuntu con ambos 16.04 y 18.04 LTS disponible en la tienda.

Ahora solo tiene que elegir la distribución que desea e instalar la aplicación correspondiente. Instalaremos Ubuntu 18.04 LTS para nuestro entorno WSL. Tiene aproximadamente 215 MB de tamaño, mucho más pequeño que una instalación completa de Ubuntu.

Una vez que está instalada la aplicación, puede iniciarla directamente desde la aplicación Microsoft Store o buscandola en su menú Inicio. Al ser lanzado por primera vez, tomará algún tiempo configurar las cosas para usted.

Puede tomar hasta 5 minutos, pero una vez que se haga, se le solicitará que ingrese su nuevo nombre de usuario y contraseña de UNIX y está listo para comenzar!

La terminal lanzada le ofrecerá casi todas las funcionalidades de un sistema Ubuntu, excepto la GUI. Dado que la mayoría de las capacidades de Unix/Linux vienen para la potencia del terminal, esto puede darle un largo camino.

Por ejemplo, podemos comenzar a usar este entorno actualizando todos los paquetes instalados en él.

$ sudo apt actualización && sudo apt actualade -y

Cosas que puedes y no puedes hacer en el entorno WSL

Ahora, la pregunta que surge en la mente de todos es: ¿cuál es la captura??

Consideremos el caso opuesto. Con tecnologías como el vino sabemos que no todo lo que se puede hacer en Windows se puede hacer en Linux. Las bibliotecas de sistemas de bajo nivel como DirectX no estarán disponibles en Linux y muchas aplicaciones en Windows se basan en tales bibliotecas.

Los sistemas operativos como Windows 10, FreeBSD o Illumos son sistemas operativos completos, no solo el núcleo. Con Windows ya que la mayoría de las bibliotecas son propietarias y eso hace que el asunto sea más difícil. Esto hace que el trabajo de un proyecto como el vino, mucho más difícil.

Al intentar emular a Linux en Windows, lo contrario es cierto. El ajuste de llamadas de ABI de Linux (o Syscalls) es todo lo que necesita para traducir a Windows para ejecutar todo lo encima. Si intentamos preguntarle al Ubuntu en WSL qué kernel está ejecutando, le dará un número de versión de kernel de Linux, con Microsoft mencionado junto con el número de versión para indicar que esta no es la rama principal del proyecto de kernel de Linux.

$ uname -a

Si profundizamos, encontraremos que si bien las funcionalidades de alto nivel como el diseño del sistema de archivos y las configuraciones de red se muestran, las actividades de nivel inferior como el diseño de almacenamiento de bloques no funcionarán.

Por ejemplo, los siguientes comandos funcionarían como se esperaba:

$ DF -H
$ ifconfig

Ambos comandos le dicen información sobre su sistema nativo que en realidad está ejecutando Windows. No se trata de ejecutar una VM donde hay diferentes interfaces de red y diferentes sistemas de archivos por completo.

Sin embargo, comandos como lsblk no funcionará, porque el almacenamiento de bloque de nivel inferior no es lo que Linux espera que sea. Del mismo modo, la instalación de OpenZFS es inútil porque OpenZFS instala algunos módulos de núcleo cargables y no tenemos un kernel de Linux solo una ilusión de ello.

Lo mismo es cierto si estás intentando ejecutar Docker. Al instalar Docker, Ubuntu no se quejará, sin embargo, Docker Service no comenzaría, ya que depende de Systemd que esté ausente en este subsistema.

Sin embargo, puede ejecutar una gran cantidad de servicios y servicios públicos para facilitar su vida. Si administra los servidores Linux para ganarse la vida, no tiene que tener Linux en su escritorio también. Puede ejecutar clientes SSH, cliente de Docker, Bash, utilidades como GREP y AWK, así como su lenguaje de programación favorito de Python a oxidar en este entorno sin contaminar su sistema de Windows.

También puede ejecutar su automatización de CD/CI utilizando Ansible, Puppet o cualquier otra tecnología que prefiera. Es decir, cualquier cosa que un devop, un desarrollador o probador de la web o aplicaciones requeriría de un sistema Linux se puede lograr con WSL, excepto las personas que trabajan con el software del sistema y/o el desarrollo del kernel.

Conclusión

Obtuve sus propios pensamientos o experiencia con el subsistema de Windows en Linux? O tal vez todavía tiene preguntas a las que necesita respuestas. Contáctenos con sus consultas y cubriremos ese tema para usted.