¿Por qué utilizo Linux?

linux_suck

 

En mi caso llevo utilizando Linux desde hace 8 años, cuando haya por el verano entre 1º y 2º Bachiller Windows hizo gala de su calidad como sistema operativo y no era capaz de arrancar en ningún modo, realizando solo pantallazos azules. Era la época de Windows XP y todo mi contenido del disco duro estaba perdido. Había probado anteriormente Suse Linux pero no me adaptaba a ella, hacía poco me habían hablado de Ubuntu una nueva distribución de Linux y me habían regalado uno de los CD’s que Canonical enviaba a sus usuarios para que los repartieran entre sus amigos, a mi me llego por el técnico de la tienda de informática que frecuentaba. Había llegado la hora, migraba a Ubuntu.

Desde entonces han pasado 8 años y en ningún momento Ubuntu ha dejado de ser mi distribución de Linux de referencia, ha aparecido Ubuntu Server y he migrado también mis servidores a ella. En ocasiones he tenido que utilizar Windows para programas de los que no hay alternativa en Linux o no se pueden ejecutar desde Wine.

Nunca me he podido librar del arranque dual porque por desgracia Windows es el estándar y el 95% de los programas se hacen para ese sistema operativo, sin embargo siempre que lo utilizo me quedo con la misma sensación. Linux es mejor. Todas las cosas que se pueden hacer con Windows se pueden hacer con Linux, y más aún. La terminal de Linux no tiene rival por mucho que Windows haya lanzado PowerShell, y en el mundo de los servidores cuando me hablan de servidores web con apache, php, mysql y con Windows Server se me ponen los de punta (El servidor de mi facultad de informática es uno de esos bichos raros)

Linux es un sistema operativo mucho mejor, la curva de aprendizaje también es muy amplia para poder utilizar todo el poder del operativo. Como podéis observar en ningún momento he hablado de las muchas bondades que tiene el software libre contra el privativo, el no quedarte atado a ningún fabricante, la cantidad de alternativas que existen en el mundo del software libre para cualquier programa.

No soy un talibán del software libre, es más, mi teléfono móvil es un iPhone con lo cual reconozco que simplemente me vendo al mejor postor, y en la época que me compre el iPhone 4 los teléfonos con Android eran peores y el sistema operativo mucho peor. Ahora miro con ojitos a la versión de ubuntu para ver si es tan buena como es, pero dado que en general no soy un early adopter esperare a ver que opina la gente antes de cambiar mi teléfono móvil.

Resumen

Porque es un sistema operativo mucho mejor que Windows y punto

Git es poderoso

images (1)

 

Ha pasado tiempo desde que a Linus Torvald le quitaran la licencia gratuita que tenia el equipo del kernel de Linux para utilizar gratuitamente el sistema de versiones Bitkeeper. Este fue el día de nacimiento de git, después de ver que otras herramientas posibles de versiones existían en el mundo del software libre nuestro amigo Linus opto por la táctica nº1 de los informáticos do it your self que en la lengua de Cervantes significa hazlo tu mismo.

Git es un dcvs a diferencia de los sistemas de versiones de la época que eran solamente cvs. Estos sistemas antiguos eran centralizados, de esta manera dependían de un único servidor, sin posibilidad de trabajar localmente y luego volcarlos en el servidor.  Cualquiera que haya  trabajado con subversion en un proyecto de unos 30-40MB sabe que lo es que hacer un update al servidor, sobre todo si esta fuera de la intranet, el tiempo que lleva. Todas esas cosas fueron solucionadas con git.

Git es el core del sistema, como cada vez más se diferencia la parte GUI del sistema de la propia funcionalidad del mismo. Existen muchos interfaces de git disponibles, desde versiones web como wievgit, de escritorio o integradas en el IDE como ocurre con netbeans y eclipse.

Con git también han surgido comunidades de proyectos del software al más puro estilo sourceforge dentro de la cual la estrella como no es github, sin embargo esta adolece de un gran problema, y es que no permite la existencia de repositorios privados (no públicos) en la versión gratuita.

 

Repositorios git privados

