Cómo configurar sources.list en Debian 10

Toda distribución Gnu/Linux, emplea un pequeño archivo de configuración llamado sources.list. Como el nombre bien sugiere, el archivo contiene una lista con los nombres de los repositorios a los que tu ordenador ha de conectarse para llevar a cabo instalaciones y actualizaciones.

La información contenida en él ha de ser modificada únicamente con editores de texto plano, es decir, editores que a diferencia de Microsoft Word o el Libre Office Writter, no dan formato al texto (tamaño, color, fuente, etc.).

Editores de texto plano en Gnu/Linux hay muchos: Geany, Leafpad, Mousepad, Gedit, etc.

A manera de breve nota antes de comenzar, dirigida a los usuarios principiantes en Gnu-Linux. Las órdenes que se muestran a continuación, han de ser escritas tal y como aparecen, respetando espacios en blanco y capitalización. Gnu-Linux SI discrimina entre caracteres escritos en mayúsculas y minúsculas. Despues de llevar a cabo la edicion del archivo sources.list, es siempre necesario sincronizar el sistema con los nuevos repositorios con el comando sudo apt-get update

Espera, me da flojera leer y aprender, ¿donde esta la sección de copiar y pegar?

Lamentablemente, muchas veces el «una talla le hace a todos» en Gnu/Linux, no es por decir lo menos, la manera eficiente de hacer las cosas. Los repositorios también permiten contar con versiones locales de los mismos en regiones cercanas a sus usuarios. Repositorios en España para los españoles, en México para Centroamérica y en Argentina, Brasil y Chile para Sudamérica. Si vives en Chile, no es muy sensato emplear los repositorios por defecto (USA) para tu archivo sources.list.

Ahora, existe un sitio que provee una herramienta que permite generar una lista con los repositorios oficiales Debian según diferentes criterios.

Estructura de un archivo sources.list

Los archivos sources.list están compuestos por:

  1. Tipo de archivo.
  2. URL del repositorio (servidor).
  3. Distribución.
  4. Componente.

1.- Tipos de Archivos presentes en sources.list

El fichero de configuración sources.list, puede contener dos diferentes tipos de archivo: deb y deb-src.

Los archivos deb son paquetes binarios, es decir, paquetes ya compilados listos para ser descargados e instalados. Adicionalmente, estos paquetes, tienen la extensión .deb. Te habrás dado cuenta que muchos sitios que proveen instaladores para Gnu/Linux, incluyen este formato, que es sin lugar a dudas uno de los más populares, debido a la gran cantidad de distribuciones derivadas de Debian que existen actualmente.

Los ficheros src.deb contienen paquetes fuente, es decir, sin compilar pero comprimidos como archivos tar.gz. Estos comprimidos, contienen todos los archivos necesarios para llevar a cabo una compilación y poder construir un archivo .deb. Cada uno de estos paquetes incluye además un fichero Debian de descripción, que se reconoce por tener la extensión .dsc y un fichero tar.xz, (xz es un formato de compresión a veces superior a bzip2) que contiene información relacionada con este comprimido (notas legales, cambios, instrucciones, etc.).

deb http://deb.debian.org/debian buster main
deb-src http://deb.debian.org/debian buster main
Identifica los diferentes tipos de archivo presentes para la aplicación Babel-Minify

2.- URL de Repositorios presentes en sources.list

Al costado del repositorio, se puede leer el URL del servidor en el que se hayan los archivos que queremos descargar. La lista oficial de Repositorios Debian está aquí.

deb http://deb.debian.org/debian buster main

3.- Tipos de Distribución presentes en sources.list

Muchas distribuciones Gnu/Linux, tienen diferentes versiones activas al mismo tiempo. Por ejemplo. Debian tiene la versión 9 Stretch y 10 Buster, Linux Mint la versión 19.1 y 19.2 y así sucede con muchas otras. Por ello es necesario especificar en el fichero sources.list, la distribución (en realidad la versión) para la cual queremos descargar instaladores. En Debian, existen 3 diferentes tipos de distribución:

La primera es la versión old stable. Se trata de la versión anterior a la actual, que recibe únicamente actualizaciones de seguridad y que se mantiene funcional para dar tiempo a los usuarios a migrar hacia la versión stable (estable). Debian 9 Stretch es actualmente la versión old stable.

La versión stable (estable), que es la versión actual, recibe todo tipo de actualización. Debian 10 Buster es la versión actual o corriente.

