A lo largo de los tiempos hemos deseado vincular diferentes sistemas operativos en una sola máquina, y esto ha sido posible, en teoría, gracias a herramientas de virtualización como VMware, Virtual Box, etc, pero no es común que podamos ejecutar una máquina de un sistema operativo como parte de otra con un sistema operativo distinto.
Vamos a hablar en concreto de Windows y Linux; Todos sabemos que son dos sistemas completamente diferentes y era casi imposible que el uno pueda ser ejecutado en el otro sin tener que usar una herramienta para crear máquinas virtuales. La gran noticia es que ya es posible ejecutar Linux en Windows 10 gracias a una actualización anunciada en el mes de febrero.
Esta información fue aportada en la conferencia Build 2016 y es, palabras más palabras menos, la integración de un subsistema Ubuntu en la plataforma de Windows 10 (Increíble verdad). Con esta herramienta podremos ejecutar todos los comandoscorrespondientes a Bash tal como si lo estuviéramos ejecutando en la máquina real de Ubuntu, y como hablamos, lo novedoso es que no es una máquina virtual (acostumbrados a ellas) sino que es un espacio dentro de la estructura de Windows 10 y estará ubicado en la ruta:
C:\users\[nombredelusuario]\AppData\Local\Lxss\rootfs\Una de las grandes novedades que tuvimos la oportunidad de conocer y gestionar en Windows 10 en su versión Aniversario fue la posibilidad de implementar Bash de Linux en sistemas operativos Windows lo cual nos permitía contar con un entorno de Ubuntu 14 sin necesidad de tener una maquina virtual.
Esto es un avance muy significativo para todos aquellos que estamos gestionando ambos sistemas operativos ya que podemos realizar múltiples tareas entre ambos sistemas de forma directa. Ahora, en la edición Creators Update, la cual será lanzada a mediados del mes de marzo del año 2017 tendremos dos novedades en Bash para Windows:
- Actualización a Ubuntu 16.04
- Posibilidad de ejecutar programas de Windows directamente desde Bash
- Ejecutar binarios y comandos de Windows en la consola de Ubuntu.
- Ejecutar programas de ambos Sistemas Operativos en una sola consola.
- Incluir comandos de Windows usando un script bash.
Recordemos que para tener acceso a la build de Creators Update debemos ser, por el momento, usuarios Insider para poder ejecutar las pruebas necesarias en dicha edición de Windows 10.
1. Requisitos para ejecutar Bash de Ubuntu en Windows 10
Existen básicamente tres requisitos fundamentales para que toda la tarea de Bash sea ejecutada de forma correcta y sin ningún inconveniente, estas son:
2. Cómo acceder a Bash de Ubuntu en Windows 10
Para acceder a Bash podemos usar dos opciones:
- En el cuadro de búsqueda de Windows 10 ingresamos el termino bash y seleccionamos la opción respectiva.
- Pulsando el botón Inicio y buscar la respectiva herramienta.
3. Cómo instalar la Shell de Linux en Windows 10
Primero debemos saber que este cambio viene incluido en la actualización 14316. Vamos a ir a la opción Configuración en nuestro Windows 10:
Allí se desplegará la siguiente ventana donde debemos elegir la opción Actualización y Seguridad:
Una vez seleccionado esta opción se desplegará la siguiente ventana:
Debemos seleccionar la opción Para programadores y posteriormente activar el botón Modo de programador; Una vez seleccionado este botón se desplegará la siguiente información. Una vez seleccionemos Sí se activará dicha ficha en nuestro panel.
A continuación vamos a ir al menú Inicio y buscaremos la opción Activar o desactivar las características de Windows. En la ventana que se abre debemos movernos hasta la opción Windows Subsystem for Linux (Beta)
En algunos casos, diríamos que en la gran mayoría, puede suceder lo siguiente para sorpresa nuestra:
Como vemos la opción Windows Subsystem for Linux (Beta) no se encuentra disponible, puede ser traumático para nosotros, pero esto se debe a que esta característica está habilitada en la compilación 14316. Ahora nos surge una pregunta, ¿Qué hacemos?
Vamos a realizar el siguiente proceso para poder habilitar y explorar esta característica tan importante para nosotros. Como primer paso ingresaremos desde el menú inicio a la opción Configuración.
Allí veremos que se despliega la respectiva ventana de ajustes, allí seleccionamos la opción Actualización y Seguridad.
Posteriormente seleccionamos Windows Update.
En la ficha de Windows Update damos clic en la línea Opciones avanzadas. Se desplegará la siguiente ventana:
Vemos la opción Obtener compilaciones de Insider Preview, allí damos clik en el botón Empezar. Podremos ver que se despliega lo siguiente:
Para poder continuar con el proceso debemos estar registrado como usuarios Insider, esto es con el fin de poder descargar y ejecutar diferentes compilaciones y aplicaciones de Microsoft, si no estamos registrados lo podemos hacer desde el siguiente link.
Una vez tengamos nuestro usuario registrado, procedemos a dar clic en el botón Iniciar sesión en nuestro Windows 10.
Elegimos cuenta de Microsoft e ingresamos nuestro usuario y contraseña.
Damos clic en Iniciar sesión, por temas de seguridad debemos ingresar de nuevo nuestra contraseña de usuario.
Damos clic en Siguiente y veremos que una vez se haya iniciado sesión se desplegará la siguiente ventana informativa:
Damos clic en Siguiente, veremos la siguiente información:
Damos clic en Confirmar y a continuación debemos reiniciar nuestro Windows 10 para poder tener acceso a las diferentes actualizaciones de Insider Preview. Así que damos clic en el botón Reiniciar ahora para iniciar de manera automática el reinicio de nuestra máquina. Comenzará el proceso de reinicio
Una vez que hemos reiniciado Windows debemos ir nuevamente a Configuración, Actualización y seguridad, Windows update y allí seleccionamos nuevamente Opciones avanzadas, allí podremos ver nuevamente nuestra opción de actualización de las nuevas builds o compilaciones que salgan a través de Insider, recordemos que ser usuarios de Insider nos permite probar sistemas operativos y aplicaciones antes que salgan al mercado o salgan las versiones previas.
Podemos elegir la opción Fast (Recomendable) ya que así nos llegan más pronto las actualizaciones aunque no sean estable, si elegimos Slow las actualizaciones se demoran más pero son más estables.
Después de todo este proceso podemos buscar a través de Windows Update las actualizaciones disponibles y encontraremos la compilación 14316, el proceso de actualización es similar al de Windows Update normalmente.
A continuación abrimos la opción de Activar o desactivar las características de Windows y allí buscaremos Windows subsystems for Linux (Beta). Como notamos se hace la aclaración “Beta” lo cual indica que está en proceso de pruebas por parte del grupo de desarrolladores de Microsoft.
Una vez se active esta característica debemos reiniciar nuestra máquina Windows 10. Una vez reiniciada la máquina podemos usar el buscador en Windows 10 para ubicar y ejecutar el comando bash.exe.
Una vez hayamos ejecutado este comando veremos que se despliega una ventana de DOS en la cual debemos aceptar los términos de uso, simplemente ingresamos la letra s (Sí) y damos Enter.
4. Cómo abrir y usar Bash en Windows 10
Una vez hayamos terminado esta instalación debemos esperar que el proceso concluya y podremos buscar el término Ubuntu para que podamos ejecutar el bash Shell de Linux en nuestro entorno Windows 10. Una vez ubicado simplemente damos clic en él y así desplegaremos nuestra terminal de Ubuntu en Windows 10.
Veremos nuestra terminal de la siguiente manera:
De esta manera podremos usar todos los comandos de Ubuntu en Windows 10. Veamos, por ejemplo, el subsistema que vamos a usar con esta característica lanzada por Windows, recordemos que está en fase beta. Usaremos el siguiente comando:
lbs_release -a
En esta característica podremos usar el editor nano y todos los paquetes relacionados con apt para con esto tener la capacidad de poder actualizar nuestros repositorios usando el comando:
apt-get update
De la misma manera podremos usar sudo, ya que funciona a la perfección (hasta ahora). Como lo hemos mencionado, al tratarse de una versión beta hay comandos que aún no funcionan de la mejor manera, por ejemplo el comando ifconfig que nos permite ver los parámetros de la red no está habilitado y tampoco podremos integrar de manera completa esta herramienta bash con las aplicaciones de Windows 10.
De todas maneras contamos con un gran alcance con esta nueva característica suministrada por Microsoft. Linux Bash Shell esta comentada sobre un Ubuntu 14.04 LTS para tenerlo en cuenta y dentro de sus virtudes está el amplio uso de APT ya que podemos buscar paquetes usando la sintaxis apt-cache search o instalarlos directamente a través del comando apt-get instal.
- Instalar un paquete de aplicaciones usando el comando apt-get install packagename, donde packagename es el nombre del paquete a instalar.
- Descargar e instalar las últimas actualizaciones usando el comando apt-get update.
- Descargar e instalar las últimas actualizaciones de los paquetes usando el comando apt-get upgrade.
- Desinstalar un paquete usando el comando apt-get remove packagename donde packagename es el nombre del paquete a desinstalar.
- Buscar los paquetes disponibles usando el comando apt-cache search Word, en la palabra Word debemos ingresar el término del paquete a buscar.
Podemos crear un entorno de herramientas gráficas y para ello podemos instalar alguna de las herramientas que encontramos disponibles en la red para este fin, podemos instalar, por ejemplo, Xming ó Cygwin.
- No es una máquina virtual es un entorno real de Linux y ocupa un espacio directamente en la unidad de Windows.
- Es una versión Beta, es decir, está sujeta a cambios y modificaciones hasta que se perfecciones los errores que pueden aparecer.
- Esta característica no está disponible en versiones Home o Enterprise por el momento sólo está disponible en la versión Insider Preview.
- Diversas características de Linux pueden ser ejecutadas en esta característica tales como apt-get, Bash, Python, git, vim entre otras.
- Está basado en Ubuntu 14.04 LTS.
- Para la creación e integración de esta característica se unieron Microsoft con los creadores de Ubuntu, Canonical.
- Podemos tener un gran rendimiento de nuestras aplicaciones Linux ejecutándose en un entorno Windows 10.
- No podemos interactuar entre aplicaciones, es decir, aplicaciones de Windows con Linux y viceversa.
5. Cómo ejecutar programas de Windows en Bash de Ubuntu
En primer lugar, debemos tener presente lo siguiente:
La unidad C de Windows 10 en Bash de Ubuntu la tenemos en la siguiente ruta: /mnt/c.
Bash tiene la capacidad de distinguir entre mayúsculas y minúsculas por lo que si ingresamos un comando en el formato incorrecto recibiremos un error.
Podemos iniciar intentando ejecutar el comando Ping el cual lo encontramos en la siguiente ruta:
C:\Windows\System32\PING.EXE
Para ello vamos a Bash y ejecutaremos el siguiente comando:
/mnt/c/Windows/System32/PING.EXE
Antes de ejecutarlo intentemos ejecutar el comando en minúscula para comprobar que Bash reconoce entre mayúsculas y minúsculas.
Ahora si lo ejecutamos de forma normal, en mayúscula, obtendremos el siguiente resultado. Esto sucede porque no hemos definido los parámetros completos del comando. Debemos tener presente la sintaxis de la ruta ya que si esta contiene caracteres como corchetes o espacios debemos anteponerlos con la barra lateral \.
A continuación intentaremos acceder a Internet Explorer, para ello ejecutaremos el siguiente comando en Bash:
/mnt/c/Program\ Files\ \(x86\)/Internet\ Explorer/iexplore.exe
El resultado obtenido será el siguiente. Fijémonos que hemos agregado el símbolo \ antes de los caracteres que contienen un espacio.
6. Cómo asignar un argumento a un comando en Bash de Ubuntu
El Shell de Bash de manera automática asigna los parámetros de forma directa a los comandos que ejecutamos, por ejemplo, podemos usar el siguiente comando:
/mnt/c/Windows/System32/PING.EXE solvetic.com
Obtendremos el siguiente resultado:
O si deseamos ve el archivo hosts del equipo usaremos el siguiente comando:
/mnt/c/Windows/System32/notepad.exe "C:\Windows\System32\drivers\etc\hosts"
Como vemos podemos usar la ruta estándar de Windows mientras ejecutamos una ruta directamente a un programa.
7. Cómo ejecutar un comando en Bash de Ubuntu
Como sabemos no todos los comandos de Windows 10 son ejecutables, .exe, sino que vienen incorporados dentro del símbolo del sistema.
Para ejecutar este tipo de comandos debemos ejecutar el comando cmd.exe y posteriormente ingresar el respectivo comando, la sintaxis es la siguiente:
/mnt/c/Windows/System32/cmd.exe /C comando
Por ejemplo, para desplegar el directorio usaremos el siguiente comando:
/mnt/c/Windows/System32/cmd.exe /C dir
8. Cómo añadir directorios a una ruta especial en Bash
Los servicios de Windows para Bash trata a los archivos ejecutables de Windows de forma idéntica a como son tratados los binarios de Linux, es decir, podemos agregar un directorio que contenga un archivo .exe y posteriormente ejecutarlo directamente.
Por ejemplo, podemos ingresar el siguiente comando:
export PATH=$PATH:/mnt/c/Windows/System32
Ahora podemos ejecutar directamente los comandos que sean necesarios, en este caso ejecutaremos dos (PING.EXE y notepad.exe). Como vemos son ejecutados de forma correcta y son ejecutados sin ningún problema.
9. Cómo ejecutar comandos de Linux y Windows 10 simultáneamente
Con esta nueva novedad tenemos la opción de canalizar un comando de Windows 10 en un comando de Linux.
Un ejemplo práctico de esto es usar el comando de Windows ipconfig.exe -all para tener acceso a las interfaces de red y usar de manera simultánea el comando grep de Linux para que el resultado sea en este formato. Podemos usar el siguiente comando:
/mnt/c/Windows/System32/ipconfig.exe -all | grep "IPv4 Address"
Como vemos esta importante y practica novedad nos va a permitir tener un alcance mayor de Bash de Ubuntu en Windows 10 para diversas tareas de gestión. Como vemos esta nueva característica nos brindará un nuevo entorno que sin duda, siempre y cuando tengamos algún vínculo con el mundo Linux, será una grata experiencia en nuestros roles, esperemos que la característica Bash sea lanzada para las versiones tradicionales ya que todos no tienen el alcance de la versión Insider Preview. Si sueles usar estos dos Sistemas Operativos, te proponemos también la opción de tener un dual Boot con Linux y Windows 10 y así no perderte lo mejor de ambos.