Una distribución Linux (coloquialmente
llamada distro) es una distribución de
software basada en el núcleo Linux que incluye determinados paquetes de softwarepara
satisfacer las necesidades de un grupo específico de usuarios, dando así origen
a ediciones domésticas, empresariales y para servidores. 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 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
herramientas del proyecto GNU, también se utiliza el
término distribución GNU/Linux.
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 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.
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.
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 A&M al mismo tiempo que SLS
· SLS (Softlanding Linux
System).
· Yggdrasil Linux creó el primer CD-ROM de
una distribución 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.1 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 softwareincluido.
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 compilarel 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 yLinux 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
Las distribuciones están divididas en
«paquetes». Cada paquete contiene una aplicación especifica 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 unsistema 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 .pkg.tar.gz ó .pkg.tar.xz.
· PET, utilizado por Puppy Linux, sus derivados y Quirky,
su proyecto hermano.
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 KDEdentro 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 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.
Ver por ejemplo Linux from Scratch.
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 puedeejecutarse 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 unamemoria 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 conOpenSuSE.
En muchas ciudades y regiones,
asociaciones locales conocidas como grupos de
usuarios promueven este sistema operativo y elsoftware 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 é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.2
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 posterior3 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.
Fuente: Wikipedia
Fuente: Wikipedia
No hay comentarios:
Publicar un comentario