Un repositorios de software de una distribución GNU/Linux es un sitio en internet donde se encuentran paquetes disponibles de esa distribución. Esos paquetes puede ser librerías, aplicaciones, imágenes, traducciones, documentación o código fuente. Y es desde estos repositorios desde los que podemos instalar software para completar el sistema, y desde donde también recibimos las actualizaciones de seguridad y de corrección de fallos. Obviamente, tenemos que estar conectados a internet.
Los repositorios oficiales de Debian -aquellos que están soportados directamente por la distribución- están relacionados con las fases de desarrollo que culminan cada cierto tiempo en una versión estable (Stable). En resumen y simplificando, en este desarrollo primero los paquetes están en la rama experimental (Sid), después pasan a la rama de pruebas (Testing), y finalmente culmina el proceso con la rama estable (Stable). No obstante, la anterior rama estable se sigue manteniendo durante un tiempo y es lo que se denomina rama Oldstable. Así los paquetes de Debian estarán en los repositorios Sid, Testing, Stable y Oldstable. Aquí nos vamos a referir básicamente a los repositorios de la rama Stable, actualmente denominada Jessie.
1. Los repositorios en Debian Stable
Cuando instalamos Debian Stable, en las fuentes de software del sistema debemos tener incluidos cuatro repositorios dos de ellos son básicos e imprescindibles (1 y 2) y los otros dos podríamos decir que son opcionales (3 y 4), sobre todo el cuarto.
Repositorio base (réplica de Debian)
deb http://ftp.es.debian.org/debian jessie main
deb-src http://ftp.es.debian.org/debian jessie main
Actualizaciones de seguridad
deb http://security.debian.org/ jessie/updates main
deb-src http://security.debian.org/ jessie/updates main
Actualizaciones de Stable (réplica de Debian)
deb http://ftp.es.debian.org/debian jessie-updates main
deb-src http://ftp.es.debian.org/debian jessie-updates main
Repositorio backports de Stable (réplica de Debian)
deb http://ftp.es.debian.org/debian jessie-backports main
deb-src http://ftp.es.debian.org/debian jessie-backports main
El repositorio base es el repositorio principal y contiene la mayor parte del software disponible en los repositorios de Debian. Los paquetes aquí disponibles rara vez se actualizan salvo para versiones menores.
Las actualizaciones de seguridad de Stable (actualizaciones de seguridad y parches para corregir errores) no se encuentra en la red de réplicas de Debian (ver más adelante), sino en security.debian.org. Estas actualizaciones están preparadas por el equipo de seguridad de Debian (Debian Security Team) y/o por los encargados de los paquetes para la distribución Stable. En la rama testing, este repositorio no suele tener paquetes, ya que llegan al repositorio principal desde la rama experimental.
El repositorio “actualizaciones de Stable” es parcial, no contienen todos los paquetes, y puede almacenar paquetes con versiones más recientes para que se actualicen con APT. Por lo general incluye correcciones de errores críticos que no pudieron ser actualizados antes de la publicación de Stable o que fueron introducidos en actualizaciones posteriores.
El repositorio Backports proporciona paquetes para nuevas versiones de determinadas actualizaciones a lo largo del periodo de vida de la versión Stable. Sin embargo, es algo “especial” para evitar problemas de estabilidad del sistema: Los paquetes -qué no el repositorio- están deshabilitados por defecto, y no se instalan ni se actualiza en la forma habitual.
Contenidos
2. Sintaxis de los repositorios
Los repositorios que hemos denominado “Réplicas de Debian” (1, 3 y 4) están conformados por varias partes que tienen un significado concreto que es importante que un usuario conozca. Para desarrollarlo vamos a utilizar el repositorio base que es el principal y, como ya hemos mencionado, es donde se encuentra la mayor parte de los paquetes de la distribución
deb http://ftp.es.debian.org/debian/ jessie main
deb-src http://ftp.es.debian.org/debian/ jessie main
2.1. Paquetes binários y el código fuente
“deb o deb-src” sirve para indicar si el repositorio contiene paquetes binarios (deb) ya precopilados o el código fuente (deb-src) a partir del cual se puede compilar el paquete de forma personalizada. Lo usual para instalar aplicaciones en nuestro sistema (usuario normal de escritorio) es que utilicemos sólo los deb, por lo que el deb-src lo podemos tener desactivado (ver más adelante).
2.2. Replica primaria y servidores de Debian
Debian se distribuye mediante réplicas a través de cientos de servidores en Internet que están distribuidos por todo el mundo, por lo que cada usuario puede tener un servicio más rápido cuanto más cerca este de un servidor concreto.
“http://ftp.es.debian.org” Este es el nombre de una réplica primaria,lo que significa que se actualiza automáticamente cada vez que hay cambios en el repositorio de Debian. La sintaxis es del tipo ftp.es.debian.org, donde “es” significa España. Para México, por ejemplo, es “mx” y para Brasil es “br”. En el siguiente enlace se puede consultar una lista de las direcciones de las réplicas primarias de Debian: https://www.debian.org/mirror/list
Durante la instalación de Debian, por lo general, es que se hayan configurado correctamente nuestras fuentes de software en cuanto réplica se refiere.
2.3. Las ramas de Debian
“jessie” indica el nombre o alias de la rama de Debian en nuestro sistema. Aquí podría poner también oldstable (antigua stable pero aún con soporte oficial), stable (la versión actualmente stable), testing (de pruebas) o sid (experimental), que en definitiva son los distintos estados de desarrollo de Debian en cada momento. Por ejemplo, Jessie fue una versión Testing (de pruebas) en 2013 y 2014 y ha pasado a versión Stable en 2015, y Wheeze era Stable y ha pasado a Oldstable.
Ramas de la distribución | 2014 | 2015 |
Sid | Sin alias | Sin alias |
Testing | Jessie | |
Stable | Wheeze | Jessie |
Oldstable | Squeeze | Wheeze |
Si en estos momentos queremos estar en Jessie y esta es la versión actualmente Stable los repositorios pueden tener indistintamente las dos denominaciones:
deb http://ftp.es.debian.org/debian/ jessie main
deb http://ftp.es.debian.org/debian/ stable main
La diferencia estriba en que si nuestros repositorios apuntan a Stable, siempre estaremos en Stable con independencia de que la versión actual tenga uno u otro nombre (Wheezy o Jessie). Y si apuntan a Jessie en 2014 estabamos en Testing y ahora estamos en Stable.
Esta configuración nos permite cambiar fácilmente de versión. Imaginemos que estamos en la actual Stable Jessie y queremos cambiar a la rama Testing. Pues sólo tendremos que cambiar la denominación:
deb http://ftp.es.debian.org/debian/ jessie main
Por la siguiente:
deb http://ftp.es.debian.org/debian/ testing main
2.4. Las secciones del repositorio: main, contrib y non-free
Por defecto en la instalación de Debian sólo se incluye el repositorio “main” (principal) que se mantiene directamente por la comunidad Debian y contiene sólo software 100% libre, cumpliendo con la Debian Free Software Guidelines (DFSG). Hay otros dos repositorios de software, “contrib” y “non-free” que no cumplen, parcial o totalmente, con DFSG, y no están por ello habilitados de forma predeterminada. Estos contienen paquetes que no se consideran parte de Debian y sólo se proporcionan por ser convenientes para el usuario a fin de completar el software del sistema; algunos paquetes de gran importancia como los controladores de las tarjetas gráficas, por ejemplo. Si incluimos también estas dos secciones el repositorio tendrá este aspecto:
deb http://ftp.es.debian.org/debian/ jessie main contrib non-free
Veamos que contiene cada una de las secciones:
“main”: Contiene la mayor parte de los paquetes y ninguno de ellos requiere otros paquetes, como puedan ser librerias, que no pertenezcan este repositorio principal; todas las dependencias están en “main”. Se encuentran, por tanto, la mayor parte de las aplicaciones como LibreOffice, Gimp o VLC, y los escritorios KDE, GNOME,Xfce, etc.
“contrib”: Son paquetes de software libre que requieren de otro software (dependencias) que no es 100% libre, bien para su construcción o bien para su funcionamiento. Aquí se encuentran, por ejemplo, flashplugin-nonfree, winetricks o virtualbox.
“non-free”: En este se localizan paquetes que no se consideran software libre. Unos porque aunque pueden ser distribuidos e instalados libremente no se tiene acceso a su código fuente, otros, en los que su código fuente sí está disponible, pero la licencia del software no está contemplada en las directivas de Debian. De los que pueden se más importantes para nuestro sistema se encuentran los paquetes de los drivers de las tarjetas gráficas: firmware-linux-nonfree, fglrx-driver o nvidia-driver, o también virtualbox-guest-additions-iso.
2.5. El aspecto final de nuestras fuentes de software
# Repositorio base
deb http://ftp.es.debian.org/debian jessie main contrib non-free
deb-src http://ftp.es.debian.org/debian jessie main contrib non-free
# Actualizaciones de seguridad
deb http://security.debian.org/ jessie/updates main contrib non-free
deb-src http://security.debian.org/ jessie/updates main contrib non-free
# Actualizaciones de Stable
deb http://ftp.es.debian.org/debian jessie-updates main contrib non-free
deb-src http://ftp.es.debian.org/debian jessie-updates main contrib non-free
# Repositorio backports de Stable
deb http://ftp.es.debian.org/debian jessie-backports main contrib non-free
deb-src http://ftp.es.debian.org/debian jessie-backports main contrib non-free
Pero ¿Cómo editamos las fuentes de software? …
Eso lo vemos en el siguiente capítulo …
Saludos flamencos,
8 ideas sobre “Los repositorios en Debian 1: Los repositorios oficiales, aspectos generales y su sintaxis.”
Muchas Gracias, muy buena publicación
Gracias a ti, y saludos flamencos,
Soy nuevo en Linux, nuevisimo diria, las replicas son repositorios???, es decir que en el sources.list apareceran las URL apuntando entre otras cosas a Replicas de Debian???, te pregunto porque donde lei, explica que los repositorios son conjunto de paquetes(hay oficiales y no) que pueden ser aplicaciones,librerias y etc. Y que las replica son una forma de distribuir Debian. Te agradezco de antemano, salu2 desde Argentina
Digamos que las réplicas son distintos lugares donde se encuentran los mismos repositorios para facilitar la velocidad de descarga de los paquetes en los distintos puntos geográficos. Así por ejemplo el repositorio:
deb http://ftp.es.debian.org/debian/ jessie main: sería el adecuado para un usuario en España
deb http://ftp.mx.debian.org/debian/ jessie main: sería el adecuado para un usuario en México
deb http://ftp.br.debian.org/debian/ jessie main: sería el adecuado para un usuario en Brasil
Bienvenido a GNU/Linux, con sólo un poco de esfuerzo podrás disfrutar del software libre.
Saludos flamencos,
Muy buena información, gracias por compartir.
Gracias y saludos flamencos,
Es excelente el trabajo que haces. Muy bien explicado con muchos detalles para dejar la distro bien a punto. Sería muy bueno que alguna vez hagas una guía sobre ArchLinux, ya que no hay tantas y tan buenas como las tuyas
Gracias por el comentario. En realidad nunca he trabajado con ArchLinux, pero tengo entendido que sí hay mucha información sobre ella.
Saludos flamencos,