Distribución Linux

Apariencia mover a la barra lateral ocultar Collage de logotipos de algunas de las Distribuciones Linux más conocidas

Una distribución Linux (GNU/Linux) mejor conocida como (coloquial y abreviadamente llamada distro) es una distribución de software basada en el nucleo Linux, y a menudo, un Sistema de gestión de paquetes para los sistemas operativos que incluye determinados paquetes de software, para satisfacer las necesidades de un grupo específico de usuarios.

Además del núcleo Linux, las distribuciones incluyen habitualmente las bibliotecas y herramientas del proyecto GNU y el sistema de ventanas X Window System. Dependiendo del tipo de usuarios a los que la distribución esté dirigida se incluye también otro tipo de software como procesadores de texto, hoja de cálculo, reproductores multimedia, herramientas administrativas, etc.

En el caso de incluir paquetes de código del proyecto GNU, se denomina distribución GNU/Linux.

Existen distribuciones que están soportadas comercialmente, como Fedora (Red Hat), openSUSE (SUSE) y Ubuntu (Canonical Ltd.); distribuciones mantenidas por la comunidad, como Debian, Arch Linux y Gentoo; y distribuciones que no están relacionadas con ninguna empresa o comunidad, como es el caso de Slackware.

Historia

Árbol de Distribuciones GNU/Linux. Basada en File:Linux distros tree.svg

Antes de que surgieran las primeras distribuciones, un usuario de Linux debía ser algo experto en Unix; no solo debía conocer qué bibliotecas y ejecutables necesitaba para iniciar el sistema y que funcionase, sino también los detalles importantes que se requieren en la instalación y configuración de los archivos en el sistema.

Linus Torvalds desarrolló el kernel Linux y distribuyó su primera versión, 0.01, en 1991. Inicialmente, Linux se distribuyó solo como código fuente y luego como un par de imágenes de disquete descargables: una de arranque y que contenía el propio kernel Linux, y la otra con un conjunto de utilidades y herramientas GNU para configurar un sistema de archivos. Dado que el procedimiento de instalación era complicado, especialmente ante la creciente cantidad de software disponible, surgieron distribuciones para simplificarlo.

Las distribuciones Linux comenzaron a surgir poco después de que el núcleo Linux fuera utilizado por otros programadores además de los creadores originales. Existía mayor interés en desarrollar un sistema operativo que en desarrollar aplicaciones, interfaces para los usuarios o un paquete de software conveniente.

Las primeras distribuciones fueron:

1992 Linux 0.12, un disquetes de 5,25 pulgadas con una versión temprana de Linux (Linux 0.12 Boot-root) 1993

Los usuarios vieron en Linux una alternativa a los sistemas operativos DOS, Microsoft Windows en la plataforma PC, Mac OS en Apple Macintosh y las versiones de uso bajo licencia (de pago) de UNIX. La mayoría de estos primeros usuarios se habían familiarizado con el entorno UNIX en sus trabajos o centros de estudios. Estos adoptaron GNU/Linux por su estabilidad, reducido (o nulo) coste y por la disponibilidad del código fuente del software incluido.

Las distribuciones eran originalmente una cuestión de comodidad para el usuario medio, evitándole la instalación (y en muchos casos compilación) por separado de paquetes de uso común, pero hoy se han popularizado incluso entre los expertos en este tipo de sistemas operativos (UNIX/Linux). Si bien, históricamente, Linux estuvo mejor posicionado en el mercado de los servidores, distribuciones centradas en la facilidad de instalación y uso, tales como Fedora, Mandriva, OpenSuSE, Knoppix y Ubuntu, entre otras, han logrado una mayor aceptación en el mercado doméstico.

Componentes

