Miedo a Linux, ¿qué te estas perdiendo?

¡Bienvenidos un día más a un nuevo rootie queridos amigos! Volvemos una semana mas y me pongo a los mandos de ohmyroot! para tratar uno de mis temas favoritos: Linux. En este articulo voy a hacer un breve análisis de las ventajas de Linux y lo voy a hacer sin ponerme en plan ultra y sus distros tienen sobre… cualquier sistema operativo existente.

Linux ese gran desconocido.

Para todos aquellos rooters que ahora mismo os estáis preguntando que es Linux, la versión corta a esta pregunta es: «Un sistema operativo».

La versión larga, es un poco más complicada.

Lo que hoy la gran mayoría de usuarios conocemos como «Linux», es en realidad la suma de varias partes. Por una parte tenemos GNU (GNU’s Not Unix, me encantan los acrónimos recursivos) y el núcleo o kernel Linux.

GNU es por si mismo un sistema operativo que sigue el modelo UNIX, de sistema operativo portable, multiusuario y multitarea, pero con una gran diferencia, esta compuesto únicamente de software libre.

Por otro lado, tenemos el núcleo Linux, escrito por Linus Torvalds en 1991. Este software incluye controladores, planificadores, gestores de memoria virtual y más funcionalidades típicas del núcleo de un sistema operativo.

linus-torvalds
Este es el señor que se saco Linux de la manga.

Estos dos elementos dan lugar (en el 99% de los casos) al sistema operativo GNU/Linux (que es su nombre completo) y sus diferentes distribuciones.

Metiéndonos en harina, ventajas de linux.

Ahora que ya nos ha quedado claro que es Linux, veamos sus diferentes ventajas a nivel general.

  1. Coste. Es totalmente gratis 100%, sin trampa ni cartón. Tanto a nivel de usuario como a nivel de servidor.
  2. Seguridad. La seguridad es una pieza central en GNU/Linux. Y ha de serlo, ya que mas del 60% de los servidores de Internet usan Linux o derivados.
  3. Libertad. Linux nos permite un control absoluto en como nuestro SO esta configurado. Muchas veces se cuenta esto como una debilidad, ya que el usuario medio sin grandes conocimientos, solía encontrar este aspecto frustrante, pero aun así yo lo voy a contar como ventaja.
  4. Rendimiento. Y me refiero al rendimiento que se le puede sacar a un PC o a un servidor, aunque en los últimos años otras tecnologías han hecho grandes avances en esta materia, Linux sigue a la cabeza.
  5. Privacidad. Y es que es muy poco probable que en una distribución de linux se cuele la CIA, la NSA o tu vecina de enfrente a colarte malware para mantenerte controlado. ¿Qué? ¿Cómo? ¿Qué me quite el gorro de papel de plata? Dentro link
tin-foil-hat
Que no niego que algunas veces se me va de las manos, ¡pero no hoy!

Con estos cuatro puntos muchos usuarios quedan convencidos, pero en el articulo de hoy quiero ir más allá y hablar de las ventajas a nivel profesional.

Problemas como Dev/DevOps/Sysadmin.

Podéis pensar que trabajando en Windows o Mac (que es UNIX también) sois igual o mas productivos que una persona trabajando en Linux. No seré yo quien lo niegue, porque muchas veces nos hacemos a la herramienta, para obtener el mejor resultado, pero hay mejores formas.

Pongámoslo así; ¿utilizarías una cuchara para cortar un chuletón? La respuesta es no, utilizarías un cuchillo, obviamente. Aunque podríamos argumentar que cortar dicha pieza de carne con una cuchara, seria costoso, pero no imposible.

La analogía entre Linux y otros SO es la misma. Cuando estas trabajando en Windows/MacOS muchas veces te encuentras que el propio sistema operativo va en tu contra.

  • Diferentes formatos de archivos
  • Herramientas inexistentes
  • Ports de librerías y software que no le desearías su uso ni a tu peor enemigo.

Por nombrar algunos de los problemas que te puedes encontrar.

intentando-ser-productivo-windows
Intentando ser productivo en Windows.

Pasando de problemas, aumentando tu rendimiento.

La mayor parte de los problemas mencionados, en cualquier distribución que elijas, no existen. Tal cual, sin mas.

Una de las ventajas de linux es el poder instalar, no solo ya el mismo servidor o servicio que necesites, si no el mismo sistema operativo. Esto por si mismo no es garantía de éxito, pero te da una buena ventaja, ya que lo mas posible es que algo configurado en una distribución específica, con un conjunto de software determinado, cuando lo muevas a un servidor de producción usando el mismo software, funcione.

