Formación informática

Java | Joomla | MySQL

Debian - Tema 11.1: repositorios

Hasta ahora hemos utilizado la versión 8 de Debian y hemos omitido realizar cualquier operación de actualización sobre el sistema operativo. En este tema desarrollaremos todos los conceptos relacionados con los repositorios: desde qué son pasando por dónde se almacena la información en nuestro ordenador hasta cómo cambiar los repositorios, tanto mediante comandos como con el gestor de paquetes Synaptic. De esta forma seremos capaces de administrar la actualización del sistema, puesto que la administración de los repositorios es un paso previo.

Logo de Debian

11.1. Repositorios

11.1.1. ¿Qué son los repositorios?

El repositorio es un archivo ordenado donde son almacenados los paquetes
Debian
(sean estos paquetes binarios o fuentes) en modo bien organizado, con una estructura
bien definida y constantemente actualizados.

Los paquetes contenidos en un repositorio son indexados en dos tipos de archivos:

  • Packages.gz: son paquetes que contienen los archivos binarios.
  • Sources.gz : son aquellos que contienen el código fuente.

Una de las muchas ventajas de Debian son sus repositorios centralizados que nos permiten a miles de paquetes de software.

11.1.2. Dónde se almacena la información

En una distribución Debian, los repositorios utilizados vienen indicados en el archivo /etc/apt/sources.list. En este fichero cada línea representa a un repositorio y la forma en la que se obtendrán los paquetes, así como la rama de Debian que se desea utilizar (stable, testing, unstable). Cada línea que comience con un # será ignorada, así como las líneas vacías. Si usamos la herramientas cat para ver el contenido del archivo obtenemos:

josemariatc@debian:~$ cat /etc/apt/sources.list

#

# deb cdrom:[Debian GNU/Linux 8.5.0 _Jessie_ - Official amd64 DVD Binary-1 20160604-15:35]/ jessie contrib main

deb cdrom:[Debian GNU/Linux 8.5.0 _Jessie_ - Official amd64 DVD Binary-1 20160604-15:35]/ jessie contrib main

deb http://ftp.es.debian.org/debian/ jessie main

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

deb http://security.debian.org/ jessie/updates main contrib

deb-src http://security.debian.org/ jessie/updates main contrib

# jessie-updates, previously known as 'volatile'

# Line commented out by installer because it failed to verify:

#deb http://ftp.es.debian.org/debian/ jessie-updates main contrib

# Line commented out by installer because it failed to verify:

#deb-src http://ftp.es.debian.org/debian/ jessie-updates main contrib

11.1.2.1. Sintaxis

Cada línea del archivo sources.list describe un repositorio y tiene una determinada sintaxis bien clara:

deb url distribution [component...]

Analizando los componentes por separado, así lo entendemos mejor:

  • deb o deb-src sirve para indicar si el repositorio indicado contiene paquetes binarios o paquetes fuente. En el caso de que tenga ambos es necesario especificarlo en dos líneas diferentes para que tenga acceso a ambos tipos de paquetes de la distribución de GNU/Linux elegida.
  • url indica la dirección donde es posible encontrar el repositorio, y además podemos elegir entre los siguientes métodos de acceso a los paquetes:
  • file permite acceder a un repositorio presente en el disco de nuestro pc.

Veamos un ejemplo:

deb file:/home/josemariatc/repos ./

Que no es ni más ni menos que uno situado en la /home del usuario josemariatc creado con dpkg-scanpackages.

  • cdrom permite acceder a un repositorio presente en un cdrom.
  • http permite acceder tramite el protocolo http. Si es especificada una variable de ambiente http_proxy con el formato. Estas opciones serán usadas para acceder al repositorio, en caso de necesitar identificación, será posible indicar la dirección del proxy, en la variable de ambiente de la siguiente forma; pass@server:port">http://user:pass@server:port).
  • ftp permite acceder a un repositorio tramite el protocolo ftp, también es posible especificar un proxy,de la misma forma que en http sustituyendo http_proxy por ftp_proxy.
  • copy es identico a file, pero los archivos serán guardados en la cache de apt y/o aptitude, útil para soportes como memorias-flash, floppy, etc.
  • rsh,ssh permite acceder a un repositorio tramite el protocolo ssh , la identificacion sera tramite el intercambio de llaves RSA.
  • distribution indica la distribución (o rama) utilizada... es posible usar el nombre en código (squeeze, wheezy, sid) o el nombre genérico (stable, testing, unstable).
  • component indica las secciones del repositorio, non-free , main , contrib....

11.1.3. Estructura de los repositorios

Por ejemplo, si accedieramos a http://ftp.de.debian.org/debian/ con nuestro navegador preferido encontraríamos un directorio con los siguientes subdirectorios, aunque esta estructura puede variar con versiones posteriores:

  • dist. En esta rama están contenidos los archivos de control, que permiten el funcionamiento del sistema de empaquetamiento. Lógicamente están presentes los archivos que describen los paquetes presentes en el archivo estando divididos por la release o rama a la que pertenecen.
  • doc. Recoge la documentación de base para Debian, señalando los fallos o bugs, las preguntas más frecuentes o FAQ, el contrato social y demás contenido legal.
  • Índices. Contiene los índices de los archivos contenidos en todos los paquetes. Esta información es usada por apt-file.
  • apt-file es un potente motor de búsqueda en grado de indicarnos a que paquete pertenece un determinado archivo. Podemos saber más sobre este comando escribiendo en un terminal man apt-file.
  • non-US. Archivos obsoletos a causa de problemas legales debidos a la prohibición de exportación de material para la defensa (entre ellos material criptográfico, utilizados en PGP, SSH etc). Para solucionar este problema, los paquetes han sido puestos en una sección diferente, cuya distribución está ligada a servers no estadounidenses.
  • pool. Este es el verdadero archivo, donde son contenidos los paquetes, ordenados por la letra inicial.
  • project. Contiene material para los desarrolladores.
  • tools. Contiene instrumentos Dos para la creación de discos de reinicio, el particionado de los discos duros y arranque de Linux.

11.1.4. Subdivisión del repositorio

Navegando un poco, pero sin llegar a marearse o perderse, entre los directorios existentes notamos que existe una organización básica pero muy intuitiva.  Los repositorios de las versiones de están divididos en:

  • main. Es la sección principal, que contiene el 90% de los paquetes presentes en nuestra Debian.
  • contrib. Encontramos los paquetes que cumplen con 5 o 6 puntos de las Debian Free Software Guidelines, pero que dependen de paquetes que no la respetan. DFSG son los requisitos que una licencia debe cumplir para que sea definida como libre según el proyecto Debian http://www.debian.org/social_contract#guidelines).
  • non-free. Contiene los paquetes que poseen limitaciones en su distribución; como por ejemplo aquellos que no pueden ser usados en ámbito comercial o porque dependen de paquetes que no respetan las DFSG.
 Debian - Tema 10.4: ejercicios resueltos sobre procesos <- | ->  Debian - Tema 11.2: Ramas 
   GNU/Linux - Temario

Escribir un comentario

Aunque los comentarios no expresan la opinión del administrador del sitio web, éste si que tiene una responsabilidad legal sobre lo que aparece. Por lo tanto, habrá una labor de moderación de los mensajes. No se permitirán mensajes ofensivos ni publicidad


Código de seguridad
Refescar

Solicitamos su permiso para obtener datos estadísticos de su navegación en esta web, en cumplimiento del Real Decreto-Ley 13/2012, de 30 de marzo. Si continúa navegando consideramos que acepta el uso de cookies. . Más información