El conjunto típico de una distribución Linux contiene un núcleo, herramientas y bibliotecas, software adicional, documentación, un sistema de ventanas, un administrador de ventanas y un entorno de escritorio, este suele ser GNOME o KDE. Gran parte del software incluido es de fuente abierta o software libre y distribuido por sus desarrolladores tanto en binario compilado como en forma de código fuente, permitiendo a sus usuarios modificar o compilar el código fuente original si lo desean. Muchas distribuciones incorporan software privativo, no disponible en forma de código fuente.

Muchas distribuciones proveen un sistema de instalación gráfica como lo hacen otros sistemas operativos modernos. Distribuciones independientes como Gentoo Linux, T2 y Linux From Scratch proveen el código fuente de todo el software y solo incluyen los binarios del núcleo, herramientas de compilación y de un instalador; el instalador compila todo el software para el CPU específico de la PC del usuario.

Gestión de paquetes

Véanse también: Sistema de gestión de paquetes y Formatos de paquetes en Linux.

Las distribuciones están divididas en «paquetes». Cada paquete contiene una aplicación específica o un servicio. Ejemplos de paquetes son una biblioteca para manejar el formato de imagen PNG, una colección de tipografías o un navegador web.

El paquete es generalmente distribuido en su versión compilada y la instalación y desinstalación de los paquetes es controlada por un sistema de gestión de paquetes en lugar de un simple gestor de archivos.En este caso Cada paquete elaborado para ese sistema de paquetes contiene meta-información tal como fecha de creación, descripción del paquete y sus dependencias. El sistema de paquetes analiza esta información para permitir la búsqueda de paquetes, actualizar las librerías y aplicaciones instaladas, revisar que todas las dependencias se cumplan y obtenerlas si no se cuenta con ellas de manera automática.

Algunos de los sistemas de paquetes más usados son:

Aunque las distribuciones casi siempre vienen con mucha mayor cantidad de software que los sistemas propietarios, en ocasiones algunos usuarios pueden instalar software que no fue incluido en la distribución. Un ejemplo podría ser el instalar una versión experimental de alguna de las aplicaciones de la distribución o alguna alternativa (como podría ser utilizar una aplicación de KDE dentro de GNOME o viceversa). Si el software es distribuido solo en forma de código fuente, requerirá ser compilado por el ordenador. Sin embargo, si el programa es compilado, el paquete no será registrado por el gestor de paquetes y por lo tanto no podrá ser controlado por él. Esto significa que el administrador del equipo tendrá que tomar medidas adicionales para mantener el software actualizado. El gestor de paquetes no lo podrá hacer automáticamente.

La mayor parte de las distribuciones instalan los paquetes, incluyendo el núcleo Linux y otras piezas fundamentales del sistema operativo con una configuración preestablecida. Esto hace la instalación más sencilla, especialmente para los usuarios nuevos, pero no es siempre aceptable, pues hay programas que deben ser cuidadosamente configurados para que sean funcionales, para que operen correctamente con otra aplicación o para que su seguridad sea robusta. En estos casos, los administradores se ven obligados a invertir tiempo reconfigurando y revisando software soportado por la distribución.

En otras distribuciones la instalación puede llegar a ser muy lenta, pues es posible ajustar y configurar la mayor parte o la totalidad del software incluido en la distribución. No todas lo hacen. Algunas ofrecen herramientas de configuración para ayudar en el proceso.

Es también posible armar un sistema a la medida en su totalidad, descartando incluso el uso de una distribución. Lo primero que hay que hacer es generar un sistema base que permita conseguir, compilar, configurar e instalar el código fuente. Generar los binarios de este sistema base requerirá de otra máquina que sea capaz de generar los binarios para el dispositivo deseado, esto puede ser alcanzado por medio de una compilación cruzada. Ver por ejemplo Linux from Scratch.

Tipos y tendencias

Véase también: Anexo:Comparación de distribuciones Linux

En general, las distribuciones Linux pueden ser:

