domingo, 10 de junio de 2007

Repositorio; ¿que es?¿como funciona?

Empecemos por el principio.
Como quizás sepas, sino te lo explico yo ahora:

Linux, es únicamente el kernel o núcleo. El kernel o núcleo es el programa que permite a los demás programas comunicarse con el hardware y gestionar los recursos del ordenador (procesador, memoria, disco duro, USB...), este por si solo no vale para nada.

GNU son las aplicaciones y/o programas que utilizamos a diarios, y al igual que Linux, este por si solo no vale para nada.


========================================================

En conclusión:

El kernel o núcleo es una parte fundamental de un sistema operativo, que en esencia es un núcleo, y GNU es una serie de programas que permiten a un usuario interactuar con el kernel o núcleo. En nuestro caso, es lo que se denomina GNU/Linux, núcleo Linux con las aplicaciones o programas del proyecto GNU.

========================================================


El siguiente nivel, serían las distribuciones de GNU/Linux, como Debian, Guadalinex, ubuntu.... (que es el conjunto de muchísimos programas integrados que se ejecutan sobre un sistema operativo GNU/Linux.) Ahora bien, por lo general, cuando se habla de Linux mucha gente se refiere indistintamente a uno u otro concepto, cuando lo correcto es decir GNU/Linux (aplicaciones o programas + kernel o núcleo)

Las distribuciones están formadas por paquetes. Un paquete viene a ser una pieza de software que cumple una determinada funcionalidad. Así pues, un paquete puede ser un programa, una biblioteca, un conjunto de plugins... Pueden ser incluso, por ejemplo, iconos.

¿Y a qué se debe esto? Básicamente, a que una distribución puede verse como un gran LEGO. Cada paquete es una pieza del LEGO. A la hora de construir el LEGO, para colocar algunas piezas, debes haber puesto otras antes (las llamadas dependencias). Algunas piezas son claves, y forman la base para que se puedan colocar todas las demás (como por ejemplo, el kernel). Otras, en cambio, sólo son necesarias para piezas muy concretas. Y muchas piezas no tienen nada que ver unas con otras.


Y, al fin, llegamos al concepto de repositorio.

El repositorio es un almacén de paquetes (como la caja con las piezas). Los repositorios pueden estar en internet, en un medio extraíble como un CD, en el disco duro...

Hay tanto repositorios oficiales con todos los paquetes de la distribución, así como sus actualizaciones de seguridad y bugs, como repositorios con software que no se puede incluir en los oficiales (que contiene códecs multimedia propietarios, programas libres pero con restricciones legales y cosas así), como repositorios mantenidos por voluntarios con las últimas versiones del software (con los que hay que tener mucho cuidado. Personalmente, no te recomendaría usarlos).

Los repositorios oficiales públicos de Debian en internet contienen únicamente software libre.
  • Los paquetes libres van en el directorio main
  • Los que no son libres van en el directorio non-free
  • Los paquetes libres que dependen de los que no son libres van en el directorio contrib.

Existen también otros directorios poco comunes que son el non-US/main que contienen paquetes que son libres pero que no pueden ser exportados desde un servidor en los Estados Unidos y el directorio non-US/non-free que contiene paquetes que tienen alguna condición de licencia onerosa que restringe su uso o redistribución. No pueden ser exportados de los Estados Unidos porque son paquetes de software de cifrado que no están gestionados por el procedimiento de control de exportación que se usa con los paquetes de main o no pueden ser almacenados en servidores en los Estados Unidos por estar sujetos a problemas de patentes.


Así que solo nos centraremos en los directorios: main, non-free y contrib

Y, finalmente, nos encontramos con el sistema de gestión de paquetes. En el caso de Debian éstos son:
  • - apt-get
  • - synaptic
  • - aptitude
  • - dselect
Son los encargado de gestionar:
  • - La instalación
  • - La actualización
  • - La desinstalación
  • - La desinstalación y el borrado
de los paquetes de la distribución.

Los repositorios incluyen un fichero con las dependencias de todos los paquetes que contienen (los llamados Sources.gz y Packages.gz), es decir, las instrucciones del LEGO. La diferencia está en que el primero contiene, además de las dependencias, información sobre cada paquete (para qué sirve, qué ficheros contiene, etc), mientras que el segundo únicamente tiene las dependencias. El primero, por tanto, es mucho más grande que el segundo, pero contiene información muy útil.

El gestor de paquetes actúa como el constructor del LEGO y utiliza dichas instrucciones para saber qué piezas debe poner antes de una concreta (es decir, resolver las dependencias de los paquetes).


==================================================================
RESUMEN

Definición básica de paquete

Los paquetes son programas o librerías necesarias para que funcione un programa. Hay que ser root (administrador) para poder administrar paquetes. Los paquetes de Debian disponibles se guardan en una base de datos para su posterior consulta. Un paquete es un fichero que contiene todo lo necesario para instalar, desinstalar y ejecutar un programa en particular. Todos los nombres de paquetes tienen la misma forma, es decir: nombre_del_paquete.deb

Ejemplos de nombres de paquetes son:

  • - amsn.deb
  • - amule.deb
  • - azureus.deb
  • - bittorrent.deb





Definición básica de repositorio


Un repositorio es el lugar donde se guardan paquetes, de tal forma que cualquier usuario, haciendo referencia a ese repositorio tiene la posibilidad de instalarse cualquier programa que allí se encuentre


==================================================================


Fichero sources.list



El fichero sources.list se encuentra en la siguiente carpeta: /etc/apt. Indica a donde debe ir a buscar los paquetes para ser instalado, bien con apt, con synaptic o con aptitude. Es en este fichero dónde irán las direcciones de los repositorios de nuestro Debian. Tendríamos que editar este fichero y añadir las lineas que hacen referencia a los repositorios.


Después de cada cambio que hagamos en este fichero debemos de actualizar la base de datos con:
  • - apt-get update para el caso de usar apt.
  • - recargar en el caso de usar synaptic
  • - actualizar lista de paquetes en el caso de usar aptitude




Cómo configurar nuestra distribución para utilizar los repositorios oficiales de Debian y los no oficiales de debian-multimedia, en modo consola.

Primeramente debemos editar el fichero /etc/apt/sources.list y añadir las lineas de los repositorios de Debian y de Debian-multimedia, claro está.


Repositorio oficial de Debia

# En caso de usar la versión estable de Debian
deb http://ftp.rediris.es/debian/ stable main contrib non-free
deb-src http://ftp.rediris.es/debian/ stable main contrib non-free

# En caso de usar la versión testing o pruebas de Debian
deb http://ftp.rediris.es/debian/ testing main contrib non-free
deb-src http://ftp.rediris.es/debian/ testing main contrib non-free

# En caso de usar la versión unstable o inestable de Debian
deb http://ftp.rediris.es/debian/ unstable main contrib non-free
deb-src http://ftp.rediris.es/debian/ unstable main contrib non-free


Repositorio no oficial de Debian para los paquetes de códigos de audio y vídeo

# En caso de usar la versión estable de Debian
deb http://www.debian-multimedia.org stable main

# En caso de usar la versión testing o pruebas de Debian
deb http://www.debian-multimedia.org testing main

# En caso de usar la versión unstable o inestable de Debian
deb http://www.debian-multimedia.org sid main
deb-src http://www.debian-multimedia.org sid main




==================================================================



Cómo configurar nuestra distribución para utilizar los repositorios oficiales de Debian y los no oficiales de debian-multimedia, en modo gráfico.

1- abrimos synaptic, que nos pide la contraseña de administrador.

2- una vez abierto nos dirigimos a contiguración>repositorios.


3- primero Pinchamos en nuevo, segundo elegimos el tipo de paquetes (Binario o fuente) en este caso binario (deb), tercero introducimos url, distribución y sección(es).

Para el repositorio Binario oficial de Debian:

deb http://ftp.rediris.es/debian/ lenny main contrib non-free

4- primero Pinchamos en nuevo, segundo elegimos el tipo de paquetes (Binario o fuente) en este caso fuentes (deb-src), tercero introducimos url, distribución y sección(es).

Para el repositorio Fuentes oficial de Debian:

deb-src http://ftp.rediris.es/debian/ lenny main contrib non-free
.

5- El de los codecs multimedia, quedaría así:
deb http://www.debian-multimedia.org testing main

6- Una vez acabado de introducir los nuevos repositorios pulsamos en aceptar.

Nos aparecerá una pantalla en la cual nos avisa de que tenemos que actualizar los repositorios para tener la lista de paquetes nuevos para poder instalar.

