Repositorios de Distribuciones GNU/Linux: El arte de fusionarlos!
Un repositorio básicamente es un Equipo en la Internet, es decir, un servidor que aloja los programas específicos para uno o varios Sistemas Operativos Linux, y por lo general están construidos para accesarse vía gestor de paquetes de consola o gráfico, aunque en otros casos incluye el acceso vía Navegador Web.
Usar Repositorios para nuestros Linux nos da como ventaja que los programas que se encuentran en estos repositorios están verificados por la Comunidad de Software Libre y de las respectivas Distribuciones que los crea y respalda, por lo que se garantiza un mínimo de problemas para usarlos.
Introducción al uso de los Repositorios
Aunque cada Distro usa sus propios repositorios, la mayoría de los mismos contienen muchos iguales o similares programas (paquetes) que pueden usarse entre diferentes Distros, por lo que lo ideal es poder usar uno que otro repositorio externo para maximizar el valor de nuestros respectivos Sistemas Operativos.
Y en esta publicación esperamos dar pistas para ese objetivo, pero primero debemos entender como están construidos los Repositorios para luego poder ver cual es compatible con cual otro y proceder a usarlos.
Estructura de un Repositorio
Por lo general, un Repositorio estándar tiene una ruta de acceso o configuración similar a la que se muestra a continuación:
FORMATO_PAQUETE PROTOCOLO://URL_SERVIDOR/DISTRO/ VERSIÓN RAMAS_PAQUETES
Ejemplo de linea de repositorio para DEBIAN Jessie (8):
deb http://ftp.us.debian.org/debian/ jessie main contrib non-free
Un ejemplo más amplio de un archivo sources.list típico, es decir, el archivo de configuración predefinido para guardar las lineas de acceso y configuración de los Repositorios accesibles por una Distro, por ejemplo basada en DEBIAN Jessie (8) sería el siguiente:
################################################################
# REPOSITORIOS OFICIALES DE LINUX DEBIAN 8 (JESSIE)
#
# Repositorio base
deb http://ftp.us.debian.org/debian/ jessie main contrib non-free
# Actualizaciones de seguridad
deb http://security.debian.org/ jessie/updates main contrib non-free
# Actualizaciones para la base estable
deb http://ftp.us.debian.org/debian/ jessie-updates main contrib non-free
# Futuras actualizaciones para la base estable
# deb http://ftp.us.debian.org/debian/ jessie-proposed-updates main contrib non-free
# Retroadaptaciones para la base estable
# deb http://ftp.us.debian.org/debian/ jessie-backports main contrib non-free
# Actualizaciones Multimedias no oficiales
# deb http://www.deb-multimedia.org jessie main non-free
# Llave del Repositorio Multimedia no oficial
# aptitude install deb-multimedia-keyring
#
################################################################
Cada campo de la estructura de un Repositorio significa lo siguiente:
-
FORMATO_PAQUETE:
- deb: Indica que el Repositorios solo contiene paquetes compilados, es decir, los paquetes de instalación (binarios)
- deb-src: Indica que el Repositorios solo contiene los códigos fuentes de los paquetes compilados disponibles, es decir, los paquetes fuentes.
-
PROTOCOLO:
- http:// – para indicar un origen disponible en un servidor web
- ftp:// – para un origen disponible en un servidor FTP
- cdrom:// – para instalaciones desde CD-ROM/DVD-ROM/Blue-ray
- file:// – para indicar un origen local instalado en la jerarquía de archivos del sistema
-
URL_SERVIDOR:
- ftp.xx.debian.org ==> xx corresponde a país de origen del servidor
- nombre_de_servidor ==> puede ser cualquier otro que contenga DEBIAN.
-
DISTRO:
- debian: Aplicable para Sistemas Operativos basados en DEBIAN.
- nombre_distro: Nombre disponible en el Servidor para indicar cualquier otra distro o tipo especial de paquetes que contenga.
- vacío: Muchas veces no hay nada en esta posición, indicando que todo lo existente es para una sola Distro en especial.
-
VERSIÓN:
En el caso de DEBIAN indica las versiones lanzadas al mercado, por ejemplo:
DEBIAN GNU/Linux X ("sid") versión de desarrollo actual (inestable) (sid / unstable).
DEBIAN GNU/Linux 10.0 ("buster") versión de prueba actual (prueba) (stretch / testing).
DEBIAN GNU/Linux 9.0 ("stretch") versión de prueba actual (estable) (stretch / stable).
DEBIAN GNU/Linux 8.0 ("jessie") versión estable actual (vieja estable) (jessie / oldstable).
DEBIAN GNU/Linux 7.0 ("wheezy") antigua versión estable.
DEBIAN GNU/Linux 6.0 ("squeeze") antigua versión estable.
DEBIAN GNU/Linux 5.0 ("lenny") antigua versión estable.
DEBIAN GNU/Linux 4.0 ("etch") antigua versión estable.
DEBIAN GNU/Linux 3.1 ("sarge") antigua versión estable.
DEBIAN GNU/Linux 3.0 ("woody") antigua versión estable.
DEBIAN GNU/Linux 2.2 ("potato") antigua versión estable.
DEBIAN GNU/Linux 2.1 ("slink") antigua versión estable.
DEBIAN GNU/Linux 2.0 ("hamm") antigua versión estable.
DEBIAN GNU/Linux 1.2 ("buzz") antigua versión estable.
DEBIAN GNU/Linux 1.1 ("rex") antigua versión estable.
DEBIAN GNU/Linux 1.0 ("bo") antigua versión estable.
Los Repositorios DEBIAN se dividen en Versiones:
- OldStable (Vieja Estable): Versión que almacena los paquetes pertenecientes a la antigua Versión Estable de DEBIAN. Actualmente esta pertenece a la Versión Jessie.
- Stable (Estable): Versión que almacena los paquetes pertenecientes a la actual Versión Estable de DEBIAN. Actualmente esta pertenece a la Versión Stretch.
- Testing (Prueba): Versión que almacena los paquetes pertenecientes a la futura Versión Estable de DEBIAN. Actualmente esta pertenece a la Versión Buster.
- Unstable (Inestable): Versión que almacena los paquetes pertenecientes a los futuros paquetes que continuamente están en desarrollo y pruebas, que con el tiempo podrían pertenecer a la Versión Testing (Prueba) de DEBIAN. Esta siempre pertenece a la Versión SID.
Nota: Muchas veces el nombre de la versión suele ir acompañado del prefijo “-updates” o “-proposed-updates” para resaltar que dichos paquetes ahí almacenados aunque pertenecen a dicha versión suelen ser mas actualizados, ya que provienen más recientemente de la versión inmediatamente superior. En otras oportunidades cuando se trata del Repositorio de Seguridad el prefijo suele ser “/updates”.
-
RAMAS_PAQUETES:
En el caso de DEBIAN los Repositorios cuentan con 3 ramas:
- Main (Principal): Rama que almacena todos los paquetes incluidos en la distribución oficial de DEBIAN que son libres de acuerdo a las Directrices de Software libre de DEBIAN. La distribución oficial de DEBIAN se constituye totalmente de esta Rama.
- Contrib (Contribución): Rama que almacena los paquetes cuyos creadores les han dado licencia libre, pero los mismos poseen dependencias de otros programas que no son libres, es decir, software de código abierto que no puede funcionar sin elementos privativos. Estos elementos pueden ser software de la sección non-free o archivos privativos como ROMs de juegos, BIOS para consolas, etc.
- Non-Free (No Libres): Rama que almacena los paquetes que tienen alguna condición de licencia onerosa que restringe su uso o redistribución, es decir, contiene software que no sigue (completamente) estos principios pero que aún pueden ser distribuidos sin restricciones.
Para conocer los de cada Distro, muy seguramente debemos consultar las paginas oficiales de cada una, donde seguramente nos ofrecerán datos sobre los mismos, tal como Ubuntu y Mint
Compatibilidad entre Repositorios
Tal como se muestra en la Imagen de Cabecera del articulo y nuevamente a continuación, podemos fácilmente inferir tomando como muestra las Distribuciones basadas o derivadas de DEBIAN que hay una correlación directa de compatibilidad entre el lanzamiento de las diferentes versiones de la Meta-distribución DEBIAN y las basadas o derivadas de ellas, tal como Ubuntu, Mint, MX-Linux, Canaima y MinerOS.
Esta coincidencia de compatibilidad se da, ya que a medida que la Madre de todas las Distros (DEBIAN) va sacando nuevas versiones con nuevos paquetes y aplicaciones, los mismos van siendo migrados e implementados a otras más pequeñas directamente o adaptados progresivamente a otras más grandes como Ubuntu y de ahí a sus derivadas.
En cada Meta-distribución o Distro Madre y sus derivadas o basadas en ellas habrá una propia y diferente Lista de Equivalencia de Repositorios, por lo que te invito a averiguarla y compartirla con nosotros, por medio de tus comentarios.
También podemos agregar repositorios específicos de particulares sobre algunas Distros como DEBIAN, tal como se muestra a continuación en este post pasado del Blog: Cómo agregar un repositorio PPA en DEBIAN.
Espero que este articulo te haya gustado y sido útil, para que lo compartas por todas tus redes sociales y promuevas el Software Libre y el uso de GNU/Linux.
El artículo Repositorios de Distribuciones GNU/Linux: El arte de fusionarlos! aparece primero en Repositorios de Distribuciones GNU/Linux: El arte de fusionarlos!.