La idea de comenzar este nuevo blog con este artículo es responder la típica pregunta que a todo usuario “newbie” le acecha, y para mi gusto es una de las cosas que mas deberían estar claras….
Información al respecto de este tema, debe de haber por montones dentro de la red, de hecho en la página oficial de Debian existe un artículo de esto, y en miles de blog deben de haber, pero los que me ha tocado leer son “un tanto” espesos, por no decir que son LATOSOS….
Es por esto mismo que trataré de escribir de la manera más entendible posible… es por lo mismo que recomiendo la lectura y comprensión de este artículo….
Well… lo primero que tiene que tenemos que tener bien en claro, es de que diablos estamos hablando cuando nos referimos a “repositorio”, y quien mejor para aclarar esto que nuestr@ querid@ amig@ wikipedia. (http://es.wikipedia.org/wiki/Repositorio).
Los paquetes contenidos en un repositorio son indexados en estos archivos:
Packages.gz (son paquetes que contienen los binarios).
Sources.gz (son aquellos que contienen los fuente).
En cada Sistema de nuestra distribución favorita (DEBIAN), los repositorios se deben indicar en el archivo /etc/apt/sources.list
Para efectos de tratar con nuestro repositorios es que usaremos nuestro sistema de gestión de paquetes predilectos, en mi caso usaré APT desde consola.
root@origami:~$ apt-get update
Este comando no hace mas que descargar descripciones de los lugares (dependiendo de lo que se ha elegido:binarios o fuentes) indicados en el archivo /etc/apt/sources.list que no estén comentados.
A continuación veremos una lista de repositorios oficiales para agregar a nuestro sources.list
**Personalmente escogí los repositorios mas cercanos, pero tu puedes usar el mas cercano a tu localidad en este link (http://www.debian.org/mirror/list)***
Vieja Estable:Debian Etch
## Debian Stable (etch) -Vieja estable
deb http://ftp.cl.debian.org/debian/ etch main contrib non-free
deb-src http://ftp.cl.debian.org/debian/ etch main contrib non-free
##Actualizaciones de seguridad
deb http://security.debian.org/ etch main contrib non-free
deb-src http://security.debian.org/ etch main contrib non-free
Estable: Debian Lenny
## Debian Stable (Lenny)
deb http://ftp.cl.debian.org/debian/ stable main contrib non-free
deb-src http://ftp.cl.debian.org/debian/ stable main contrib non-free
## Actualizaciones de seguridad
deb http://security.debian.org/ stable/updates main contrib
deb-src http://security.debian.org/ stable/updates main contrib
Testing: Debian Squeeze
## Debian Testing (squeeze)
deb http://ftp.cl.debian.org/debian/ testing main contrib non-free
deb-src http://ftp.cl.debian.org/debian/ testing main contrib non-free
## Actualizaciones de seguridad
deb http://security.debian.org/ testing/updates main contrib
deb-src http://security.debian.org/ testing/updates main contrib
Unstable: Debian Sid
## Debian Unstable (sid)
deb http://ftp.cl.debian.org/debian/ unstable main contrib non-free
deb-src http://ftp.cl.debian.org/debian/ unstable main contrib non-free
Luego de haber escrito nuestro archivo sources.list, ejecutamos el siguiente comando
#apt-get update
Para los que son un poco mas estrictos con sus repositorios les dejo esta dirección donde podrán ver una lista de repositorios no oficiales (http://www.apt-get.org/main/)
Estructura de los repositorios
Un repositorio se puede dividir a grandes rasgos en dos secciones:
Por ejemplo, si navegáramos con nuestro navegador preferido (iceweasel) por esta dirección.
http://ftp.cl.debian.org/debian/
Nos encontraríamos con un directorio que tendría los siguientes subdirectorios;
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 (divididos por la release o rama a la que pertenecen).
doc recoge la documentación de base para Debian (señalaciones de bugs, Faq, el contrato social y demás)
indices 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., para saber mas man apt-file.
non-US 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 esta 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 boot, particionamiento y arranque de Linux.
Subdivision del repositorio
Dentro del directorio pool, notamos una particular subdivisión:
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 DFSG(Debian Free Software Guidelines), pero que dependen de paquetes que no la respetan.
(DFSG = lineamientos o requisitos que una licencia debe cumplir para que sea definida como libre segun el proyecto Debian http://www.debian.org/social_contract#guidelines).
non-free contiene los paquetes che 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).
Sources.list
Como vengo diciendo ya hace un rato, para mi gusto este es uno de los archivos mas importantes dentro la configuración de nuestro sistema, es aquí donde se enliztan los repositorios a usar.
A modo personal, yo los tengo ordenados por orden de velocidad, con esto me refiero, primero los de los DVD’s Oficiales, luego los oficiales, que en mi caso son lo de la Universidad de Talca, y luego los no oficiales.
Sintaxis
Cada linea que describe un repositorio tiene una bien determinada sintaxis:
deb url distribution [component...]
Analizamos 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 (si tiene ambos es necesario especificarlo en dos lineas diferentes).
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. Ejemplo:
deb file:/home/bachu/repos ./
Que no es ni mas ni menos que uno situado en la /home del usuario bachu 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 ,seran usadas estas opciones para acceder al repositorio, en caso de necesitar identificación, sera posible indicar la dirección del proxy, en la variable de ambiente de la siguiente forma; 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 (sarge, etch,lenny) o el nombre genérico (stable, testing, unstable)
component indica las secciones del repositorio, non-free , main , contrib….
Está mas que claro que han quedado muchas cosas por aclarar, pero el tiempo y el sueño me consumen…
Espero con ansias que esta guia sea de su ayuda y pueda aclarar muchas dudas que tengas
Fuente: guía de referencia Debian
P.D: Como en esta guía personal, los nombres de los repositorios se encuentran escritos con el codename de la distribución, existe otra manera de poder escribirlos… y esta sería con el nombre de la versión que desees usar.
deb http://ftp.br.debian.org/debian/ oldstable main contrib non-free
Aclarando para los lectores:
Cuando un repositorio apunta a una de las ramas (oldstable, stable, testing), apuntan a las versiones de turno, que en este momento son:
Oldstable –> Etch
Stable –> Lenny
Testing –> Squeeze
Unstable –>Sid