Cygwin: creyéndome un chico Linux en Windows (Parte I)

Voy a ser sincero: nunca he utilizado Linux como sistema operativo personal.

Mi anterior e íntima confesión no quiere decir que utilizo solamente Windows. Al ser desarrollador todos los días tengo que interactuar con distintos servidores basados en Linux y con herramientas que cada vez más le dan mayor énfasis al trabajo en consola. Y seamos francos, la consola de Windows es pésima, tuve que buscar otra alternativa, y que mejor que trabajar en un ambiente pingüinesco.

Es aquí donde aparece Cygwin  en mi vida – gracias a un retweet de Taylor Otwell -, entregando un entorno similar a Linux pero en Windows. Esto lo hace gracias a una capa de emulación POSIX la cual se comunica con la API de Windows, en palabras simple, se encarga de que instrucciones para sistemas Unix funcionen en un entorno Windows.

Si bien al momento de instalarlo, se cuentan con las utilidades básicas de un entorno Linux, como: ls, grep, find, mv, cp, cat, touch, cuenta con un repositorios de aplicaciones las cuales se pueden instalar según necesidad: wget, ps,  ssh, telnet, scp, nano, vi, cron, hasta herramientas de desarrollo como gccmake.

Cygwin en Windows 8.1

Cygwin en Windows 8.1 + Console Z

A continuación les voy a mostrar el proceso de instalación, configuración, algunos tips para mejorar el entorno de trabajo y comentar mi experiencia de estos últimos meses utlizando Cygwin.

INSTALANDO CYGWIN

Lo primero es descargar el instalador correspondiente de acuerdo su versión de sistema operativo. Es compatible desde Windows XP hacía adelante:

He leído que la versión de 32-bit tiene mayor soporte, debido a que se encuentran mayores herramientas portadas a esta versión que a la de 64-bit. Por lo menos en mi caso, he estado trabajando con la versión de 64-bit y no he tenido problema alguno respecto a herramientas que deseo instalar. Hasta el momento todo lo que he buscado se encuentra disponible. De igual forma en la documentación se recomienda la instalación de 64-bit sobre la de 32-bit.

El proceso de instalación es simple – gracias a devtidbits.com  por las imágenes – :

Instalación Cygwin - Paso 1

Instalación Cygwin – Paso 1

Instalación Cygwin - Paso 2

Instalación Cygwin – Paso 2

En la ruta de instalación pueden seleccionar las que más les acomode. Pero como recomendación es ideal utilizar la raíz del disco, ya sea C:\ o W:\ como en la imagen. Importante no elegir una ruta con espacios como C:\Program Files\Cygwin, de lo contrario después pueden tener problemas. En segundo lugar pregunta para quienes va a estar disponible – Install For – Cygwin en el computador, en mi caso, siempre selecciono sólo para mi – Just Me -, de lo contrario todos los usuarios del computador tendrán acceso a la herramienta.

Instalación Cygwin - Paso 3

Instalación Cygwin – Paso 3

Cygwin tiene que descargar en algún lugar los paquetes para luego instalarlos, por defecto, selecciona el mismo directorio donde se encuentra el archivo de instalación. Este no es el directorio donde Cygwin se va a instalar, si no donde descargará los archivos de instalación, por así llamarlos. Puedan dejar la misma ruta, o seleccionar una carpeta que les acomode. Una vez Cygwin empiece el proceso de instalación, dentro de esa ruta encontrarán carpetas con nombres como este: http%3a%2f%2fmirrors.163.com%2fcygwin%2f,  que no hay problema alguno que borren luego que Cygwin se instala.

Instalación Cygwin - Paso 4

Instalación Cygwin – Paso 4

Instalación Cygwin - Paso 5

Instalación Cygwin – Paso 5

En el paso número seis deben seleccionar cualquier dirección de la lista. Éstos no son más que mirrors desde donde Cygwin va a obtener los paquetes de instalación.

