Cómo añadir un repositorio de Debian

Este artículo nos da una breve introducción a los repositorios de Debian y cómo agregarlos editando el archivo source.list y agregar repositorios bajo sources.list.d, pero no explicaremos sobre los PPA de Ubuntu.

Antes de explicar cómo agregar un repositorio a Debian desde sources.list veamos una breve descripción de los repositorios.

Los repositorios de Debian son contenedores de software estructurados bajo un árbol de directorios específicos que nos permite rápidamente buscar, instalar o actualizar paquetes utilizando el comando apt.

El directorio raíz del repositorio muestra una lista de directorios que pertenecen a cada distribución de Debian (estable o inestable) con subdirectorios para cada versión (Squeeze, Wheezy, Jessie, Stretch, etc.), los siguientes directorios en el directorio raíz del árbol contienen documentación, índices, herramientas para arrancar el sistema, archivos README y, entre otros directorios, el denominado “pool” en el que se almacenan los binarios.

Tenemos tres tipos diferentes de paquetes en nuestros repositorios. Estos son; main, contrib y non-free.

main: Por defecto Debian solo incluye licencias de software libre, clasificadas como main cumpliendo todos los requisitos de la licencia Debian Free Software Guidelines (DFSG).

Software guidelines significa: El software puede ser redistribuido, incluyendo su código fuente, la autoría, incluida la autoría de modificación. No se puede aplicar discriminación a ninguna persona o grupo, los derechos del software se aplican a todos los usuarios sin necesidad de licencias adicionales, la licencia no debe ser específica para Debian y no puede restringir licencias de software de terceros.

contrib: Los paquetes clasificados como contrib son licencias de software libre pero dependen de licencias de software non-free.

Non-Free: Los paquetes tiene alguna restricción de uso y distribución de software.

Los repositorios de Debian se almacenan en el archivo /etc/apt/sources.list. Si ejecutamos:

less /etc/apt/sources.list

Puede ver los repositorios por defecto como se muestra en la imagen a continuación, dependiendo de su versión de Debian. Como puede ver en las líneas comentadas, sólo hay repositorios main y contrib sin non-free, El principal obstáculo para los usuarios de Linux de adoptar software no libre es la falta de transparencia en el código, no sabemos en realidad qué estamos ejecutando en nuestro dispositivo si el código fuente está restringido, pero en algunos casos la prioridad del usuario es el rendimiento por sobre este dilema. Por ejemplo, cuando instalamos un controlador non-free.

Centrémonos en dos repositorios no comentados, que solo nos permiten buscar paquetes principales:

deb http://mirror.isoc.org.il/pub/debian/ stretch main

deb-src http://mirror.isoc.org.il/pub/debian/ stretch main

Donde:

deb: Especifica que es un paquete binario.

deb-src: Especifica el código fuente de los paquetes.

http://mirror.isoc.org.il/pub/debian/: Especifica la raíz del repositorio.

stretch: Especifica la versión del OS.

main: Especifica el tipo de componentes disponibles: main, contrib and non-free si está disponible.

Si queremos que nuestros repositorios accedan a contrib y/o non-free, solo necesitamos agregarlos después de “main“.

Para editar sources.list escribimos:

nano /etc/apt/sources.list

Después de cada línea que desee habilitar paquetes contrib o non-free, agreguelos al final de cada línea como en la imagen, La dos líneas anteriores en las que nos enfocamos deberían ser ahora:

deb http://mirror.isoc.org.il/pub/debian/ stretch main contrib non-free

deb-src http://mirror.isoc.org.il/pub/debian/ stretch main contrib non-free

Luego de editar nuestro sources.list presionamos Ctrl+X para guardar y cerrar. Luego ejecutamos apt update para actualizar nuestros repositorios.

Como puede observar las nuevas fuentes fueron agregadas y la salida nos pide que ejecutemos “apt list –-upgradable” para ver qué actualizaciones podemos aplicar:

apt list –-upgradable

Como puede ver, ahora podemos instalar firmwares no libres que antes no podíamos, ejecutando:

apt upgrade

Cómo agregar repositorios en Debian

En algunos casos necesitamos instalar software que no se incluyen en los repositorios originales de Debian. Por ejemplo, si queremos instalar VirtualBox desde los repositorios necesitamos primero agregarlos en sources.list.

En primer lugar, intenta instalar virtualbox usando los repositorio predeterminados. Ejecute:

apt install virtualbox

El paquete no es encontrado Ahora agregaremos virtualbox en los repositorios de sources.list ejecutando:

nano /etc/apt/sources.list

Como puede ver en la última línea he agregado la línea:

deb http://download.virtualbox.org/virtualbox/debian stretch contrib

Presionamos Ctrl+X y confirmamos presionando “Y” para salvar los cambios y salir. Para actualizar los repositorios ejecutamos:

apt update

Ahora intentaremos nuevamente instalar virtualbox desde los repositorios ejecutando:

apt install virtualbox

Ahora virtualbox está disponible pero la instalación requiere especificar la versión que queremos instalar. Para instalar la última versión escribimos:

apt install virtualbox-6.0

Como podemos observar, ahora podemos instalar virtualbox desde los repositorios.

Una forma diferente de agregar un repositorio que pertenezca al software que queremos instalar es posible, evitando editar el archivo /etc/apt/sources.list.

Podemos crear un archivo de repositorio similar dentro del directorio /etc/apt/sources.list.d de la siguiente forma:

echo ‘deb http://download.virtualbox.org/virtualbox/debian ‘$(lsb_release -cs)‘ contrib non-free’ > /etc/apt/sources.list.d/virtualbox.list

Entonces ejecute:

ls /etc/apt/sources.list.d

Donde:

echo= Mostrará la siguiente cadena entre ‘ ‘

‘deb http://download.virtualbox.org/virtualbox/debian ‘= Contiene la dirección del repositorio de virtualbox.

$(lsb_release -cs)= Imprimirá información de nuestra distribución de Linux. Si no estamos seguros de nuestra distribución de Linux, podemos ejecutar lsb_release -cs para definir nuestra versión.

‘ contrib non-free’= incluímos paquetes non-free y contrib.

>= Escribe la salida del comando en un archivo, en este caso virtualbox.list.

/etc/apt/sources.list.d/virtualbox.list= El archivo en el que se escribirá la salida (repositorio).

Para consultar el contenido del repositorio ejecutamos:

less /etc/apt/sources.list.d/virtualbox.list

Presione Q para salir

Como puede observar la línea es similar a la que agregamos al archivo sources.list

Para este añadir repositorios, ejecutamos:

apt update

Solo después de ejecutar apt update los cambios que realizamos en el repositorio surtirán efecto, de lo contrario, la nueva fuente no se incorporará a nuestros repositorios. El mismo comando debe ser ejecutado siempre después de una actualización de sistema (apt upgrade) para asegurar nuevas versiones y disponibilidad de todos los repositorios.

A pesar de que siempre podemos descargar nuestro paquete instalable .deb para instalarlo manualmente, administrar repositorios e instalar software a través de ellos puede hacer que el proceso de instalación sea más fácil cuando nuestro software tiene dependencias, que es una de las principales ventajas del comando apt al instalar o eliminar programas.


Espero que haya encontrado útil este artículo para aprender a agregar repositorios en su sistema. Ante cualquier consulta, no dude en ponerse en contacto con nosotros a través de nuestro canal de asistencia en https://support.linuxhint.com.


Este artículo es una traducción al español del original Add A Debian Repository

Related articles:

Uninstall Ubuntu and Debian packages with apt-get and dpkg

List all installed packages on Debian