La diversidad de las distribuciones Linux es debido a cuestiones técnicas, de organización y de puntos de vista diferentes entre usuarios y proveedores. El modo de licenciamiento del software libre permite que cualquier usuario con los conocimientos e interés suficiente pueda adaptar o diseñar una distribución de acuerdo a sus necesidades.

Distribuciones de lanzamiento continuo

Las distribuciones de lanzamiento continuo, rolling release (en inglés), como por ejemplo Arch Linux, se mantienen actualizadas mediante pequeñas y frecuentes actualizaciones

Los repositorios de distribuciones de lanzamiento continua suelen contener lanzamientos de software muy recientes, a menudo las últimas versiones estables disponibles. Tienen pseudo-lanzamientos y medios de instalación que son simplemente instantáneas, snapshots (en inglés), de la distribución en el momento del lanzamiento de la imagen de instalación. Por lo general, un sistema operativo de lanzamiento continuo instalado desde un medio de instalación anterior se puede actualizar por completo después de instalarlo.

En términos del proceso de desarrollo de software, las versiones estándar requieren un esfuerzo de desarrollo significativo para mantener las versiones antiguas actualizadas al propagar las correcciones de errores a la rama más nueva, en lugar de centrarse en la rama de desarrollo más reciente. Además, a diferencia de las versiones de lanzamiento continua, las versiones estándar requieren más de una rama de código para desarrollarse y mantenerse, lo que aumenta las cargas de trabajo de los desarrolladores y mantenedores de software.

Por otro lado, las características del software y la planificación de la tecnología son más sencillas en las versiones estándar debido a una mejor comprensión de las próximas características en la(s) siguiente(s) versión(es). Los ciclos de lanzamiento de software también se pueden sincronizar con los de los principales proyectos de software anteriores (upstream), como los entornos de escritorio.

En cuanto a la experiencia de usuario, las versiones estándar a menudo se consideran más estables y libres de errores, ya que los conflictos de software se pueden abordar más fácilmente y la pila de software se prueba y evalúa más a fondo durante el ciclo de desarrollo del software.​ Por esta razón, tienden a ser la opción preferida en entornos empresariales y tareas de misión crítica.

Sin embargo, las versiones de lanzamiento continuo ofrecen software más actual que también puede proporcionar una mayor estabilidad y menos errores de software junto con los beneficios adicionales de nuevas características, mayor funcionalidad, velocidades de ejecución más rápidas y seguridad mejorada del sistema y la aplicación. Con respecto a la seguridad del software, el modelo de lanzamiento continuo puede tener ventajas en las actualizaciones de seguridad oportunas, la corrección de errores y vulnerabilidades de seguridad del sistema o de la aplicación, que los lanzamientos estándar pueden tener que esperar hasta el próximo lanzamiento o parchear en varias versiones. En una distribución de lanzamiento continuo, donde el usuario ha elegido ejecutarlo como un sistema altamente dinámico, el flujo constante de paquetes de software puede introducir nuevas vulnerabilidades no deseadas.

Distribuciones que no requieren instalación (Live CD)

Una distribución live o Live CD o Live DVD, más genéricamente Live Distro, (traducido en ocasiones como CD vivo o CD autónomo), es una distribución almacenada en un medio extraíble, tradicionalmente un CD o un DVD (de ahí sus nombres), que puede ejecutarse desde este sin necesidad de instalarlo en el disco duro de una computadora, para lo cual usa la memoria RAM como disco duro virtual y el propio medio como sistema de archivos.

Cuando el sistema operativo es ejecutado por un dispositivo de solo lectura como un CD o DVD, el usuario necesita utilizar una memoria USB o un disco duro instalado en la máquina para conservar su información entre sesiones. La información del sistema operativo es usualmente cargada en la memoria RAM.

La portabilidad de este tipo de distribuciones las hace ideales para ser utilizadas en demostraciones, operaciones de recuperación, cuando se utiliza una máquina ajena o como medio de instalación para una distribución estándar. Actualmente, casi todas las distribuciones tienen una versión CD/DVD autónomo o «vivo».

