Gestión de Repositorios en Linux: Agregar, Quitar y Actualizar Fuentes
Independientemente de la distribución que uses, puede ser necesario instalar un nuevo repositório de software para instalar un determinado paquete que no forma parte del repositório de software de la distribución.
Cuando esto sucede, generalmente el fabricante del software proporciona la URL de su repositório para diferentes distribuciones, para que sea instalada. Se debe elegir la URL correcta, de acuerdo con la distribución Linux utilizada.
Repositorios en Debian/Ubuntu
La suite de herramientas de instalación de Software en las distribuciones basadas en Debian utiliza los repositorios de software indicados en el archivo /etc/apt/sources.list y también en el directorio /etc/apt/sources.list.d.
Por defecto, cada distribución Linux mantiene su propio repositorio de software, indicando en este archivo dónde el Linux debe buscar los paquetes que la distribución mantiene.
Dicho esto, es perfectamente posible agregar otros repositorios de software de terceros, o incluso cambiar el repositorio predeterminado por un repositorio de software en pruebas "beta".
En Ubuntu, el archivo sources.list tiene el siguiente contenido:
$ cat sources.list | grep -v "#"deb http://security.ubuntu.com/ubuntu eoan-security main restricteddeb http://security.ubuntu.com/ubuntu eoan-security universedeb http://security.ubuntu.com/ubuntu eoan-security multiverse
La primera palabra "deb" indica que se trata de paquetes binarios de software, y la palabra "deb-src" indica que son paquetes de código fuente.
Luego, se debe indicar la URL completa del repositorio, indicando el protocolo de acceso: http, https o ftp.
Después sigue el nombre de la distribución. En el caso de Debian, esto puede ser el nombre del código de versión (jessie, stretch, buster, sid) o la clase de versión (oldstable, stable, testing, unstable) respectivamente.
Por último, se indica el componente, que determina el tipo de software:
- MAIN: Contiene todos los paquetes que están completamente de acuerdo con el Debian Free Software Guidelines.
- CONTRIB: Es un conjunto de programas de código abierto que no pueden funcionar sin un elemento no libre.
- NON-FREE: Contiene programas que no están (completamente) de acuerdo con estos principios del Software Libre, pero que pueden, sin embargo, ser distribuidos sin restricciones.
- UPDATES: Este repositorio recibe las actualizaciones de paquetes, con correcciones y mejoras.
- BACKPORTS: El repositorio backports ofrece "paquetes backports". El término se refiere a un paquete de algún software reciente, que fue recompilado para una distribución más antigua, generalmente para Stable.
- SECURITY: Las actualizaciones de seguridad no están alojadas en la red habitual de espejos de Debian, sino en security.debian.org.
- PROPOSED-UPDATES: después de publicada, la distribución stable se actualiza aproximadamente cada dos meses. El repositorio de actualizaciones propuestas es donde se preparan las actualizaciones esperadas (bajo la supervisión de los gerentes de versión estable).
- DEBIAN MULTIMEDIA: Proporciona paquetes para fines de edición de video, imagen y códecs, entre otros.
Esta lista de componentes puede variar dependiendo de la distribución Linux.
Agregando un repositorio
Para agregar un repositorio, simplemente se debe incluir una línea con la sintaxis debajo en el archivo sources.list:
deb https://servidor/caminho distribuição componente
Después de configurar un repositorio en el archivo sources.list, es necesario ejecutar uno de los comandos de la suite de herramientas del apt de tu preferencia, para que la lista de paquetes del repositorio sea descargada y el repositorio sea incorporado al sistema:
$ apt-get update
O
$ aptitude update
O
$ apt update
El mismo comando debe ejecutarse si un repositorio es eliminado del sistema.
Repositorios en Red Hat/CentOS (Yum)
YUM también permite que los repositorios de software sean personalizados en el archivo de configuración yum.conf.
Ejemplo del /etc/yum.conf
[main]
cachedir=/var/cache/yum/$basearch/$releasever
keepcache=0
debuglevel=2
logfile=/var/log/yum.log
exactarch=1
obsoletes=1
gpgcheck=1
plugins=1
installonly_limit=5
distroverpkg=centos-release
[fedora-us-3-core]
name=Fedora Core 3 — Fedora US mirror baseurl=http://SERVERNAME/fedora/fedora/$releasever/$basearch/RPMS.os
[fedora-us-3-updates]name=Fedora Core 3 Updates — Fedora US mirror baseurl=http://SERVERNAME/fedora/fedora/$releasever/$basearch/RPMS.updates
Además del archivo de configuración /etc/yum.conf, YUM permite que coloques archivos de configuración de repositorios en el directorio /etc/yum.repos.d/. En este directorio se encuentran las configuraciones de cada repositorio.
Los archivos de este directorio tienen la extensión ".repo".
$ ls -l /etc/yum.repos.d/
-rw-r--r--. 1 root root 1664 Ago 13 2018 CentOS-Base.repo
-rw-r--r--. 1 root root 630 Ago 13 2018 CentOS-Media.repo
Puedes agregar repositorios extra o de software en "pruebas-beta" en la lista de repositorios de YUM.
Un archivo de repositorio generalmente tiene un nombre y apunta a una URL en Internet. Véase el archivo CentOS-Base.repo:
[base]
name=CentOS-$releasever - Base
mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=os&infra=$infra
#baseurl=http://mirror.centos.org/centos/$releasever/os/$basearch/
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7
Después de agregar un nuevo repositorio en Yum, el comando updateinfo realiza la actualización de los paquetes disponibles en los repositorios:
$ yum updateinfoPlugins carregados: extras_suggestions, langpacks, priorities, update-motdamzn2-core/2/aarch64 | 2.4 kB 00:00:00 amzn2extra-docker/2/aarch64 | 1.8 kB 00:00:00 amzn2extra-php7.3/2/aarch64 | 1.8 kB 00:00:00 Updates Information Summary: updatesupdateinfo summary done
Conclusión
La instalación de paquetes de terceros puede realizarse a través de la gestión de repositorios en Linux.
Aprende mucho más sobre Linux en nuestro curso en línea. Puedes realizar la inscripción aquí. Si ya tienes una cuenta, o quieres crear una, simplemente ingresa o crea tu usuario aquí.
¿Te gustó? Comparte
Eso fue solo una pieza. El curso enseña el camino completo — desde tu primer comando hasta el día del examen.