Finalmente tenemos la versión testing (de pruebas), algo inestable, con errores que corregir, no recomendable para producción ni para el uso diario (con la excepción de que sepas en lo que te estás metiendo). Debian 11 Bullseye es la versión en desarrollo.

Adicionalmente existe la versión sid, que va mucho más allá que la versión testing, en la que se experimentan versiones de aplicaciones, controladores,  y configuraciones que pueden ser problemático(a)s en la inmensa mayoría de los sistemas.

Abajo se muestran dos lineas de un archivo sources.list que incluyen los archivos deb, deb.src para Debian 9 Stretch.

deb http://ftp.es.debian.org/debian/ stretch main contrib
deb-src http://ftp.es.debian.org/debian/ stretch main contrib

4.- Tipos de Componente presentes en sources.list

Existen tres tipos de componentes que pueden estar presentes en un archivo de configuración sources.list:

main: Contiene paquetes que son parte de Debian y que no requieren de fuentes externas ni de software privativo (non-free) para instalarse y que cumplen con las directrices de software libre de Debian (DFSG). Es decir, paquetes que son libres y que no requieren de la aceptación de ninguna clausula.

contrib: Contiene paquetes que cumplen con las directrices de software libre de Debian (DFSG) pero que tienen dependencias non-free; es decir, requieren la instalación de software privativo (non-free) no contenido en main.

non-free: Contiene software que no cumple con las directrices de software libre de Debian (DFSG). Es decir, la instalación requiere de la aceptación de ciertas clausulas (Skype, Steam, controladores de vídeo, algunos codecs multimedia, etc.).

Existe adicionalmente un cuarto componente llamado backports. La filosofía de Debian pregona seguridad, estabilidad y compatibilidad sobre todo, pero ello tiene un costo: el no contar con las últimas versiones de las diferentes aplicaciones. Para eso existe backports, que integra paquetes pre-compilados desde testing e incluso inestable a la versión estable.

Ejemplos:

Los colores separan e identifican las diferentes partes que componen las lineas de un archivo de configuración sources.list.

Archivos deb libres para Debian 10:

deb http://deb.debian.org/debian buster main

Archivos deb-src libres para Debian 10:

deb-src http://deb.debian.org/debian buster main

Archivos deb libres y privativos para Debian 10:

deb http://deb.debian.org/debian/ stable main non-free

Archivos deb para Debian 10 libres y con dependencias privativas y software privativo:

deb http://deb.debian.org/debian/ stable main contrib non-free

Modificando el archivo sources.list

Para llevar a cabo modificaciones en el archivo sources.list, es necesario emplear un editor de texto plano (como ya se ha mencionado al principio del artículo). Por ser un archivo de sistema, se requieren privilegios elevados (sudo) para editarlo y su ubicación es /etc/apt/sources.list.

Un comando común para abrir el fichero sources.list en modo de edición con privilegios elevados sería:

sudo nano /etc/apt/sources.list

En el comando de arriba, nano corresponde al nombre del editor de texto plano a emplear. Puedes cambiarlo por el nombre del editor de tu preferencia.

La imagen muestra el fichero sources.list con el repositorio cntrib – nonfree Debian ya agregado.

Otras consideraciones

Existen además otras maneras de estructurar a nuestra mejor conveniencia los repositorios en nuestro fichero de configuración sources.list.

Arquitectura: Es también posible establecer la arquitectura de los archivos a descargar.  Tomemos como ejemplo el repositorio oficial de Docker ensu versión de 64 bits (AMD64)

deb [arch=amd64] https://download.docker.com/linux/debian buster stable

Debian Security: Es promesa de los desarrolladores de Debian el hacerse cargo de todas las cuestiones de seguridad en un plazo razonable. Para ello cuentan con un equipo de auditoria de seguridad que revisa el archivo en busca de errores de seguridad nuevos o no corregidos. Para obtener fácilmente las últimas actualizaciones de seguridad precisa se agregue una línea como ésta:

deb http://security.debian.org/debian-security buster/updates main contrib non-free

Notas finales

Espero que esta guía inspirada en la información que brinda el sitio oficial de Debian al respecto te sea de utilidad. Como recomendación final evita agregar repositorios no oficiales «alegremente» (como muchos tantos sitios especializados en este tema sugieren) en tu archivo de configuración sources.list. Si necesitas hacerlo por alguna razón, tómate la molestia de revisar el repositorio con servicios en linea como Virus Total que incluso te permite escanear URLS.

¡Suerte!

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *