Saltar la navegación

Debian GNU/Linux

Debian GNU/Linux es una distribución apoyada por una comunidad entusiasta de usuarios y desarrolladores propios, basada en el compromiso de la utilización de software libre y es la distribución que vamos a utilizar en las asignaturas.

El caso de Debian es especial, en el sentido de que es una distribución guiada por una comunidad que no pretende fines comerciales, sino mantener su propia distribución y promocionar el uso del software de código abierto y libre.

El proyecto Debian lo fundó en 1993 Ian Murdock para crear la distribución Debian GNU/Linux (Deborah + Ian. Deborah era la novia de Ian por aquellas fechas, y más tarde fue su mujer). Desde entonces se ha vuelto bastante popular y rivaliza en uso con otras distribuciones comerciales como Red Hat Enterprise Linux o SUSE Linux Enterprise Server. Por ser un proyecto comunitario, el desarrollo de esta distribución se rige por una serie de normas o políticas; existe un documento llamado Contrato Social Debian, que menciona la filosofía del proyecto en su conjunto, y las políticas Debian, que especifican en detalle cómo se implementa su distribución. En todo caso, Debian persigue dos objetivos fundamentales:

  1. La calidad: Debian debe desarrollarse con el mayor cuidado, para ser dignos del núcleo Linux.
  2. Ser una distribución no comercial, lo suficientemente creíble como para competir con las principales distribuciones comerciales.

Estos dos objetivos primordiales, según Ian Murdock, solo podrían lograrse mediante la apertura del proceso de desarrollo de Debian al igual que el de Linux y el del proyecto GNU. Por lo tanto, la adopción de la revisión entre pares sería clave, pues mejoraría continuamente el producto.

Debian no posee servidor alguno bajo su nombre ya que solo es un proyecto dentro de la asociación «Software in the Public Interest» (SPI: «Software en el interés público»), la cual administra el hardware y los aspectos económicos (donaciones, compra de equipos, etc.). Si bien fue originalmente creada para el proyecto Debian, esta asociación ahora alberga otros proyectos de software, en especial la base de datos PostgreSQL, Freedesktop.org (proyecto para la estandarización de varias partes de los entornos gráficos de escritorios, como GNOME y KDE) y el conjunto ofimático Libre Office.

La SPI es una organización sin ánimo de lucro constituida para ayudar a proyectos y organizaciones a desarrollar y distribuir software y hardware libres. Su objetivo inicial fue dar cobertura legal al proyecto Debian tras el fin del patrocinio de la FSF, aunque actualmente extiende esa cobertura a varios proyectos de software libre. La SPI invita a los programadores a usar la licencia GNU/GPL y otras licencias libres.

Debian está bastante relacionado con los objetivos de la FSF y su proyecto de Software Libre GNU; por esta razón, incluyen siempre en su nombre: "Debian GNU/Linux"; además, el texto de su contrato social ha servido como base para las definiciones de código abierto. En cuanto a las políticas, todo aquel que quiera participar en el proyecto de la distribución, tiene que seguirlas. Aunque no se trate de un colaborador, estas políticas pueden ser interesantes porque explican cómo es la distribución Debian.

La distribución Debian GNU/Linux tiene varios estados (versiones, ramas o fases) de desarrollo simultáneamente, en orden de menor a mayor estabilidad, estos son: experimental, unstable, testing, stable, oldstable y oldoldstable:

  • Experimental (experimental): De las siete ramas, esta es la única que no es una distribución Debian completa (autocontenida), es un grupo de paquetes (programas) sueltos que algunos desarrolladores colocan aquí para recibir comentarios y sugerencias de los usuarios más experimentados. No todos los paquetes tienen que pasar por esta fase, pueden ir directamente al siguiente estado, unstable.
  • Unstable (inestable): La mayoría de los paquetes (programas) empiezan por esta rama y el objetivo es que los usuarios, que tienen instalada esta versión de la distribución Debian, reporten los errores que se van encontrando. Es en este estado donde más problemas se presentan y por este motivo los paquetes cambian en plazos muy cortos; en una semana, e incluso cada día, pueden cambiar varios paquetes. Cuando un paquete ha madurado y ya no se le hacen modificaciones frecuentemente, entonces es promocionado a la siguiente versión, la versión de pruebas (testing).
  • Testing (pruebas): Esta rama de desarrollo no es infalible; se encuentran regularmente errores críticos en algunos paquetes, lo que hace que dichos paquetes tengan que empezar de nuevo desde unstable. Aún así, generalmente es efectiva y testing tiene muchos menos problemas que unstable, siendo para muchos un buen compromiso entre estabilidad y novedad. Con el tiempo la rama testing se va haciendo cada vez más estable, presentando muy pocos problemas a los usuarios que trabajan con ella; es entonces cuando se toma la decisión de que debe convertirse en la versión estable (stable) y es posible que algunos paquetes, sobre los que no se está muy seguro, se eliminen para que sigan probándose desde unstable. Este momento siempre es un punto de compromiso pues la estabilidad completa nunca se puede alcanzar.
  • Stable (estable): Es la rama recomendada para ser utilizada en producción. Es en realidad una copia de la rama testing en un momento elegido por el administrador de versiones (cada dos años) y tras un periodo de estabilización (freeze, congelado) de testing, donde no se incluye nada nuevo y se corrigen pequeños errores. Con el tiempo, la versión stable permanece con los mismos paquetes a los que fundamentalmente se les corrigen los errores de seguridad, publicándose los denominados parches de seguridad. Cualquier otro tipo de problema, debe estar muy justificado para que se publique una actualización del paquete.
  • OldStable (antigua estable): Es una copia de la versión stable que existía antes de la última promoción de testing a stable. A esta rama también se le corrigen los errores de seguridad.
  • OldOldStable: Es una copia de la versión oldtable que existía antes de la última promoción de stable a oldstable. También a esta rama se le corrigen los errores de seguridad. Cuando la OldOldStable es sustituida por la OldStable, la última OldOldStable deja de estar en los repositorios Debian y ya no se le da más soporte.