En caso de que queramos utilizar proyectos privados de git para trabajar en grupo existen hoy en dia dos alternativas ambas validas y gratuitas.

  • Utilizar una carpeta de Dropbox compartida entre desarrolladores para alojar el servidor común de git.
  • Utilizar bitbucket como servidor remoto de git. En este caso la opción gratuita esta limitada hasta 5 desarrolladores, pero no hay limites de espacio ni de proyectos, incluso nos permiten personalizar nuestro repositorio de git con nuestro propio dominio, en mi caso tengo mi propio subdominio en git.eljony.net  desde donde se pueden ver mis proyectos públicos (los privados permanecen ocultos).

 

En resumen, si hoy en día en nuestra universidad o trabajo aún no han migrado a git, va a siendo hora que lo hagan. Los dcvs han ganado la batalla de los sistemas de control de versión y han llegado para quedarse.

Proxy socks en windows con solo una cuenta ssh

En el pasado ya hemos visto como crear un proxy socks en linux. Hoy a pedido de un asturiano emigrante que necesita salir desde España vamos a ver como hacer la misma operación desde Windows.

Para ello el unico programa que utilizaremos sera putty, el cual no tiene instalador y se puede descargar libremente aqui. El proceso de uso es muy sencillo y la mayoría de vosotros estaréis familiarizados con el tema por lo que las explicaciones son simples.

Pantalla inicial Putty

En hostname ponemos la dirección del servidor ssh que vamos a utilizar para proxy socks. Luego simplemente vamos a la pestaña de abajo SSH y pulsamos tunel. Dentro de ello introducimos un tunel dinamico y elegimos el puerto local que vamos a utilizar, en mi caso 9999.

 

Pulsamos add y se nos añade en las ordenes de conexión. Una vez hecho esto solo tenemos que pulsar la opción open desde el menú principal y abriremos una terminal ssh con el servidor y un tunel proxy socks con el. Para finalizar configuramos el navegador o el ordenador para que utilize el tunel local para navegar a internet, Firefox es mi favorito en ese aspecto ya que no hay que cambiar la configuración del sistema sino que lo guarda localmente.

Y listo, ya estamos navegando a través del servidor y no de nuestra conexión local. Es importante no cerrar el terminal de putty ya que si cerramos la ventana cerramos también el proxy socks que utilizamos para navegar a internet. Ahora ya podemos navegar desde una ip diferente de la nuestra y por ejemplo ver ese video que no nos permitían por tener una dirección ip de ese país.

 

Strobe by Julian Assange

Speed test

En el trabajo andamos liados con un trabajo que implica realizar una prueba de stress  a un sistema de red movil y por ello andamos buscando software que se ande a nuestras necesidades para el proyecto. Hoy he encontrado un paquete para la prueba de la red llamado netdiag el cual contiene una serie de programas en su interior.

Uno de los que contiene es el que da titulo a la entrada, Strobe, el cual al ejecutarlo vemos que ha sido desarrollado por Julian Assange

JulianAssange

Y es que aunque ya se había dicho que Julian Assange tiene un pasado dentro de la cultura UNIX yo personalmente nunca había visto un programa suyo.

Crear un proxy con solo un tunel ssh

Tunel ssh

Aunque todos conocemos programas como squid para crear proxys a través de los cuales navegar es posible realizar esta misma función a través de un simple tunel ssh. Las diferencias entre ambos sistemas son muchas, por un lado al crear un proxy SOCKS con un tunel ssh solo tu puedes navegar por ese proxy, por otro lado no actúa como un sistema de cache, sino que simplemente tunela las conexiones a través del tunel ssh.

Pero no todo son desventajas en este sistema de proxy. Si por ejemplo estamos navegando por una red wifi abierta al emplear un tunel ssh para navegar todos nuestros datos están siendo cifrados por la conexión ssh con lo que la conexión es segura.

¿Como hacer un túnel ssh? Muy sencillo. ssh -D PORT user@host . Es importante emplear un puerto a partir del 1023 ya que los anteriores puertos son reservados por el sistema y necesitarías  permisos de administrador para ejecutarlo y ademas podrías tener problemas que el puerto estuviese usado.

Después de lanzar el puerto ssh, se configura el proxy socks en localhost con el puerto que hemos empleado. El sistema que hemos comentado también funciona en Windows con putty aunque no se puede lanzar de una manera tan sencilla