Guía v5/Debian, la distribución madre

De Guadapedia, la enciclopedia libre.

Tabla de contenidos

Debian, la distribución madre

En el anterior apartado hemos visto que la combinación del kernel Linux con las aplicaciones de sistema GNU dan como resultado un sistema operativo funcional y libre: GNU/Linux. No obstante, sólo una élite de programadores sería capaz de instalar, configurar y mantener un ordenador 100% funcional partiendo de estos dos elementos a secas.

Para que un sistema operativo funcione sin problemas y permita la instalación rápida y cómoda de software es necesario que todos sus elementos estén coordinados y compatibilizados: versiones de kernel, librerías, compiladores, entornos gráficos, aplicaciones, etc. En los sistemas operativos libres, este ejercicio de coordinación y compatibilidad se realiza bajo el paraguas de las denominadas distribuciones (o distros, para los amigos).

Una distribución es, por tanto, un sistema operativo generalmente basado en GNU/Linux que integra un kernel, un conjunto de aplicaciones de sistema y una colección de programas y utilidades listos para ser instalados. Programadores de élite desarrollan distribuciones Linux para facilitar la vida a usuarios de nivel técnico medio o básico. Gracias a este esfuerzo hoy día existen distribuciones de instalación simple y bastante automatizada, al alcance de casi cualquier usuario. En el capítulo 3 (Saboreo e instalación en 3 clics) se describe un proceso de instalación con unas cinco preguntas y menos de media hora de duración cuya simplicidad hasta hace poco era impensable.


Una gran cantera de software libre