Entre otra de las grandes ventajas de linux, es algo de lo que ya hemos hablado antes: La Terminal. Bendita terminal y bendito bash scripting, que no solo te van a permitir moverte con mucha mas rapidez por los diferentes directorios de tu sistema operativo, sino que ademas te ofrece un conjunto de herramientas indispensables, al alcance de tus dedos.

Y aquí es donde realmente empiezas a ser más productivo, cuando usando linux, descubres que puedes automatizar tareas repetitivas y/o reducir el tiempo de otras que en otros sistemas operativos deberías hacer a mano una y otra, y otra y otra vez.

Automatizando hasta el cafe.

Como DevOps una de mis tareas más repetitivas es el crear entornos y configuraciones de desarrollo para diferentes proyectos. Esto tiene diferentes pasos y para el siguiente ejemplo tomaremos entornos con servidores Apache exclusivamente.

dev-ops-vista
Así ven los DevOps el mundo.

Para configurar un proyecto web en las maquinas locales, como si fuese un sitio en producción tenemos que:

  • Configurar el host virtual en apache agregando toda la información a httpd-vhost.conf o creando el archivo .conf en sites-available
  • Añadir una entrada a tu fichero hosts apuntando la IP local al dominio que quieras usar para ese desarrollo
  • Reiniciar apache.

Esto hacerlo a mano te puede costar entre 5 y 10 minutos, dependiendo cuan familiar seas con configuraciones apache… o te puede costar el tiempo que cueste ejecutar este script:

Lé scripte

Perdonad los comentarios en perfecto ingles de Valdenabos, pero es tarde y ya sabéis. Este script es un fragmento de uno mayor, pero en el podemos ver como combinando diferentes capacidades de la terminal y sus programas (cat, echo, grep, sed) hemos creado un script que copia ficheros, reemplaza textos y reinicia servicios.

Este script la única premisa para que sea 100% funcional y te puedas acceder a tu sitio local, como si fuese producción, es que el directorio del proyecto donde lo ejecutes, sea un nombre de dominio compatible, con lo que al final puedes usar «local.nombredelsitio.es» para acceder al mismo.

Para ver el script completo, aquí.

Aliases

Otra de las grandes ventajas de tener una terminal son los aliases. Esto son pequeñas asignaciones de comandos a una palabra/cadena de texto especifica. Por ejemplo para navegar a tu directorio de proyectos (suponiendo que este en /var/www/proyectos/) en la terminal deberías ejecutar el comando:

No es gran cosa, pero tienes que recordarlo y es bastante mas largo que escribir por ejemplo «www». Para agregar un alias, simplemente basta con modificar el fichero bash_aliases y agregar algo como esto:

O siguiendo el ejemplo del script anterior, si queremos comprobar cuantos sitios con el prefijo local. tenemos instalados podemos hacer:

Este es un alias que se compone de 4 partes. Primero ejecutamos apache2ctl con -S (que hace un dump de los virtual hosts y la configuración) como root usando sudo. El resultado de esto es texto plano, que enviamos al siguiente comando grep que nos permite hacer búsquedas con expresiones regulares. El resultado seria algo así:

Incluso cosas como los aliases que nos pueden ahorrar varios segundos, si piensas en ello en el contexto de digamos, un mes al final todo ese tiempo que te ahorras es más que significativo.

Podría seguir poniendo ejemplos todo el día, pero creo que estos simples ilustran bastante lo que quiero decir.

Abraza Linux, liberate.

Como nota final, recomendar a todos nuestros lectores que sino el moverse definitivamente, al menos darle una oportunidad a Linux.

Hoy existen cientos de distribuciones dentro de las distintas familias, pero tres familias a tener en cuenta: Debian, Fedora y SUSE. 

Como opción personal, yo recomiendo siempre Debian, Centos Ubuntu y para todos aquellos que os veáis con poca experiencia pasaos por EdX y haced el curso de iniciación a Linux online y 100% gratuito.

Y hasta aquí el rootie de hoy, espero haberos mostrado a todos vosotros un nuevo camino y que os animes a probar linux, ademas ¡te da +4 de carisma en cualquier cita!

arch-or-debian
Yo en la mayoría de mis citas

¡Nos vemos en el próximo rootie!

Como siempre para cualquier duda, pregunta, comentario, insulto, soborno o amenaza, podéis usar los comentarios o en nuestras redes sociales Facebook y Twitter.

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *