Distribuciones Linux II

Hace tres días dedicamos una entrada a las distribuciones más conocidas de Linux. Ahora queremos centrarnos en aquellas que están más enfocadas a tareas específicas, como por ejemplo la ciencia o la seguridad. Allá vamos con algunas:

Scientific Linux: Esta distribución, la cual está basada en Red Hat Enterprise Linux, es usada en los laboratorios Fermilab, CERN, otros laboratorios no tan conocidos y varias universidades. Está instalada en los ordenadores que controlan la red del Gran Colisionador de Hadrones. Por ello, sus repositorios ofrecen software centrado en la investigación, que son los únicos cambios destacables de esta distribución respecto a Red Hat. No obstante, aún que no contemos con un Colisionador de Hadrones en casa podemos descargarnos su versión más estable desde aquí: Scientific Linux.

BackTrack Linux: Orientada a seguridad y auditoría de redes, cuenta con la máxima aceptación de la comunidad de seguridad informática. Ha pasado a estar basada en Ubuntu, pero proviene de otras distros como Auditor y WHAX. Contiene una larga lista de herramientas dedicadas a seguridad (exploits, vulnerabilidades, sniffers, auditoría de redes…), probablemente la más larga de todas las distribuciones Linux. Podemos echarle un ojo a esta interesantísima distribución desde aquí: Backtrack Linux.

Android: No podía faltar Android en nuestra lista, ya que usa Linux como núcleo. Este sistema operativo desarrollado por Google, como sabemos todos, está centrado en smartphones táctiles, contando con una cuota de mercado superior al 50% en todo el mundo, y superior al 80% en España.

Edubuntu: Proviene de Ubuntu y está centrada en educación, para estudiantes de entre 6 y 18 años. Ha sido creada con la ayuda de expertos en la educación de todo el mundo. Se caracteriza por su sencillez a la hora de ser manejada por educadores y enseñada a estudiantes. Esta distribución está altamente recomendada para introducir a estudiantes de primaria y secundaria al software libre y sus virtudes. Se puede descargar desde aquí: Edubuntu.

SuperGamer: Esta distribución está centrada en los videojuegos. Está basada en la distribución Vector Linux, trae por defecto una serie de videojuegos basados en Software Libre (como Doom 3, Unreal Tournament, Quake 4 o el mítico Wolfenstein) y soporte para drivers de tarjetas de vídeo tanto propietarios como libres. Se puede descargar desde aquí: SuperGamer Supreme 2.5.

Ubuntu Studio: Esta distribución está diseñada para la edición multimedia, tanto de audio como de vídeo e imagen, a nivel profesional. Por ello incluye multitud de programas de edición por defecto, así como otros para manejo de gráficos. Muy recomendable para profesionales del mundo de la imagen y sonido, y descargable desde aquí: Ubuntu Studio.

Un saludo!

Linus Torvalds, el dictador benévolo: Bronca a un colaborador

Hoy en Libre Soft World queremos relatar una anécdota de Linus Torvalds que nos hace ver su personalidad y el cuidado que tiene con el mantenimiento de Linux.

La respuesta de Linus puede leerse aquí: Respuesta Linus. En él, el creador del sistema operativo argumenta en contra de un commit hecho por uno de los desarrolladores del Kernel. Este commit rompía el funcionamiento de un par de programas de Linux, por lo que el desarrollador suponía que debía ser un Bug en estos programas, y no en los cambios que había hecho. Vayamos citando paso a paso lo que dice Linus:

Mauro, SHUT THE FUCK UP!

Vaya, Linus empieza fuerte…

It's a bug alright - in the kernel. How long have you
been a maintainer? And you *still* haven't learnt
the first rule of kernel maintenance?

If a change results in user programs breaking, it's
a bug in the kernel. We never EVER blame the user
programs. How hard can this be to understand?

Aquí Linus quiere dejar claro que el espacio de usuario es sagrado: nunca ha de romperse. Esta es la primera regla del Kernel. Por lo tanto, el Bug no está en aquellos programas que fallan, sino en los cambios producidos por el desarrollador en el Kernel.

To make matters worse, commit f0ed2ce840b3 is clearly
total and utter CRAP even if it didn't break
applications. ENOENT is not a valid error return
from an ioctl. Never has been, never will be.
ENOENT means  "No such file and directory",
and is for path operations. ioctl's are done on 
files that have already been opened, there's no
way in hell that ENOENT would ever be valid.

Aquí Linus regaña al desarrollador por usar código que no es válido en ese contexto. Eso si, usando unas formas un poco bruscas. La siguiente respuesta corresponde a cuando el desarrollador argumenta que su commit no es ninguna regresión, sino que descubre errores en aplicaciones que debido a su cambio ahora fallan:

Shut up, Mauro. And I don't _ever_ want to hear that
kind of obvious garbage and idiocy from a kernel
maintainer again. Seriously.
I'd wait for Rafael's patch to go through you, but I
have another error report in my mailbox of all KDE 
media applications being broken by v3.8-rc1, and I 
bet it's the same kernel bug. And you've shown 
yourself to not be competent in this issue, so 
I'll apply it directly and immediately myself.

Ahora Linus pone de manifiesto la incompetencia del desarrollador y dice que ya se encargará el mismo de arreglar un Bug que es probable que haya sido provocado por el mismo problema. Y por último:

WE DO NOT BREAK USERSPACE!