7- Recargamos los repositorios como nos indico la advertencia, picando en recargar y cuando acabe de actualizar observamos que el numero de paquetes nuevo para instalar a aumentado (abajo a la derecha).



Con esto ya tenemos añadidos los 3 nuevos repositorios.


=========================================================================

Réplicas de Debian en todo el mundo

Debian se distribuye (mediante réplicas) a través de cientos de servidores en Internet. Usar un servidor cercano ayuda a acelerar la descarga a la vez que se reduce la carga en nuestros servidores centrales así como en la propia Internet en general.

Las réplicas de Debian pueden ser primarias o secundarias, según las siguientes definiciones:

Una réplica primaria posee un ancho de banda considerable, está disponible 24 horas al día y tiene un nombre fácil de recordar, del tipo: ftp.(país).debian.org/debian/ 
Las réplicas primarias se actualizan automáticamente cada vez que hay cambios en el repositorio de Debian. 

Una réplica secundaria puede restringir qué es lo que replica (por posibles problemas de espacio). Aunque una réplica sea secundario eso no significa necesariamente que tenga que ser más lenta o estar menos actualizada que una primaria.

Para una descarga lo más rápida posible use la réplica más cercana a usted, ya sea ésta una réplica primaria o secundaria. Use el programa netselect para determinar cuál es la réplica con menor latencia; use un programa de descarga como wget o bien rsync para determinar la réplica que proporciona mejor tasa de transferencia. Tenga en cuenta que la proximidad geográfica no suele ser el factor más importante a la hora de determinar la máquina que puede ofrecer un mejor servicio.

La copia de referencia de la siguiente lista siempre se puede consultar en: http://www.debian.org/mirror/list.
Si usted conoce alguna réplica que no aparece en esta lista, por favor, pida al responsable de dicha réplica que rellene el formulario de la página: http://www.debian.org/mirror/submit.
Consulte la página http://www.debian.org/mirror/ para todo lo demás que quiera saber sobre réplicas.

Direcciones de las réplicas primarias de Debian

País Dirección Arquitecturas
Alemania ftp2.de.debian.org/debian/ alpha amd64 arm armel hppa hurd-i386 i386 ia64 kfreebsd-amd64 kfreebsd-i386 mips mipsel powerpc s390 sparc
Alemania ftp.de.debian.org/debian/ alpha amd64 arm armel hppa hurd-i386 i386 ia64 kfreebsd-amd64 kfreebsd-i386 mips mipsel powerpc s390 sparc
Australia ftp.au.debian.org/debian/ alpha amd64 arm armel hppa hurd-i386 i386 ia64 kfreebsd-amd64 kfreebsd-i386 mips mipsel powerpc s390 sparc
Austria ftp.at.debian.org/debian/ alpha amd64 arm armel hppa hurd-i386 i386 ia64 kfreebsd-amd64 kfreebsd-i386 mips mipsel powerpc s390 sparc
Bélgica ftp.be.debian.org/debian/ alpha amd64 arm armel hppa hurd-i386 i386 ia64 kfreebsd-amd64 kfreebsd-i386 mips mipsel powerpc s390 sparc
Bielorrusia ftp.by.debian.org/debian/ alpha amd64 arm armel hppa hurd-i386 i386 ia64 kfreebsd-amd64 kfreebsd-i386 mips mipsel powerpc s390 sparc
Bosnia-Herzegovina ftp.ba.debian.org/debian/ alpha amd64 arm armel hppa hurd-i386 i386 ia64 kfreebsd-amd64 kfreebsd-i386 mips mipsel powerpc s390 sparc
Brasil ftp.br.debian.org/debian/ alpha amd64 arm armel hppa hurd-i386 i386 ia64 kfreebsd-amd64 kfreebsd-i386 mips mipsel powerpc s390 sparc
Bulgaria ftp.bg.debian.org/debian/ alpha amd64 arm armel hppa hurd-i386 i386 ia64 kfreebsd-amd64 kfreebsd-i386 mips mipsel powerpc s390 sparc
Canadá ftp.ca.debian.org/debian/ alpha amd64 arm armel hppa hurd-i386 i386 ia64 kfreebsd-amd64 kfreebsd-i386 mips mipsel powerpc s390 sparc
Chile ftp.cl.debian.org/debian/ alpha amd64 arm armel hppa hurd-i386 i386 ia64 kfreebsd-amd64 kfreebsd-i386 mips mipsel powerpc s390 sparc
Corea ftp.kr.debian.org/debian/ alpha amd64 arm armel hppa hurd-i386 i386 ia64 kfreebsd-amd64 kfreebsd-i386 mips mipsel powerpc s390 sparc
Croacia ftp.hr.debian.org/debian/ alpha amd64 arm armel hppa hurd-i386 i386 ia64 kfreebsd-amd64 kfreebsd-i386 mips mipsel powerpc s390 sparc
Dinamarca ftp.dk.debian.org/debian/ alpha amd64 arm armel hppa hurd-i386 i386 ia64 kfreebsd-amd64 kfreebsd-i386 mips mipsel powerpc s390 sparc
Eslovenia ftp.si.debian.org/debian/ alpha amd64 arm armel hppa hurd-i386 i386 ia64 kfreebsd-amd64 kfreebsd-i386 mips mipsel powerpc s390 sparc
España ftp.es.debian.org/debian/ alpha amd64 arm armel hppa hurd-i386 i386 ia64 kfreebsd-amd64 kfreebsd-i386 mips mipsel powerpc s390 sparc
Estados Unidos ftp.us.debian.org/debian/ alpha amd64 arm armel hppa hurd-i386 i386 ia64 kfreebsd-amd64 kfreebsd-i386 mips mipsel powerpc s390 sparc
Estonia ftp.ee.debian.org/debian/ alpha amd64 arm armel hppa hurd-i386 i386 ia64 kfreebsd-amd64 kfreebsd-i386 mips mipsel powerpc s390 sparc
Finlandia ftp.fi.debian.org/debian/ alpha amd64 arm armel hppa hurd-i386 i386 ia64 kfreebsd-amd64 kfreebsd-i386 mips mipsel powerpc s390 sparc
Francia ftp2.fr.debian.org/debian/ alpha amd64 arm armel hppa hurd-i386 i386 ia64 kfreebsd-amd64 kfreebsd-i386 mips mipsel powerpc s390 sparc
Francia ftp.fr.debian.org/debian/ alpha amd64 arm armel hppa hurd-i386 i386 ia64 kfreebsd-amd64 kfreebsd-i386 mips mipsel powerpc s390 sparc
Grecia ftp.gr.debian.org/debian/ alpha amd64 arm armel hppa hurd-i386 i386 ia64 kfreebsd-amd64 kfreebsd-i386 mips mipsel powerpc s390 sparc
Hong Kong ftp.hk.debian.org/debian/ alpha amd64 arm armel hppa hurd-i386 i386 ia64 kfreebsd-amd64 kfreebsd-i386 mips mipsel powerpc s390 sparc
Hungría ftp.hu.debian.org/debian/ alpha amd64 arm armel hppa hurd-i386 i386 ia64 kfreebsd-amd64 kfreebsd-i386 mips mipsel powerpc s390 sparc
Irlanda ftp.ie.debian.org/debian/ alpha amd64 arm armel hppa hurd-i386 i386 ia64 kfreebsd-amd64 kfreebsd-i386 mips mipsel powerpc s390 sparc
Islandia ftp.is.debian.org/debian/ alpha amd64 arm armel hppa hurd-i386 i386 ia64 kfreebsd-amd64 kfreebsd-i386 mips mipsel powerpc s390 sparc
Italia ftp.it.debian.org/debian/ alpha amd64 arm armel hppa hurd-i386 i386 ia64 kfreebsd-amd64 kfreebsd-i386 mips mipsel powerpc s390 sparc
Japón ftp2.jp.debian.org/debian/ alpha amd64 arm armel hppa hurd-i386 i386 ia64 kfreebsd-amd64 kfreebsd-i386 mips mipsel powerpc s390 sparc
Japón ftp.jp.debian.org/debian/ alpha amd64 arm armel hppa hurd-i386 i386 ia64 kfreebsd-amd64 kfreebsd-i386 mips mipsel powerpc s390 sparc
Lituania ftp.lt.debian.org/debian/ alpha amd64 arm armel hppa hurd-i386 i386 ia64 kfreebsd-amd64 kfreebsd-i386 mips mipsel powerpc s390 sparc
México ftp.mx.debian.org/debian/ alpha amd64 arm armel hppa hurd-i386 i386 ia64 kfreebsd-amd64 kfreebsd-i386 mips mipsel powerpc s390 sparc
Noruega ftp.no.debian.org/debian/ alpha amd64 arm armel hppa hurd-i386 i386 ia64 kfreebsd-amd64 kfreebsd-i386 mips mipsel powerpc s390 sparc
Nueva Caledonia ftp.nc.debian.org/debian/ alpha amd64 arm armel hppa hurd-i386 i386 ia64 kfreebsd-amd64 kfreebsd-i386 mips mipsel powerpc s390 sparc
Nueva Zelanda ftp.nz.debian.org/debian/ alpha amd64 arm armel hppa hurd-i386 i386 ia64 kfreebsd-amd64 kfreebsd-i386 mips mipsel powerpc s390 sparc
Países Bajos ftp.nl.debian.org/debian/ alpha amd64 arm armel hppa hurd-i386 i386 ia64 kfreebsd-amd64 kfreebsd-i386 mips mipsel powerpc s390 sparc
Polonia ftp.pl.debian.org/debian/ alpha amd64 arm armel hppa hurd-i386 i386 ia64 kfreebsd-amd64 kfreebsd-i386 mips mipsel powerpc s390 sparc
Portugal ftp.pt.debian.org/debian/ alpha amd64 arm armel hppa hurd-i386 i386 ia64 kfreebsd-amd64 kfreebsd-i386 mips mipsel powerpc s390 sparc
Reino Unido ftp.uk.debian.org/debian/ alpha amd64 arm armel hppa hurd-i386 i386 ia64 kfreebsd-amd64 kfreebsd-i386 mips mipsel powerpc s390 sparc
República Checa ftp.cz.debian.org/debian/ alpha amd64 arm armel hppa hurd-i386 i386 ia64 kfreebsd-amd64 kfreebsd-i386 mips mipsel powerpc s390 sparc
República Eslovaca ftp.sk.debian.org/debian/ alpha amd64 arm armel hppa hurd-i386 i386 ia64 kfreebsd-amd64 kfreebsd-i386 mips mipsel powerpc s390 sparc
Rumanía ftp.ro.debian.org/debian/ alpha amd64 arm armel hppa hurd-i386 i386 ia64 kfreebsd-amd64 kfreebsd-i386 mips mipsel powerpc s390 sparc
Rusia ftp.ru.debian.org/debian/ alpha amd64 arm armel hppa hurd-i386 i386 ia64 kfreebsd-amd64 kfreebsd-i386 mips mipsel powerpc s390 sparc
Suecia ftp.se.debian.org/debian/ alpha amd64 arm armel hppa hurd-i386 i386 ia64 kfreebsd-amd64 kfreebsd-i386 mips mipsel powerpc s390 sparc
Suiza ftp.ch.debian.org/debian/ alpha amd64 arm armel hppa hurd-i386 i386 ia64 kfreebsd-amd64 kfreebsd-i386 mips mipsel powerpc s390 sparc
Tailandia ftp.th.debian.org/debian/ alpha amd64 arm armel hppa hurd-i386 i386 ia64 kfreebsd-amd64 kfreebsd-i386 mips mipsel powerpc s390 sparc
Taiwán ftp.tw.debian.org/debian/ alpha amd64 arm armel hppa hurd-i386 i386 ia64 kfreebsd-amd64 kfreebsd-i386 mips mipsel powerpc s390 sparc
Turquía ftp.tr.debian.org/debian/ alpha amd64 arm armel hppa hurd-i386 i386 ia64 kfreebsd-amd64 kfreebsd-i386 mips mipsel powerpc s390 sparc
Ucrania ftp.ua.debian.org/debian/ alpha amd64 arm armel hppa hurd-i386 i386 ia64 kfreebsd-amd64 kfreebsd-i386 mips mipsel powerpc s390 sparc




=========================================================================


Vídeotutorial de synaptic en Ubuntu, que el exactamente el mismo que en Debian













Nota: Parte de la información de este comentario esta copiada (un copiar y pegar) de la web oficial de Debia: http://www.debian.org










2 comentarios:

Anónimo dijo...

Este blog es uno de los mejores (el mejor en mi opinión) acerca de Debian que hay en internet. La verdad te felicito y agradezco por todo el aporte. Larga vida a Debian!
Saludos!

Anónimo dijo...

Gracias por hacer las cosas más sencillas....

Saludos.