Distribuciones para hardware especializado

Algunas distribuciones están específicamente orientadas a un nicho de mercado concreto, a veces usando sólo el kernel linux sin software GNU, como por ejemplo:

Desarrollo

Comunidad

Véase también: Comunidad del software libre Logo de la Distribución de Linux, DebianLogo de la Distribución de Linux, Debian

La mayoría de las distribuciones están, en mayor o menor medida, desarrolladas y dirigidas por sus comunidades de desarrolladores y usuarios. En algunos casos están dirigidas y financiadas completamente por la comunidad, como ocurre con Debian GNU/Linux, mientras que otras mantienen una distribución comercial y una versión de la comunidad, como hace RedHat con Fedora, o SuSE con OpenSuSE.

En muchas ciudades y regiones, asociaciones locales conocidas como grupos de usuarios promueven este sistema operativo y el software libre. Suelen ofrecer conferencias, talleres o soporte técnico de forma gratuita o introducción a la instalación de Linux para nuevos usuarios.

En las distribuciones y otros proyectos de software libre y código abierto son muy comunes las salas de chat IRC y grupos de noticias. Los foros también son comunes, sobre todo en el soporte a usuarios, y las listas de correo suelen ser el medio principal para discutir sobre el desarrollo, aunque también se utilizan como medio de soporte al usuario.

Escala de desarrollo

Un estudio sobre la distribución Red Hat 7.1 reveló que está en particular posee más de 30 millones de líneas de código real. Utilizando el modelo de cálculo de costos COCOMO, puede estimarse que esta distribución requeriría 8000 programadores por año para su desarrollo. De haber sido desarrollado por medios convencionales de código cerrado, hubiera costado más de mil millones de dólares en los Estados Unidos.

La mayor parte de su código (71%) pertenecía al lenguaje C, pero fueron utilizados muchos otros lenguajes para su desarrollo, incluyendo C++, Bash, Lisp, Ensamblador, Perl, Fortran y Python.

Además, la licencia predominante en alrededor de la mitad de su código total (contado en líneas de código) fue la GPL en su versión 2.

El núcleo Linux contenía entonces 2,4 millones de líneas de código, lo que representaba el 8% del total.

En un estudio posterior​ se realizó el mismo análisis para Debian GNU/Linux versión 2.2. Esta distribución contenía más de 55 millones de líneas de código fuente, y habría costado 1900 millones de dólares (año 2000) el desarrollo por medios convencionales (no libres); el núcleo Linux en octubre de 2003 tiene unas 5,5 millones de líneas más.

Distribuciones Linux (basadas o independientes)

Distribuciones populares

Ubuntu, una de Distribuciones Linux de escritorio más popular

Entre las distribuciones Linux más populares se incluyen:

El sitio web DistroWatch ofrece una lista de las distribuciones más populares; la lista está basada principalmente en el número de visitas, por lo que no ofrece resultados muy confiables acerca de la popularidad de las distribuciones.

Distribuciones especializadas

Otras distribuciones se especializan en grupos específicos:

Galería

Véase también

Referencias

  1. Patrick J. Volkerding. Slackware 1.0 Release Announcement Slackware Linux, Inc. (en inglés)
  2. «NNTP Subject: New release under development; suggestions requested». 16 de agosto de 1993. Consultado el 17 de agosto de 2007. 
  3. K.Mandla (9 de marzo de 2007). kmandla.wordpress.com, ed. «The pros and cons of a rolling release» (en inglés). Archivado desde el original el 12 de noviembre de 2010. Consultado el 26 de enero de 2012. 
  4. David A. Wheeler. «More Than a Gigabuck: Estimating GNU/Linux's Size» (en inglés). 
  5. Jesús M. González-Barahona et al. «Counting potatoes: the size of Debian 2.2» (en inglés). 

Enlaces externos