Distribución de GNU/Linux

Distribución de GNU/Linux
Información sobre la plantilla
Logo gnu linux.png
Concepto:Es una Distribución de software basada en el núcleo Linux que incluye determinados paquetes de software para satisfacer las necesidades de un grupo específico de usuarios.

Distribución de GNU/Linux. Conocidas coloquialmente como distros, es una distribución de software basada en el núcleo Linux que incluye determinados paquetes de software para satisfacer las necesidades de un grupo específico de usuarios, dando así origen a ediciones domésticas, empresariales y para servidores.

Características

Por lo general están compuestas, total o mayoritariamente, de Software libre, aunque a menudo incorporan aplicaciones o controladores propietarios. Además del núcleo Linux, las distribuciones incluyen habitualmente las bibliotecas y herramientas del Proyecto GNU y el Sistema de ventanas X Windows 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étera.

Existen distribuciones que están soportadas comercialmente, como Fedora (Red Hat), OpenSUSE (Novell), Ubuntu (Canonical Ltd.), Mandriva, y distribuciones mantenidas por la comunidad como Debian y Gentoo. Aunque hay otras distribuciones que no están relacionadas con alguna empresa o comunidad, como es el caso de Slackware.

Historia

Árbol de vida de distribuciones Linux, línea del tiempo representando el desarrollo de varias distribuciones Linux. Antes de que surgieran las primeras distribuciones, un usuario de Linux debía ser algo experto en Unix; no sólo 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.

Las distribuciones GNU/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.

Entre las distribuciones más antiguas se incluían:

  • Dos discos denominados H J Lu's "Boot-root" con el núcleo y un mínimo de herramientas para utilizar.
  • MCC Interim Linux, que se podía descargar en un Servidor público FTP de la Universidad de Mánchester en febrero de 1992.
  • TAMU, creado por entusiastas de la Universidad de Texas AM al mismo tiempo que SLS
  • SLS (Softlanding Linux System).
  • Yggdrasil Linux creó el primer CD-ROM de una distribución GNU/Linux.
  • SLS no estuvo bien mantenida; así pues, Patrick Volkerding lanzó una distribución basada en SLS a la que llamó Slackware; lanzada el 16 de julio de 1993 Slackware Linux, Inc. (en inglés) Esta es la distribución más antigua que está en desarrollo activo.

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 éste 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 escritorio típico de una distribución Linux contiene un núcleo, herramientas y librerías, 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 y proveen un sistema de instalación gráfica como lo hacen otros sistemas 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 CPUespecífico de la PC del usuario.

Gestión de paquetes

Las distribuciones están divididas en “paquetes”. Cada paquete contiene una aplicación específica o un servicio. Ejemplos de paquetes son una librería 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.

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

  • RPM, creado por Red Hat y usado por un gran número de distribuciones de Linux, es el formato de paquetes del Linux Standard Base. Originalmente introducido por Red Hat, pero ahora se usa en muchas distribuciones, como por ejemplo Mandriva.
  • Deb, paquetes Debian, originalmente introducidos por Debian, pero también utilizados por otros como Knoppix y Ubuntu.
  • .Tgz, usado por Slackware, empaqueta el software usando tar y gzip. Pero, además, hay algunas herramientas de más alto nivel para tratar con este formato: slapt-get, slackpkg y swaret.
  • Ebuilds, archivo que contiene información acerca de cómo obtener, compilar e instalar un paquete en el sistema Portage de Gentoo Linux con el comando emerge. Generalmente, estas instalaciones se basan en la compilación de fuentes, aunque algunos paquetes binarios se pueden instalar de esta manera.
  • Pacman, para Arch Linux usa binarios precompilados distribuidos en un fichero .tgz.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 sólo 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 de 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.

Tipos y tendencias

En general, las distribuciones Linux pueden ser:

  • Comerciales o no comerciales.
  • Ser completamente libres o incluir software privativo.
  • Diseñadas para uso en el hogar o en las empresas.
  • Diseñadas para servidores, escritorios o dispositivos empotrados.
  • Orientadas a usuarios regulares o usuarios avanzados.
  • De uso general o para dispositivos altamente especializados, como un cortafuegos, un enrutador o un cluster computacional.
  • Diseñadas e incluso certificadas para un hardware o arquitectura específicos.
  • Orientadas hacia grupos en específico, por ejemplo a través de la Internacionalización y localización del lenguaje, o por la inclusión de varios paquetes para la producción musical o para Computación científica.
  • Configuradas especialmente para ser más seguras, completas, portables o fáciles de usar.
  • Soportadas bajo distintos tipos de hardware.

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 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 éste 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 sólo 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".

Desarrollo Comunidad

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 GNU/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 ésta 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 8.000 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 Pitón.

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 1.900 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 populares

Entre las distribuciones Linux más populares se incluyen:

  • Arch Linux, una distribución basada en el Principio KISS con un sistema de desarrollo continuo entre cada versión (no es necesario volver a instalar todo el sistema para actualizarlo).
  • CentOS, una distribución creada a partir del mismo código del sistema Red Hat pero mantenida por una comunidad de desarrolladores voluntarios.
  • Debian, una distribución mantenida por una red de desarrolladores voluntarios con un gran compromiso por los principios del software libre.
  • Fedora, una distribución lanzada por Red Hat para la comunidad.
  • Gentoo, una distribución orientada a usuarios avanzados, conocida por la similitud en su sistema de paquetes con el FreeBSD Ports, un sistema que automatiza la compilación de aplicaciones desde su código fuente.
  • GOS, una distribución basada en Ubuntu para Netbooks.
  • Knoppix, la primera distribución live en correr completamente desde un medio extraíble. Está basada en Debian.
  • Kubuntu, la versión en KDE de Ubuntu
  • Linux Mint, una popular distribución derivada de Ubuntu.
  • Mandrila, mantenida por la compañía francesa del mismo nombre, es un sistema popular en Francia y Brasil. Está basada en Red Hat.
  • OpenSUSE, originalmente basada en Slackware es patrocinada actualmente por la compañía Novell
  • PCLinuxOS, derivada de Mandriva, paso de ser un pequeño proyecto a una popular distribución con una gran comunidad de desarrolladores.
  • Slackware, una de las primeras distribuciones Linux y la más antigua en funcionamiento. Fue fundada en 1993 y desde entonces ha sido mantenida activamente por Patrick J. Volkerding.
  • Slax, es un sistema Linux pequeño, moderno, rápido y portable orientado a la modularidad. Está basado en Slackware.
  • Ubuntu, una popular distribución para escritorio basada en Debian y mantenida por Canonical.

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:

  • OpenWrt, diseñada para ser empotrada en dispositivos enrutadores.
  • Edubuntu, un sistema del proyecto Ubuntu diseñado para entornos educativos.
  • MythTV, orientada para equipos multimedia o grabadores de vídeo digital.
  • Musix, una distribución de Argentina destinada a los músicos.
  • MkLinux, Yellow Dog Linux o Black Lab Linux, orientadas a usuarios de Macintosh y de la plataforma PowerPC.
  • 64 Studio, una distribución basada en Debian diseñada para la edición multimedia.
  • ABC GNU/Linux, distribución para la construcción de clusters Beowulf desarrollado por Iker Castaños Chavarri, Universidad del País Vasco (España)

Referencias