La rama stable se actualiza desde testing cada dos años, por lo que OldStable y OldOldStable también duran dos años, de manera que el tiempo que transcurre desde que una versión Debian empieza en la rama stable hasta que es expulsada de los repositorios, es de 6 años, pero el soporte a largo plazo (LTS) se garantiza durante 5 años. Este soporte es un soporte de seguridad y lo llevan a cabo el equipo de seguridad de Debian y el equipo LTS de Debian, ocupándose el primero de los dos años de stable y uno de oldstable, y el segundo, de un año de oldstable y otro de oldoldstable.

Todas estas ramas Debian son actualizables desde diversas fuentes (CD, ftp, web, etc.) por un sistema denominado APT (Advanced Package Tool, Herramienta Avanzada de Paquetes) que maneja los paquetes software .deb, que es donde se encuentran los programas preparados para ser instalados. También tienen asignadas nombres provenientes de la película Toy Story, actualmente la rama stable se denomina Stretch (el pulpo hembra que forma parte del séquito de lotso) y es la versión 9 de Debian. La versión testing se llama Buster (el perro mascota de Andy) y será la próxima versión 10. La unstable siempre se denomina Sid (el niño que maltrata a los juguetes únicamente por diversión). Por último, las dos últimas versiones estables fueron: Jessie (la vaquera enamorada de Buzz Lightyear), antigua versión 8 y la actual oldstable, y Wheezy (el pingüino real que Woody rescata cuando lo van a vender en el mercadillo), antigua versión 7 y la actual oldoldstable.

Linea de tiempo de Debian GNU/Linux

Aquí puedes ver la familia Debian Gnu/Linux.

Debian sigue todos los principios del Software Libre y sus nuevas versiones no se publican hasta que hayan ha sido completamente chequeadas. Los desarrolladores no se ven obligados ni presionados a trabajar más rápido para cumplir con un plazo arbitrario. Las personas se quejan con frecuencia del largo tiempo entre versiones estables de Debian, pero esta precaución también garantiza la legendaria fiabilidad de Debian; son realmente necesarios largos meses de pruebas para que la distribución completa reciba la etiqueta «stable».

Como principales ventajas de Debian GNU/Linux podemos destacar:

  • Inmensa cantidad de paquetes software, aproximadamente 51000 paquetes.
  • Un magnífico sistema de empaquetado del software, que hace que la instalación de programas sea muy práctica y eficaz.
  • Distribución con una gran estabilidad, lo cual hace que sea un sistema operativo idóneo para los sistemas de producción.
  • Dispone de un gran número de repositorios desde los que instalar el software.

Como desventajas podríamos reseñar lo siguiente:

  • Al disponer de tantos paquetes, algunos se quedan antiguos.
  • Las actualizaciones de la distribución son espaciadas como consecuencia del alto grado de calidad y estabilidad que se le exige a la versión stable.
  • Riesgos de dependencias entre paquetes, también debido al gran número de estos.

Podemos conocer información de la distribución GNU/Linux que tenemos instalada ejecutando el comando lsb_release, el cual tiene varias opciones para mostrar información por separado, pero con la opción -a (all) podemos mostrar toda la información junta.

$ lsb_release -a
No LSB modules are available.
Distributor ID: Debian
Description: Debian GNU/Linux 7.6 (wheezy)
Release: 7.6
Codename: wheezy

También podemos saber cuál es nuestra distribución GNU/Linux mostrando el contenido del fichero /etc/issue.net:

$ cat /etc/issue.net 
Debian GNU/Linux 7

Y si ya sabemos que es una distribución Debian y queremos conocer su versión, esta se encuentra en el fichero /etc/debian_version:

$ cat /etc/debian_version 
7.6

Por último, también podemos mostrar el contenido del fichero /etc/os-release:

$ cat /etc/os-release 
PRETTY_NAME="Debian GNU/Linux 8 (jessie)"
NAME="Debian GNU/Linux"
VERSION_ID="8"
VERSION="8 (jessie)"
ID=debian
HOME_URL="http://www.debian.org/"
SUPPORT_URL="http://www.debian.org/support"
BUG_REPORT_URL="https://bugs.debian.org/"

Licencia: licencia de software libre GPL