Como parte de su funcionamiento, APT utiliza un archivo que lista las "fuentes" en donde se encuentran los paquetes. Este archivo es: /etc/apt/sources.list.
El contenido de este archivo, normalmente sigue este formato:
deb http://site.http.org/debian distribución sección1 sección2 sección3 deb-src http://site.http.org/debian distribución sección1 sección2 sección3
Por supuesto que los renglones arriba mencionados son ficticios y no deberán ser usados. La primera palabra en cada línea, deb o deb-src, indican el tipo del archivo: ya sea que contenga paquetes binarios (deb), esto es, los paquetes pre-compilados que normalmente se usan, o los paquetes fuente (deb-src), que son los códigos originales, más el archivo de control de Debian (.dsc) y el diff.gz que contienen los cambios necesarios para "debianizar" el programa.
Generalmente se encuentra lo siguiente por defecto en el archivo sources.list:
# See sources.list(5) for more information, especialy # Remember that you can only use http, ftp or file URIs # CDROMs are managed through the apt-cdrom tool. deb http://http.us.debian.org/debian stable main contrib non-free deb http://non-us.debian.org/debian-non-US stable/non-US main contrib non-free deb http://security.debian.org stable/updates main contrib non-free # Uncomment if you want the apt-get source function to work #deb-src http://http.us.debian.org/debian stable main contrib non-free #deb-src http://non-us.debian.org/debian-non-US stable non-US
Éstas son las líneas necesarias para una instalación básica de Debian. La primer línea deb apunta al archivo en el servidor oficial, la segunda línea apunta hacia el archivo del servidor non-US y la tercer línea apunta hacia el archivo del servidor de actualizaciones de seguridad.
Las dos últimas líneas están deshabilitadas (con un "#" al inicio), así que apt-get las ignora. Éstas son las líneas de deb-src, esto es, apuntan hacia los paquetes fuente de Debian. Si frecuentemente descargas paquetes fuente para probar o recompilar, habilitalas (borrando el "#" al inicio de la línea).
El archivo /etc/apt/sources.list puede contener varios tipos de líneas. APT sabe como interpretar líneas del tipo http, ftp, file (archivos locales, p.e., un directorio que contiene un CD-ROM) y ssh, que yo tenga conocimiento.
Algunas veces se pueden llegar a tener muchos paquetes .deb los cuales te gustaria instalar utilizando APT para que las dependencias fueran resueltas automáticamente.
Para hacer esto, crea un directorio y coloca los .debs que quieras señalar en el. Por ejemplo:
mkdir /root/debs
Así pues, dentro del directorio /root, crea un archivo vacío, con cualquier nombre. Esto es porque un deposito APT necesita un archivo conocido como "override", puede estar vacío, pero tiene que existir. Se puede utilizar el siguiente comando para crear este archivo:
touch archivo
Dentro de este archivo se pueden definir opciones para descartar las que vienen por defecto en el paquete. Por ejemplo:
paquete prioridad sección
Paquete es el nombre del paquete o programa a instalar, la prioridad puede ser baja, media o alta y sección es la sección a donde pertenece. Es suficiente con dejar el archivo vacío.
Continuando en el directorio /root se hace lo siguiente:
dpkg-scanpackages debs archivo | gzip > debs/Packages.gz
En la línea anterior, archivo es el archivo de "override", el comando genera un archivo debs/Packages.gz el cual contiene información que APT necesita acerca de los paquetes. Para utilizar los paquetes, finalmente agrega:
deb file:/root debs/
Después de eso, utiliza los comandos de APT como siempre. También podrías
generar un deposito de fuentes de paquetes. Para hacer eso, haz exactamente lo
mismo, pero recuerda que necesitas tener los archivos
.orig.tar.gz, .dsc y .diff.gz en el
directorio y cambia Sources.gz por Packages.gz. El programa utilizado también
es diferente. Es el dpkg-scansources
. El comando completo se
vería así:
dpkg-scansources debs | gzip > debs/Sources.gz
Observa que dpkg-scansources
no necesita un archivo
"override". La línea de sources.list es:
deb-src file:/root debs/
Una duda frecuente, principalmente entre los usuarios novatos es: "¿Cuál servidor Debian debo incluir en el archivo sources.list?". Hay muchas formas de decidir esto. Los expertos podrían tener un script que determine el tiempo de un ping entre los distintos servidores. Pero hay un programa que hace esto por nosotros: netselect.
Para instalar netselect, hazlo así:
apt-get install netselect
Al ejecutarlo sin algún parámetro muestra la ayuda. Ejecutándolo con una lista de servidores separada por un espacio, regresará una lista con la puntuación del host. Esta lista considera el tiempo de ping y el numero de "saltos" (servidores por los cuales una petición de red debe pasar para alcanzar su destino) y es inversamente proporcional a la velocidad de descarga (la menor es la mejor). El servidor que regresa es aquel que tiene una puntuación menor (se puede ver la lista completa agregando la opción -vv). ejemplo:
bash$ netselect ftp.debian.org http.us.debian.org ftp.at.debian.org download.unesp.br ftp.debian.org.br 365 ftp.debian.org.br bash$
Esto significa que, de los servidores incluidos como parámetros en netselect, ftp.debian.org.br fue el mejor, con una puntuación de 365. (Atención, la puntuación depende de la localización geográfica, la topología de red, la distancia entre la computadora y los servidores, por lo tanto, depende de la computadora en la que se ejecute el comando sera otro el mejor servidor).
Ahora agrega el servidor más rápido encontrado por netselect en el archivo /etc/apt/sources.list ( regresa a El archivo /etc/apt/sources.list, Sección 2.1) sigue los pasos en Trabajando con paquetes, Capítulo 3.
Nota: la lista de los servidores se puede encontrar en el
archivo:http://www.debian.org/mirror/mirrors_full
.
Iniciando con la versión 0.3, el paquete netselect incluye el script netselect-apt, el cual realiza el proceso mencionado arriba automáticamente. Solo introduce el árbol de la distribución como parámetro (el cual, por defecto es "stable") y el archivo sources.list sera generado con los mejores servidores para main y non-US y sera guardado en el directorio actual. El siguiente ejemplo genera un archivo sources.list de una distribución estable
bash$ ls sources.list ls: sources.list: File or directory not found bash$ netselect-apt stable (...) bash$ ls -l sources.list sources.list bash$
Recuerda: el archivo sources.list se crea en el directorio actual, y debe moverse al directorio /etc/apt .
Después, sigue los pasos de Trabajando con paquetes, Capítulo 3.
Si prefieres utilizar el CD-ROM para instalar los paquetes o para actualizar tu sistema con APT, lo puedes agregar en tu archivo sources.list. Para hacerlo, puedes utilizar el programa apt-cdrom así:
apt-cdrom add
con el CD-ROM de Debian en la unidad. Esta instrucción montará el CD-ROM, y si es un CD valido de Debian buscará la información de los paquetes en el CD. Si la configuración de tu unidad de CD-ROM es inusual, tienes las siguientes opciones:
-h - program help -d directory - CD-ROM mount point -r - Rename a recognized CD-ROM -m - No mounting -f - Fast mode, don't check package files -a - Thorough scan mode
Por ejemplo:
apt-cdrom -d /home/kov/mycdrom add
También puedes identificar el CD-ROM sin agregarlo a tu lista:
apt-cdrom ident
Nota que este programa solo funcionará si el CD-ROM está configurado adecuadamente en el archivo /etc/fstab de tu sistema.
APT HOWTO
1.7.3 - September 2001kov@debian.org