Instalación Cygwin - Paso 6

Instalación Cygwin – Paso 6

El paso número siete viene a ser el más importante, debido a que es donde podemos seleccionar las herramientas que deseamos instalar. Por defecto, Cygwin viene con ciertos paquetes básicos pre-seleccionados, por lo cual, si lo desean, pueden sólo presionar Next y volver a esta pantalla más adelante cuando sepan realmente que paquetes van a necesitar. Aquí no hay nada que temer, nada se va a romper si instalan algo que no eran lo que pensaban o sólo por probar.

Instalación Cygwin - Paso 7

Instalación Cygwin – Paso 7

Instalación Cygwin - Paso 8

Instalación Cygwin – Paso 8

En el último paso, muestra las opciones para acceder a Cygwin, por lo que voy a suponer que al menos crearon el acceso directo en el escritorio. Este acceso directo abre el terminal Mintty, que viene por defecto y está basado en PuTTY – ah, olvídense de PuTTY de ahora en adelante -. Es una consola más amigable con que trabajar en comparación a la de Windows. De igual forma pueden correr Cygwin dentro del terminal por defecto de Windows, basta ejecutar el archivo Cygwin.bat que está en la carpeta en donde fue instalado.

Instalación Cygwin - Paso  9

Instalación Cygwin – Paso 9

¡No borren el instalador de Cygwin!

INTERACTUANDO CON LA CONSOLA

Una vez abierta la consola, lo primero que verán será algo como esto:

Cygwin

Cygwin

Dentro de esta consola ya se pueden sentir como en Linux y empezar a probar comandos como: ls, grep, cat, touch o pueden ver la versión de bash con bash –version. De igual forma, los comandos provenientes de Windows están disponibles: dir, ipconfig, ping, etc. También pueden utilizar TAB para autocompletar nombres de archivos, directorios o comandos.