Allá por 1993 un estudiante llamado Ian Murdock [1] (http://www.ianmurdock.com/) le daba vueltas a la posibilidad de desarrollar una distribución GNU/Linux de forma abierta y comunitaria, en contraste a los desarrollos existentes por aquel entonces, capitalizados por equipos reducidos o incluso unipersonales. Esta estrategia colaborativa y transparente de desarrollo se planteaba fiel a la tradición de Linux y el proyecto GNU. Ian lanzó el Manifiesto Debian (denominado así por conexión de los nombres de Ian y su compañera Debra), obtuvo el interés de un buen grupo de programadores y el proyecto cuajó velozmente.

Hoy Debian GNU/Linux [2] (http://debian.org) es una distribución de referencia, gestionada por una amplia comunidad de más de un millar de desarrolladores oficialmente reconocidos, a los que hay que sumar una cifra mayor de colaboradores. El resultado es un sistema operativo libre y disponible en decenas de idiomas, con una oferta de más de 15.000 paquetes listos para ser instalados en ordenadores de 11 arquitecturas diferentes, desde los PC corrientes hasta máquinas exclusivas destinadas a la investigación científica.

Debian ofrece también una base tecnológica e inspiración filosófica a múltiples distribuciones que derivan de ella [3] (http://www.debian.org/misc/children-distros). Estas hijas han jugado en los últimos años un papel decisivo en la vida de la madre Debian y de la comunidad GNU/Linux en general, puesto que han incrementado notablemente la base de nuevos usuarios de software libre y han facilitado el acceso de perfiles no técnicos (gente de la calle) a este entorno. Y es que si bien Debian es considerada una opción compleja y elitista para usuarios noveles (con razón o no, es tema de debate), distribuciones derivadas de ella como Knoppix [4] (http://www.knoppix.org/) o Ubuntu [htt:/ubuntulinux.org] han ganado su popularidad gracias a la facilidad de uso.


El sistema de paquetes Debian

Hemos comentado que Debian dispone de más de 15.000 paquetes. Por fuera un paquete Debian es un fichero fácilmente reconocible por su extensión .deb (ej: mozilla-firefox_1.0.7-1_i386.deb). Por dentro un paquete puede contener uno o más programas, archivos de configuración y documentos de todo tipo. Su misión es automatizar los procesos de instalación, configuración, actualización y desinstalación sin necesidad de pelearse manualmente con cada uno de los componentes de un paquete. Los paquetes más buscados por los usuarios son los de aplicaciones (ej: el navegador web Mozilla Firefox), pero se puede empaquetar cualquier tipo de programa o contenido digital: una colección de gráficos clip-art, los textos de la versión española de un programa, drivers para una webcam, una fuente tipográfica, una nueva versión del kernel...

Antes de la existencia de los paquetes Debian, instalar y actualizar programas sobre Linux era una tarea de una complejidad equiparable al tejido artesanal de alfombras persas: había que anudar bien todos los hilos y no dejar ningún cabo suelto. Con la invención de estos paquetes (la denominada tecnología dpkg) esto cambió substancialmente. Pero la sencillez de uso empezó a llegar con el sistema de gestión de paquetes APT (Advanced Packaging Tool) y se ha consolidado con herramientas gráficas como Synaptic y otras que detallamos en el capítulo 6 (Mil y un programas libres y gratuitos).

Instalar, actualizar y desinstalar programas ya no requiere habilidades artesanas. Para instalar un programa sólo hay que seleccionarlo; los otros paquetes requeridos para su buen funcionamiento serán automáticamente instalados en concordancia a su número de versión, arquitectura, etc. Para desinstalar es el mismo proceso pero a la inversa. Por lo que respecta a actualizar, el propio sistema nos avisa cuando hay nuevas versiones disponibles, pudiendo actualizar uno o todos los programas obsoletos de un solo clic, sean estos una decena o un centenar.

Otro detalle a tener en cuenta es que no es necesario cerrar todas las aplicaciones para instalar un programa, ni hace falta reiniciar el ordenador para que los cambios surtan efecto (salvo excepciones). GNU/Linux es un sistema operativo pensado para trabajar continuamente y APT exprime esta posibilidad para nuestra comodidad.

Hoy día un usuario de Debian o de alguna de sus distribuciones derivadas dispone de una capacidad de búsqueda y gestión de software que la mayoría de usuarios de sistemas operativos propietarios no pueden ni concebir. Prueba de ello es que buena parte de quienes han sido educados informáticamente con MS Windows tardan en entender la idea de un repositorio organizado con miles de aplicaciones prestas a ser instaladas y probadas y utilizadas a fondo.

Enlarge

Organización de los repositorios de Debian

Cuando un usuario de una distribución basada en paquetes Debian quiere instalar nuevo software lo normal es que abra una aplicación tipo Synaptic (o más sencilla aún), busque lo que desee en los repositorios de su distribución, seleccione lo que quiera instalar y proceda a la bajada e instalación de los paquetes con un par de clics. En el caso de no disponer de buena conexión a Internet lo normal es disponer de uno o más CDs de la distribución, conteniendo una imagen grabada del repositorio.

Aunque no es un procedimiento habitual, también se pueden bajar e instalar paquetes Debian sueltos (fuera de un repositorio), programas fuente e incluso paquetes de distribuciones no debianitas, como los RPM de Red Hat (tras tratarlos debidamente con la aplicación adecuada). Es decir, un usuario de Debian también puede tejer como un artesano persa si lo desea.

Los repositorios de Debian están organizados según varios parámetros:


Arquitectura

Como hemos comentado, Debian está disponible en 10 arquitecturas [5] (http://www.debian.org/ports/) y debemos seleccionar la que se corresponde con nuestro ordenador: posiblemente x86 (la mayoría de PCs), AMD64 (PCs potentes más recientes) o PowerPC (Macintosh).


Versión

Debian maneja siempre tres versiones:

  • unstable: los paquetes nuevos y las actualizaciones más recientes entran primero en el repositorio de unstable (también conocida como Sid), donde son puestos a prueba por desarrolladores y usuarios avanzados.
  • testing: cuando un paquete de unstable se muestra razonablemente estable pasa a testing (versión actualmente denominada Lenny), donde será instalado y utilizado por una mayor base de usuarios y donde será sometido a pruebas más sistemáticas.
  • stable: esta versión contiene los paquetes que han sido exhaustivamente probados y cuyos problemas críticos han sido resueltos ya. Esta es la versión recomendada para nuevos usuarios. Su nombre es Etch y se corresponde a la versión 4.0.

Curiosidad: los nombres de las versiones de Debian se deciden en base a los nombres de los personajes de la película de animación Toy Story.

De hecho hay una cuarta versión denominada experimental, pero es exclusivamente de desarrollo y un usuario medio no debería ni mirarle directamente a los ojos.


Secciones

Hay múltiples secciones temáticas bajo las cuales se organizan los paquetes, como por ejemplo Editors, Games, Graphics, Mathematics, Science... Todas estas secciones se encuentran bajo la rama Main, que comprende todo el software que Debian considera que es libre. Aparte, hay cuatro secciones con paquetes que no son considerados 100% libres y que los usuarios interesados deben añadir a su lista de repositorios disponibles por defecto:

  • Non-Free: paquetes que tienen una licencia no libre que restringe su uso o redistribución.
  • Contrib: paquetes que en sí son libres pero que para su funcionamiento requieren otros paquetes no libres.
  • Non-US/Main: paquetes que son libres pero no pueden ser exportados desde un servidor en los Estados Unidos, generalmente por ser programas de encriptación.
  • Non-US/Non-Free: paquetes con licencia no libres que no pueden ser exportados desde los Estados Unidos, generalmente por ser programas de encriptación o tener problemas de patentes.


Repositorios personales

A la lista de repositorios oficiales de Debian es posible añadir (por nuestra cuenta y riesgo) repositorios personales de desarrolladores, proyectos especializados, etc [6] (http://apt-get.org/). De nuevo, ésta no es una práctica recomendada a usuarios noveles por los riesgos que entraña en forma de instalación de programas no soportados, conflictos entre versiones y problemas varios propios de la experimentación libre.

Como veremos, Ubuntu y sus distribuciones derivadas parten de una política de repositorios diferente y buena parte de los paquetes de estos repositorios no oficiales se encuentran integrados a la distribución. Por esta razón los usuario de Ubuntu y derivadas aún tienen menos motivos para recurrir a estos repositorios.


La distribución comunitaria por excelencia

Participantes en la DebConf (Julio del 2005 en Otaniemi, Finlandia). Foto: Arto Teräs
Enlarge
Participantes en la DebConf (Julio del 2005 en Otaniemi, Finlandia). Foto: Arto Teräs

Debian tiene la reputación de ser un proyecto sin ánimo de lucro, fiel al espíritu de la comunidad y no sujeto a intereses comerciales. Esto se debe primordialmente a la creación y estricta aplicación de su contrato social [7] (http://www.debian.org/social_contract.html) y de sus directrices de software libre. Esta original aportación a la comunidad del software libre combina aspectos filosóficos y técnicos, y ha sido imitada posteriormente por otras iniciativas en la corriente de la Free Software Foundation y el proyecto GNU.


Un contrato con la comunidad del software libre

El contrato social de Debian representa el compromiso adoptado por el proyecto ante la sociedad. Se define en cinco puntos de lectura recomendada para cualquier usuario de Debian o de una de sus distribuciones derivadas:


1. Debian permanecerá 100% libre

«Las directrices de software libre de Debian» (DFSG) son el criterio que nosotros utilizamos para determinar si el software es «libre» o no. Prometemos mantener el sistema GNU/Linux así como todos sus componentes completamente libres de acuerdo con este criterio. No obstante, daremos soporte también a aquellos usuarios que desarrollen y ejecuten software no libre en Debian pero nunca haremos que el sistema tenga que utilizar obligatoriamente un componente que no sea libre.


2. Contribuiremos a la comunidad de software libre

Cuando escribamos nuevos componentes del sistema Debian, los licenciaremos de forma consistente con nuestra definición de software libre. Haremos el mejor sistema que podamos, de forma que el software libre tenga amplia difusión y uso. Enviaremos parches, mejoras, peticiones de los usuarios, etc a los autores originales del software incluido en nuestro sistema.


3. No ocultaremos los problemas

Mantendremos nuestra base de datos de informes de error accesible al público en todo momento. Los informes de error que los usuarios envíen serán visibles por el resto de usuarios de forma inmediata.


4. Nuestra prioridad son nuestros usuarios y el software libre

Nos guiaremos por las necesidades de nuestros usuarios y de la comunidad del software libre. Sus intereses serán una prioridad para nosotros. Daremos soporte a las necesidades de nuestros usuarios para que puedan trabajar en muchos tipos distintos de entornos de trabajo. No pondremos objeciones al software no libre que vaya a ejecutarse sobre Debian ni cobraremos a las personas que quieran desarrollar o usar ese tipo de software (no libre). Permitiremos a otros crear distribuciones de valor añadido basadas en Debian sin cobrarles nada por ello. Es más, entregaremos un sistema integrado de alta calidad sin restricciones legales que pudieran prevenir este tipo de uso.


5. Trabajos que no siguen nuestros estándares de software libre

Reconocemos que algunos de nuestros usuarios necesitan usar trabajos que no sigan las directrices de software libre de Debian (DFSG). Por ello, hemos creado las secciones «contrib» y «non-free» en nuestro archivo para estos trabajos. Los paquetes en estas secciones no son parte del sistema Debian, aunque ha sido configurado para usarse con Debian. Animamos a los distribuidores de CDs a que lean las licencias de los paquetes en estas secciones para poder determinar si pueden distribuir este software en sus CDs. Así pues, aunque los trabajos que no sean libres no son parte de Debian, damos soporte para su uso, y proporcionamos infraestructuras (como nuestro sistema de informe de errores y listas de distribución) para paquetes no libres.


Estos cinco puntos han jugado un papel clave en la adopción de soluciones basadas en Debian por parte de administraciones públicas y organizaciones o proyectos sin ánimo de lucro. Aunque no esté impreso ni tenga firma, este contrato social se ha ganado la confianza de los gobiernos de Brasil, Extremadura o Andalucía a la hora de proyectar sus políticas de adopción y promoción del software libre.


Una organización casi sin entidad jurídica

"debian lover?", de fibercool
Enlarge
"debian lover?", de fibercool

Se dice que la comunidad Debian es todo un experimento social, y no faltan razones para hacer esta afirmación.

El proyecto Debian ha ido generando una estructura organizativa para evitar que el contrato social quede en una bonita declaración de intenciones y para posibilitar la colaboración sin tropiezos de miles de personas con diversos grados de implicación. Esta estructura, regulada por la Constitución de Debian [8] (http://www.debian.org/devel/constitution.html) es vista como transparente y participativa por algunos, y como burocrática y elitista por otros. Pero casi todos coinciden en que dicha estructura garantiza la transparencia, democracia y efectividad de este gran proyecto colaborativo de ámbito mundial.

La comunidad oficial de Debian está formada por desarrolladores que obtienen esta condición tras superar unas pruebas de entrada, algo así como la obtención del carné de conducir, con sus partes teóricas y prácticas. Los desarrolladores se organizan en múltiples grupos de trabajo que pueden ir del mantenimiento de paquetes (aplicaciones preparadas para ser instaladas en Debian) a coordinación de traducciones, mantenimiento web, organización de encuentros, etc. Una vez al año la comunidad Debian escoge a su líder de proyecto mediante un proceso electoral vía Internet. Este es uno de los cargos democráticos más notorios a los que se puede aspirar en la comunidad del software libre, ocupado en la actualidad por Branden Robinson [9] (http://people.debian.org/~branden/).

Pero la comunidad Debian es más que su constitución. Miles de personas colaboran regular o puntualmente con Debian a través de las múltiples porosidades de su estructura. A destacar:

  • Listas de correo [10] (http://lists.debian.org/): el canal clásico de participación, sobretodo las listas destinadas al soporte a usuarios. Existen listas de usuarios en una veintena de idiomas, del catalán al vietnamita pasando por el esperanto y por supuesto el español. También hay listas de desarrollo organizadas por áreas de trabajo para desarrolladores: escritorio, portátiles, seguridad...
  • Sistema de seguimiento de errores [11] (http://www.debian.org/Bugs/): permite a cualquier usuario introducir errores detectados y obtener casi siempre una respuesta por parte de los responsables de encontrar su solución.
  • Internacionalización [12] (http://www.debian.org/international/): los equipos de traducción se organizan por idiomas y se coordinan para tener n varios idiomas la web, notas de prensa, documentación y las aplicaciones más vinculadas con Debian.
  • Proyectos temáticos no estrictamente basados en tareas técnicas como Debian Women [13] (http://women.alioth.debian.org/).
  • Medios de comunicación y encuentro como esdebian [14] (http://www.esdebian.org/).

Toda esta estructura no tiene, de hecho, ningún cuerpo legal. El proyecto Debian se define como "una asociación de individuos que han hecho causa común para crear un sistema operativo libre". Su contrato social, sus directrices de software libre y su constitución son textos redactados, acordados, evolucionados y acatados por personas que colaboran en la red y que en muchos casos nunca se han encontrado cara a cara.

Debian se ampara en la organización sin ánimo de lucro Software in the Public Interest Inc. (SPI) [15] (http://www.spi-inc.org/) para canalizar aquellas acciones que sí requieren una personalidad jurídica. Dichas acciones son principalmente gestión de bienes, donaciones y marcas registradas.


Distribuciones para todos los gustos

Ya que hablamos de distribuciones, veamos qué se cuece aparte de (o en combinación con) Debian.

En la actualidad existen más de 300 distribuciones, y su número se multiplica a medida que es más sencillo crear una distribución propia a partir de las ya existentes. Esta enorme diversidad puede generar confusión entre los usuarios de sistemas operativos propietarios como MS Windows, acostumbrados a moverse en un entorno informático de pocas elecciones. No obstante, esta diversidad permite que usuarios con diferentes necesidades trabajen felices con distribuciones también diferentes.


Razones para la proliferación

Aunque suene a redundante, la libertad del software libre es la principal causa del hecho de que existan tantas distribuciones. Es equiparable a la libertad de crear nuevos equipos deportivos, nuevas prendas de moda, nuevas recetas de cocina...

¿Qué diferencias hay entre todas estas distribuciones? Hagamos un repaso a los principales criterios divergentes:

  • Promotora: unas distribuciones son desarrolladas por empresas con ánimo de lucro; otras tienen detrás a organizaciones sin ánimo de lucro que pueden ir desde gobiernos autonómicos a comunidades sin personalidad jurídica (pero con marcado carácter).
  • Especialización: unas distribuciones son generalistas y dejan en manos del usuario la especialización deseada; otras son especializadas desde su nacimiento centrándose en su uso para educación, gestión de empresas, producción multimedia, etc.
  • Perfil de usuario: unas distribuciones permiten altos niveles de control y configuración a cambio de requerir altos niveles de experiencia, otras se centran en usuarios noveles ofreciendo menos flexibilidad a cambio de mayor sencillez de uso y administración.
  • Entorno de escritorio: igual que hay aficionados al Betis o al Sevilla, también hay aficionados a un escritorio u otro, siendo éste un criterio de peso para decantarse por una distribución u otra.
  • Idioma: hay distribuciones que ofrecen el inglés por defecto y se defienden en docenas de idiomas, y hay distribuciones que se especializan en un idioma y hacen de él un factor de elección.
  • Soporte físico: aunque la mayoría de distribuciones se ofrecen en CD (y más recientemente en DVD), las hay que se especializan en otros soportes como disquetes o memorias Flash.

La combinación de estos factores y más produce esta proliferación. Los indicios apuntan a que en los próximos años se generarán muchas distribuciones más... a la vez que unas pocas serán las predominantes y de éstas se derivarán el resto. Debian es en buena parte responsable de la multiplicación, puesto que por su carácter radicalmente libre, abierto y comunitario facilita y promueve la generación de distribuciones derivadas de ella.


Las distros que más suenan

Repasemos algunas distribuciones emblemáticas para reforzar nuestra cultura general libre.

Fuera de la familia Debian:

  • Fedora Core [16] (http://fedoraproject.org/es/) es una distribución enteramente libre desarrollada por la comunidad de Red Hat, empresa norteamericana que a su vez desarrolla la muy extendida distribución comercial Red Hat Enterprise Linux con partes no libres. Fedora es generalista, está enfocada a una amplia variedad de usuarios y es en parte el banco de pruebas utilizado por Red Hat para sus desarrollos comerciales.
  • Mandriva Linux [17] (http://www.mandrivalinux.com/), antes conocida como Mandrakelinux y rebautizada tras una fusión empresarial, es una distribución comercial desarrollada por Mandriva y centrada en la facilidad de uso. Empezó en Francia como una derivación de Red Hat Linux.
  • SUSE Linux [18] (http://www.opensuse.org/), nacida en Alemania y basada inicialmente en Slackware, esta distribución comercial ha tenido un enfoque europeo hasta la adquisición de la empresa SUSE por parte de la norteamericana Novell. Recientemente ha sido anunciada una versión enteramente open source y desarrollada en comunidad que complementa los desarrollos de las versiones corporativas, estrategia similar a la seguida por Red Hat con Fedora.
  • Gentoo Linux [19] (http://www.gentoo.org/) es muy respetada por su grado de innovación, su calidad y su nutrida comunidad. Su enfoque se centra en dar la máxima capacidad de control al usuario y en facilitar el uso de las últimas versiones disponibles de más de 7000 aplicaciones. A cambio, el perfil idóneo requerido para utilizarla con comodidad es superior al de la media.
  • Slackware [20] (http://www.slackware.com/) fue creada en 1993 y es la más veterana de las distribuciones Linux activas. Su filosofía se basa en ofrecer la máxima estabilidad y simplicidad de diseño, lo que paradójicamente hace que su uso sea de lo más complejo para usuarios noveles, puesto que ahorra cuanto puede en interfaz gráfico.


En la familia Debian:

  • Debian [21] (http://debian.org) es en sí una distribución, madre de muchas otras que derivan de ella.
  • Ubuntu [22] (http://ubuntulinux.org) es una de sus derivada más notorias y con una inusual relación de parentesco que tratamos con más detalle en el siguiente apartado. A su vez hay otras distribuciones que derivan de Ubuntu como la Guadalinex [23] (http://www.guadalinex.org) andaluza o la Molinux [24] (http://molinux.info) manchega.
  • gnuLinEx [25] (http://linex.org) es la distribución promovida por la Junta de Extremadura. Se ganó la fama al ser utilizada en una de la primeras gran implementaciones de software libre del mundo: unos 80.000 ordenadores en los centros educativos de la comunidad. Está basada en Debian Sarge y los principios de Progeny Componentized Linux [26] (http://en.wikipedia.org/wiki/Progeny_Linux_Systems).
  • Knoppix [27] (http://www.knoppix.org/) popularizó el concepto de LiveCD (que permite probar Linux sin instalarlo) y con él propició el acceso masivo de nuevos usuarios a la familia Debian, que hasta entonces se había visto como una alternativa sólo para expertos.
  • MEPIS [28] (http://www.mepis.org/) está basada en Debian y Knoppix. Su apuesta por la sencillez es aún más clara, facilitando su uso en algunos aspectos a cambio de introducir aplicaciones no libres.
  • Linspire [29] (http://www.linspire.com/) es una distribución comercial y de pago desarrollada por la empresa del mismo nombre y enfocada también a la facilidad de uso. Anteriormente denominada Lindows, ganó dos demandas presentadas por Microsoft, quien acabó pagando una bonita suma por la marca, hecho que le reportó además una buena publicidad.
  • Xandros [30] (http://www.xandros.com/index.html.en) es una marca de la empresa del mismo nombre bajo la cual conviven varias distribuciones no libres y de pago, cuya estrategia es asemejarse lo máximo posible a MS Windows en cuanto a estética y funcionamiento para facilitar la migración de los usuarios a Linux.


    Sigue: Ubuntu, la hija aventajada