1 de abril de 2016

MSYS2 proporciona un entorno Linux dentro de Windows

Por el motivo que sea puede que en algún momento tengamos que trabajar con Microsoft Windows. Puede que tengamos que hacer uso de un ordenador con este sistema; puede que necesitemos una máquina virtual para ejecutar una serie de programas (administradores de sistemas, empresas...); o puede que necesitemos compilar un programa que estemos desarrollando en el formato de Windows.

En este tipo de casos, puede que echemos de menos la experiencia linuxera de tener acceso a una terminal con gestores de paquetes que nos permitan instalar todo tipo de programas y sobre todo, si nos gusta la terminal, echar de menos la Bash... Para este tipo de situaciones, MSYS2 es un software estupendo que nos permite instalar un entorno similar a Linux, compatible con POSIX, en nuestro PC con Microsoft Windows.



Desde su página web oficial pueden descargarse el instalador i686 para Windows de 32 bits o el instalador x86_64 para Windows de 64 bits. Una vez descargado todo lo que hay que hacer es ejecutarlo, seguir los pasos del asistente de instalación, y esperar que termine el proceso que por defecto nos instalará los archivos de MSYS2 en el disco local C:. Una vez esté instalado, podemos iniciar la shell desde el menú Inicio, aunque los pasos concretos dependen de la versión de Microsoft Windows que estemos usando.

Una vez ejecutemos MSYS, se cargará el entorno y lo primero que veremos será una shell Bash, lista para utilizar, con las herramientas base listas para utilizar. Tendremos acceso a una carpeta de usuario de tipo /home/usuario, ubicada dentro del directorio de instalación de MSYS (es decir, no será el mismo directorio que el que podemos tener dentro de C:\Users\usuario, por ejemplo), para que podamos guardar los archivos personales que podamos necesitar.

Pero sin duda, lo más interesante, es el proceso de instalación de software de terceros, que puede hacerse a través de una versión de pacman disponible para MSYS. Llegó el día en el que uno puede ejecutar pacman en Windows. Con su gestor de paquetes se pueden instalar paquetes extra para la plataforma MSYS, dependiendo de lo que necesitemos. Desde programas para complementar nuestro uso, compiladores, soporte para lenguajes de programación como Python...

Algunas consideraciones a tener en cuenta:

  • Noto en general MSYS algo lento. Debido a que es necesario simular algunas cualidades POSIX dentro de la terminal, me parece coherente, pero para ciertas tareas puede ser algo incómodo.
  • Se puede navegar desde MSYS al resto del disco duro. Dentro de la raíz de MSYS se crean carpetas, /c/, /d/, ..., que equivalen a C:\, D:\ y similares. De modo que si necesitamos acceder a nuestra carpeta personal de Windows, por ejemplo, podemos hacerlo mediante /c/Users/usuario.
  • Algunas características de Linux, como los enlaces simbólicos, no funcionan correctamente en MSYS2. Crear enlaces simbólicos copia el contenido de los directorios. En Cygwin, predecesor de MSYS2, el soporte para enlaces simbólicos se hace mediante la creación de archivos especiales que sólo pueden ser utilizados dentro de Cygwin, y que no funcionan correctamente como archivos simbólicos en Windows.