Para saber todos los comandos disponibles con los que cuentan pueden escribir ls /bin/*.exe y les mostrará un listado de ellos. Como es de costumbre en Windows, no es necesario escribir los comandos con la extensión .exe, escribir ls.exe es lo mismo que escribir solamente ls.

Es importante tener en cuenta que el directorio raíz para Cygwin es la carpeta de instalación de éste. Por lo que si realizan un cd /  estarán posicionados en la carpeta C:\cygwin\  o donde sea que lo hayan instalado. Para poder acceder a otra carpeta del sistema, Cygwin posiciona los discos dentro de la carpeta cygdrive, por lo que si queremos ir a C:\Usuarios\Niko\Descargas, debemos escribir /cygdrive/c/Usuarios/Niko/Descargas – ya veremos como solucionar esto -.

INSTALANDO Y DESINTALANDO PAQUETES

¿Recuerdan la advertencia de más arriba sobre no borrar el instalador de Cygwin?. Bueno, se debe a que ese mismo instalador se utiliza para instalar paquetes una vez se tiene Cygwin instalado en el sistema. Para ello, deben seguir los mismos pasos de instalación, pueden cambiar las opciones que necesiten, pero lo importante es que siempre seleccionen la misma ruta de destino, de lo contrario, es como si fuesen a instalar Cygwin desde cero. Una vez en el paso número siete deben detenerse.

Instalación Cygwin - Paso 7

Instalación Cygwin – Paso 7

Aquí cuentan con un buscador en la parte superior donde pueden buscar la herramienta de Linux que más les guste. Tengan presente que no están todas las herramientas disponibles, ya que existe una comunidad detrás encargada de portar estas herramientas. Digamos que queremos instalar el simple y útil wget. Basta con escribir en el buscador, y automáticamente se filtrarán los paquetes que concuerdan con ese criterio. En específico, este paquete se encuentra bajo la rama Net. Para instalarlo sólo deben hacer clic donde dice Skip. El texto cambiará por la versión de la aplicación y se marcará la opción Bin? que vendría siendo el ejecutable.

Instalando Wget en Cygwin

Instalando Wget en Cygwin

Le damos a Next y es posible que aperezca otra pantalla confirmando la instalación y listando el paquete seleccionado más todas las dependencias necesarias para que éste funcione. Confirmamos y el instalador empezará a descargar los paquetes necesarios y a instalarlos en el equipo.

Para eliminar una herramienta de Cygwin, es igual de simple que al instalarlas. En el mismo paso número siete buscamos el paquete deseado y veremos que dice Keep, hacemos clic sobre éste hasta que el texto diga Uninstall. Finalmente le damos a Next y confirmamos la operación. Hay que tener en cuenta, que esto no elimina las dependencias instaladas, si no que sólo el paquete en si mismo. Encontré un bash script que promete eliminar las dependencias sin uso dentro de Cygwin – aún no lo pruebo -.

ACTUALIZANDO CYGWIN Y SUS PAQUETES

Aunque parezca broma, el mismo instalador de Cygwin nos sirve para actualizar nuestros paquetes. Sólo deben seguir el paso a paso, obviamente siempre manteniendo la misma ruta de instalación, y una vez terminen con el paso número siete donde se listan los paquetes, si existen actualizaciones disponibles, el instalador las listará y pedirá confirmación para actualizar. Finalmente se descargan y se actualizan de manera automática. Esto incluye la actualización de Cygwin como aplicación de Windows.

SUFICIENTE POR HOY

En la entrada actual expliqué lo básico para partir con Cygwin y poder entender su funcionamiento. En una próxima entrega veremos un poco de configuración para personalizar nuestro shell, como trabajar más cómodo con SSH – adiós PuTTY – y finalmente integrar una consola multi-pestaña.

ACTUALIZACIÓN: Cygwin: creyéndome un chico Linux en Windows (Parte II)

FUENTES

Anuncios

10 comments

    1. Sí, he escuchado maravillas de esa distro. Por un tema de trabajo no me he podido mover a Linux, fuera de ello en mi tiempo libre (no es mucho) soy gamer. Y claro, puedo tener un dual-boot, pero no me he dado el tiempo la verdad.

      Me gusta

  1. Ya se que no está del todo en el tema, pero me gustaría usar hydra, buscando en webs encontré una y me quedé en el paso de abrir el explorador de internet en cygwin. No encuentro ningún lugar que me explique como hacerlo, si sabes me serías de gran ayuda, muchas gracias

    Me gusta

  2. Hola,

    Me quiero morir. ¿Cómo hago para desinstalarlo completamente? Crei que solo era eliminar el directorio C:/cygwin64, pero estuve mirando las FAQ y es todo un lio porque da un montón de indicaciones para desinstalarlo completamente:

    https://cygwin.com/faq.html#faq.setup.uninstall-all

    Por otra parte, el mismo desarrollador recomienda no instalarlo en ese directorio para evitar futuros conflictos, sin embargo, el instalador pone esa ruta por defecto… GENIUS

    https://cygwin.com/faq.html#faq.setup.c

    Pareciera un trolleo.. Tengo miedo de que aprezca un pantallazo azul en algún reinicio.

    Necesito su ayuda
    Muchas gracias

    Saludos

    Me gusta

    1. Amigo, tranquilo, no hay motivo que un BSOD aparezca por eliminar Cygwin de “mala manera”. Estuve revisando el FAQ y la verdad es que no es tan terrible. Yo por lo menos no tengo ningún servicio asociado a Cygwin, sólo agregué el PATH del directorio de los binarios si bien recuerdo. Y en el sitio no dice que no instales en C:/cygwin, dice que NO lo instales en la raíz, osea en C:/, ya que primero te va a quedar un caos con todos los directorios que se crean, y segundo otros programas pueden corromper tu instalación. Así que tranquilo, nada malo va a suceder.

      Me gusta

Deja un comentario (puedes utilizar Markdown)

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s