Seriously. How hard is this rule to understand? We 
particularly don't break user space with TOTAL CRAP. 
I'm angry, because your whole email was so _horribly_ 
wrong, and the patch that broke things was so 
obviously crap. The whole patch is incredibly 
broken shit. It adds an insane error code (ENOENT), 
and then because it's so insane, it adds a few 
places to fix it up ("ret == -ENOENT ? -EINVAL : 
ret"). The fact that you then try to make *excuses* 
for breaking user space, and blaming some external 
program that *used* to work, is just shameful. It's 
not how we work. Fix your f*cking "compliance tool", 
because it is obviously broken. And fix your 
approach to kernel programming.

               Linus

Termina resaltando la importancia de no romper el espacio de usuario de nuevo. Un programador del Kernel debe tener muy en cuenta que, cosas que funcionaban en el pasado, han de seguir funcionando a pesar de los cambios hechos es el código. Así es como funciona Linux.

Un saludo!

Fuentes:

Como se construye Linux

Hoy traemos un vídeo creado por The Linux Foundation para demostrar la grandeza de este sistema operativo. En él, se explica en cifras qué es Linux:

Ahora saquemos unas cuantas conclusiones:

  • Alrededor de 850.000 teléfonos Android que ejecutan Linux, son activados cada día.
  • Alrededor de 700.000 televisiones son vendidas cada día. La mayoría de ellas ejecutan Linux.
  • 8 de cada 10 transacciones financieras son realizadas en Linux.
  • 9 de cada 10 supercomputadores corren en Linux.
  • Google, Twitter, Facebook y Amazon se ejecutan en Linux.

Con estas afirmaciones, podemos darnos cuenta del alcance que tiene Linux hoy en día. Roza lo imposible pasar un día en este mundo sin que, alguna de las interacciones que produzcamos en el mundo, ejecute alguna línea del Kernel de Linux. Como dice el comienzo del vídeo:

You use Linux everyday, whether you know it or not

Usas Linux cada día, lo sepas o no.

Veamos como se desarrolla Linux:

  • Linux es el resultado del mayor proyecto de colaboración en la historia de la computación. Alrededor de 8.000 desarrolladores de entre casi 800 empresas, han colaborado en la construcción del Kernel de Linux, resultando en unas 15 millones de líneas de código.
  • Una versión nueval del Kernel es liberada cada 2 o 3 meses
  • Los desarrolladores realizan los cambios produciendo parches, los cuales añaden nueva funcionalidad, resuelven un problema, mejoran el rendimiento o ofrecen soporte para algún dispositivo. Los desarrolladores mandan estos parches a una lista de correo, el cual es aceptado por un Senior Linux Kernel Developer. Cuando éstos los aprueban, son mandados a Linus Torvals, el cual es la última autoridad sobre qué es lo último que se acepta en la siguiente versión del Kernel.
  • Unos 10.000 parches son añadidos en cada versión del Kernel, y unos 6 parches a la hora son añadidos al Kernel.

Como vemos, el Kernel de Linux es una de las mayores, mejores, y probablemente la más usada obra de ingeniería de nuestros tiempos. Es, prácticamente, una obra de arte, la cual se ha conseguido siguiendo unas estrictas reglas y gracias a la colaboración de cientos de agentes que trabajan, sin cobrar por ello, en mantener y mejorar el Kernel. Es historia de la computación y su valor es incalculable. Apostaría a que varias generaciones seguirán usando el Kernel, y difícilmente puedo imaginar una pieza de software que pueda sustituirlo, ya no ahora, sino en muchísimo tiempo. Y lo mejor de todo, es que está al alcance de cualquiera: desde kernel.org podemos descargarnos el código, compilarlo, y modificarlo a nuestro gusto. Es, simplemente, inigualable.

Un saludo!

Fuentes:

Linus Torvalds, el dictador benévolo: Debate Tanenbaum – Torvalds

Hoy vamos a dar a conocer el debate que tuvieron Andrew S. Tanenbaum, creador de Minix, y Linus Torvaldls, creador de Linux, aún que varios desarrolladores del Kernel, como Peter Mc Donald o David S. Miller también se unieron a la discusión. Recordemos que el Kernel de Linux esta inspirado en Minix.

El debate se produjo en un grupo de discusión de Usenet: comp.os.Minix. En él, Tanenbaum explica que los sistemas operativos de tipo micronúcleo (como Minix) son mejores que los de tipo monolíticos (como Linux). Pero que son en realidad estos conceptos?

La diferencia principal entre los sistemas operativos micronúcleo  y monoliticos, es que los primeros implementan las funcionalidades del núcleo con llamadas de sistema que se ejecutan en como procesos servidores en espacio de usuario. Por lo tanto, las distintas funcionalidades son separadas y son estos servidores los que las proveen cuando son pedidas. En cambio, un núcleo monolítico implementa todas estas funcionalidades él sólo, por lo que su complejidad se ve incrementada.

Volviendo al debate, Tanenbaum afirmaba que los sistemas operativos monolíticos eran un paso atrás en la computación; aumentaban la complejidad y disminuían su portabilidad, y que Linux estaba demasiado orientado a la arquitectura x86. Linux reconoció que la arquitectura micronúcleo era teóricamente superior. No obstante, argumentó que Minix tenía errores básicos para un sistema operativo y que, debido a la interfaz de aplicaciones de Linux, su sistema operativo era más portable que Minix.

La respuesta de Tanenbaum fue que, debido a su carácter educativo, su sistema contaba con las funcionalidades de los ordenadores que en ese momento podían ser adquiridos por estudiantes. Y que la poca portabilidad de Linux sería un problema en el futuro, independientemente de que Minix no fuera muy portable. La discusión no llegó más allá, ya que Linus intentó zanjarla; hemos de recordar que en ese momento, era algo que él desarrollaba en su tiempo libre, y que estaba enfocada a propósito en esta arquitectura.

Al final de todo, el tiempo parece haber dado la razón a Linus, ya que x86 sigue siendo, con una amplia mayoría, la arquitectura más usada en ordenadores personales. Además, en la actualidad Linux ha sido portado a muchas otras arquitecturas como MIPS, ARM, SPARC o PowerPC.

Pero, enfocando el problema desde otro punto de vista, ¿Es un núcleo monolítico lo más adecuado para un Sistema Operativo? En la actualidad, Linux se compone de más de 15 millones de líneas de código. El Kernel se ha vuelto una pieza de software extremadamente compleja, y que además seguirá creciendo para añadir nuevas características y mayor portabilidad con nuevos dispositivos. Por ello, queremos lanzar una pregunta desde Libre Soft World ¿Crees que en el futuro la viabilidad de Linux se verá comprometida por su diseño monolítico?

Un saludo Linuxeros!

Fuentes:

Linus Torvalds, el dictador benévolo: Biografía

Con esta entrada quiero empezar una serie de posts dedicados a relatar un poco quien es Linus Torvalds, qué ha hecho, opiniones y anécdotas de una de las figuras más importantes del Software Libre, sino la que más.

Primero de todo, ¿quién es? Pues bien, Linus Benedict Torvalds nació a finales del año 1969 en Finlandia, hijo de periodistas. Al igual que sus padres, realizó su carrera en la Universidad de Helsinki, donde aprendió a programar en C y empezó a crear un proyecto que, en principio, no debía ser algo muy serio. A partir del sistema operativo Minix, creado por Andrew S. Tanenbaum, del que hablaremos en próximas entradas en Libre Soft World, Linus creó un Kernel para ordenadores AT-386. El primer milestone de Linux fue el 5 de octubre de 1991, en el que salió la primera versión, capaz de ejecutar BASH y GCC. El siguiente milestone sería en enero del siguiente año, donde adoptaría la licencia GPL (Licencia Pública General). La versión 1.0 llegaría el 14 de marzo de 1994. A partir de que Linux fuera suficientemente estable, más software empezó a crearse en torno a él. El conjunto de herramientas GNU, que en realidad fue creado en 1984 por Richard Stallman, de quien también hablaremos en Libre Soft World, fue añadido a Linux, creando así GNU/Linux, aún que hoy simplemente se llame Linux.

En la actualidad, su actividad profesional más relacionada con el software libre es la supervisión del Kernel de Linux. Todos los cambios que se producen en este, son aprobados en última instancia por él. De ahí viene su apodo de ‘El dictador benévolo’. Algunas de las citas más famosas de Linus pueden ser:

Si piensas que tus usuarios son idiotas, solo los idiotas lo usarán [referido al software].

Y si no te gusta, aún así está bien. Es por eso que yo soy el jefe. Sencillamente, sé más que tu.

Gracias a su gran aportación tanto al mundo del Software Libre como al de la computación, Linus ha recibido multitud de premios, como por ejemplo el Vollum Award (1995), el EFF Pioner Award (1998), la Lovelace Medal (2000), y el último el Millenium Technology Price en 2012, el cual es reconocido como el Premio Nobel de la tecnología. Hace un año y medio (julio 2011), Linux llegó a la versión 3.0 del Kernel.

Hasta aquí la pequeña biografía sobre Linus. Contaremos más cosas sobre él en sucesivas entradas.

Un saludo!

Fuentes:

Videojuegos en Linux (II)

En esta entrada queríamos hacer una pequeña reseña para anunciar que ya está disponible Steam desde los repositorios de Ubuntu. También se ha añadido en el Centro de Software de Ubuntu, pero para los clásicos como yo, estos son los comandos que hay que ejecutar desde la Shell para instalarlo:

  1. Abrimos terminal y ejecutamos: > sudo apt-key adv –keyserver keyserver.ubuntu.com –recv-keys B05498B7
  2. Lo siguiente es añadir el repositorio con: > sudo sh -c ‘echo «deb [arch=i386] http://repo.steampowered.com/steam/ precise steam» >> /etc/apt/sources.list.d/steam.list’
  3. El resto es actualizar: > sudo apt-get update
  4. Y por último, instalar: > sudo apt-get install steam

Además, para clientes de Linux, hay descuentos de hasta el 70% en algunos juegos. Ahora usar Windows porque es más ‘game-friendly’ ya no es una excusa.

Un saludo!

Referencias: