Capítulo 2 – Fundamentos de Debian
- 2.1 Los archivos Debian
- 2.1.1 Estructura de los directorios
- 2.1.2 Distribuciones Debian
- 2.1.3 La distribución estable
- 2.1.4 La distribución de prueba
- 2.1.5 La distribución inestable
- 2.1.6 La distribución congelada
- 2.1.7 Los nombres de versión de la distribución Debian
- 2.1.8 Nombres de versión usados en el pasado
- 2.1.9 El origen de los nombres de versión
- 2.1.10 El directorio pool
- 2.1.11 Algunas notas históricas sobre Sid
- 2.1.12 Transferencias de paquetes en incoming/
- 2.1.13 Recuperando una paquete antiguo
- 2.1.14 Distintas arquitecturas
- 2.1.15 El código fuente
Este capítulo proporciona información fundamental sobre el sistema Debian para aquellos que no son desarrolladores. Para información autorizada, consulte:i
- Manual de Normativa de Debian
- Referencia para los Desarrolladores de Debian
- Guía para Nuevos Encargados de Paquetes de Debian
listada en la sección Referencias, Sección 15.1.
Si está buscando explicaciones menos detalladas, vaya directamente a la Administración de paquetes Debian, Capítulo 6 o a los capítulos adecuados.
Este capítulo se basa en información obtenida de las “FAQ de Debian” reorganizada totalmente a fin de permitir dar sus primeros pasos a los administradores de sistemas Debian.
2.1 Los archivos Debian
2.1.1 Estructura de los directorios
El software que ha sido empaquetado para Debian está disponible en alguno de los diversos árboles de directorios situados en cada sitio réplica Debian a través de FTP o HTTP.
En cada sitio réplica de Debian, bajo el directorio debian se pueden encontrar los siguientes directorios:
dists/:- Este directorio contiene las “distribuciones” y se utilizan para acceder a los paquetes actualmente disponibles en las versiones y pre-versiones de Debian. Aún se pueden encontrar aquí algunos paquetes antiguos, archivos
Contents-*.gz, y archivosPackages.gz.
pool/:- La nueva ubicación de todos los paquetes de todas las versiones y versiones previas de Debian.
tools/:- Utilidades del DOS para crear discos de arranque, particionar su unidad de disco, comprimir/descomprimir archivos y arrancar Linux.
doc/:- La documentación básica de Debian: FAQ, instrucciones para dar a conocer un fallo, etc.
indices/:- El archivo Maintainers y los archivos override.
project/:- principalmente recursos para el desarrollador, tales como:
project/experimental/:- Este directorio contiene paquetes y herramientas que aún están en desarrollo y en la etapa alfa de prueba. Los usuarios no deberían usar estos paquetes ya que pueden resultar peligrosos y perjudicial incluso para los más experimentados.
project/orphaned/:- Paquetes que han sido abandonados por las personas los tenían a cargo y que han sido retirados de la distribución.
2.1.2 Distribuciones Debian
Normalmente existen tres distribuciones Debian en el directorio dists: la distribución estable (stable) , la distribución de prueba (testing) y la distribución inestable (unstable). A veces existe una distribución congelada (véase La distribución congelada, Sección 2.1.6). Cada distribución viene definida por un enlace simbólico al directorio real, utilizando un nombre de código en el directorio dists
2.1.3 La distribución estable
Los paquetes de la versión estable, Debian Sarge (3.1r0), se encuentran en el directorio stable (enlace simbólico a sarge):
stable/main/: Este directorio contiene los paquetes que pertenecen a la versión oficial más reciente del sistema Debian.Todos estos paquetes son libres, es decir, están de acuerdo conLas directivas del Software Libre de Debian(DFSG) (también disponible como/usr/share/doc/debian/social-contract.txtque se instala mediantedebian-doc).
stable/non-free/: este directorio contiene paquetes que no se pueden considerar como libres de acuerdo con la DFSG.Por ejemplo, algunos paquetes tienen licencias que prohiben su distribución comercial. Otros pueden ser redistribuidos pero, de hecho, son shareware.
stable/contrib/: este directorio contiene paquetes que son libres de acuerdo con la DFSG pero que dependen de algún modo de otro paquete que no es libre.
Actualmente, además de las ubicaciones anteriores, los paquetes nuevos se encuentran físicamente en el directorio pool (El directorio pool, Sección 2.1.10).
El estado actual de los fallos de la distribución estable se puede consultar en la página web Stable Problems.
2.1.4 La distribución de prueba
Los paquetes de la versión de prueba, Debian Etch, se encuentran en el directorio testing (enlace simbólico a etch) tras haber sido probados durante cierto tiempo en la rama inestable. Actualmente, además de las ubicaciones anteriores, los paquetes nuevos se localizan en el directorio pool (El directorio pool, Sección 2.1.10). Asimismo, también están los subdirectorios main, contrib y non-free que cumplen las mismas funciones que en la rama estable.
Estos paquetes deben estar en sintonía con todas las arquitecturas para las cuales fueron construidos y deben poder instalarse; además, deben tener menos fallos críticos que las versiones que se encuentran en la rama inestable. De esta manera, es de esperar que la rama de prueba sea la posible candidata de la próxima versión. Más detalles sobre este mecanismo en: http://www.debian.org/devel/testing.
El estado final de la distribución de prueba se puede consultar en los siguientes sitios:
update excusestesting problemsrelease-critical bugsbase system bugsbugs in standard and task packagesother bugs and bug-squashing party notes
2.1.5 La distribución inestable
Los paquetes de la versión inestable, denominada siempre “Sid”, se encuentran en el directorio unstable (enlace simbólico a sid) tras haber sido transferidos al archivo Debian y permanecer allí hasta su translado a la rama de prueba Actualmente, además de las ubicaciones anteriores, los paquetes nuevos se ubican en el directorio pool (El directorio pool, Sección 2.1.10). Asimismo, también están los subdirectorios main, contrib y non-free que cumplen las mismas funciones que en la rama estable.
La distribución inestable contiene la imagen más reciente del sistema en desarrollo. Se alienta a los usuarios a usar y probar estos paquetes pero se les advierte sobre su estado. La ventaja de usar la distribución inestable es que uno siempre está actualizado con lo último del proyecto Debian— pero si deja de funcionar deberá conservar ambas partes
El estado actual de los fallos de la distribución inestable se puede consultar en la página web Problemas de la rama inestable.
2.1.6 La distribución congelada
Cuando la distribución de prueba está suficientemente madura se “congela”, es decir, ya no se aceptan programas nuevos y -de ser necesario- sólo se eliminan fallos. Asimismo, en el directorio dists se crea un nuevo árbol “de prueba” al que se le asigna un nuevo nombre. La distribución congelada está durante algunos meses de prueba con actualizaciones continuas y congelaciones totales denominadas `ciclos de prueba.
En la distribución congelada se mantiene un registro de fallos que pueden retrasar la liberación de un paquete o de la distribución completa. Una vez que los fallos están por debajo de los valores máximos aceptables, la distribución congelada se transforma en la distribución estable, es liberada y la versión estable anterior se vuelve obsoleta (y se archiva).
2.1.7 Los nombres de versión de la distribución Debian
Los nombres de los directorios situados en el directorio dists, tales como sarge y etch, son simplemente los “nombres de versión”. Cuando una distribución Debian se encuentra en la etapa de desarrollo, no tiene número de versión sino un “nombre de versión”. El propósito de estos nombres es facilitar la replicación de la distribuciones Debian (si un directorio como unstable cambia de repente su nombre a stable, sin ser necesario, se tendrían que descargar un montón de cosas nuevamente).
Actualmente, stable/ es un enlace simbólico a sarge y testing/ es un enlace simbólico a etch. Esto significa que Sarge es la distribución estable y Etch la distribución de prueba actuales.
unstable es un enlace simbólico permanente a sid/, ya que Sid siempre es la distribución inestable.
2.1.8 Nombres de versión usados en el pasado
Nombres de versión que ya han sido usados: “Buzz” para la versión 1.1, “Rex” para la versión 1.2, “Bo” para la versión 1.3.x, “Hamm” para la versión 2.0, “Slink” para la versión 2.1, “Potato” para la versión 2.2, “Woody” para la versión 3.0 y “Sarge” para la versión 3.1.
2.1.9 El origen de los nombres de versión
Hasta aquí han sido tomados de la película Toy Story de Pixar.
- Buzz (Buzz Lightyear) era el cosmonauta,
- Rex era el tiranosaurio,
- Bo (Bo Peep) era la niña que cuidaba la oveja,
- Hamm era el cerdito alcancía,
- Slink (Slinky Dog) era el perro de juguete,
- Potato era, por supuesto, el Sr. Potato,
- Woody era el vaquero.
- Sarge era el líder del ejército de plástico verde,
- Etch (Etch-a-Sketch) era el pizarón,
- Sid era el vecinito que destruyó los juguetes.
2.1.10 El directorio pool
Históricamente, los paquetes se guardaban en el subdirectorio dists correspondiente a una determinada distribución. Esto ocasionaba diversos problemas, como -por ejemplo- un gran consumo del ancho de banda de los sitios réplicas cuando se realizaban grandes cambios.
Actualmente, los paquetes se guardan en un gran `depósito’, estructurado según el nombre del paquete fuente. Para facilitar su uso, el depósito está subdividido en secciones (main, contrib y non-free) y por la primer letra del nombre del paquete fuente. Estos directorios contienen diversos archivos: los paquetes binarios para cada arquitectura y los paquetes fuentes a partir de los cuales se han generado los mismos.
Puede averiguar el lugar donde se encuentra un paquete ejecutando el comando apt-cache showsrc nombre_paquete y leyendo la línea que dice `Directory:’. Por ejemplo, los paquetes de apache se encuentran en pool/main/a/apache/. Puesto que existen tantos paquetes lib* estos son tratado de una manera especial: por ejemplo, los paquetes libpaper se encuentran en pool/main/libp/libpaper/.
Los directorios dists aún se siguen utilizando para los archivos índice usados por programas como apt. De todas maneras, al momento de escribir este doucmento, las distribuciones antiguas no han sido modificadas para usar estos ‘depósitos’ por lo que verá rutas que contienen nombres de distribuciones tales como potato o woody en el campo de cabecera “Directory”.
Normalmente, no se debe preocupar por nada de esto ya que la reciente apt y probablemente la antigua dpkg-ftp se harán cargo en forma totalmente transparente. Si desea más información, consulte las RFC: implementación de las herramientas de paquetes.
2.1.11 Algunas notas históricas sobre Sid
Cuando la actual Sid no existía, la organización del archivo Debian adolecía de un grave inconveniente: se suponía que cuando una arquitectura era creada en la rama inestable, iba a ser liberada cuando la distribución se transformara en la nueva versión estable. Para muchas arquitecturas éste no era el caso con lo cual los correspondientes directorios debían desplazarse ante un nuevo lanzamiento. Esto no resultaba práctico ya que esta acción consumía ingentes cantidades de ancho de banda.
Los administradores del archivo evitaron el problema durante muchos años ubicando los binarios de las arquitecturas no liberadas en un directorio especial llamado sid. Cerca del lanzamiento de estas arquitecturas se creaba un enlace entre la versión estable y sid y a partir de allí eran creadas dentro de la rama inestable de manera normal. Esta disposición era un tanto confusa para los usuarios.
Con la llegada de los repositorios de paquetes (véase El directorio pool, Sección 2.1.10) durante el desarrollo de la distribución Woody, los paquetes binarios comenzaron a guardarse en un lugar estándar del depósito, independientemente de la distribución, de modo que al liberar una distribución no se produciera un gran consumo de ancho de banda en los sitios réplica (existe, no obstante, un consumo gradual del ancho de banda durante el proceso de desarrollo).
2.1.12 Transferencias de paquetes en incoming/
Los paquetes transferidos primero se ubican en http://incoming.debian.org/ luego de haber sido analizados para asegurar que realmente provienen de un desarrollador de Debian (y son ubicados en el subdirectorio DELAYED en el caso de una transferencia de una persona que no es encargada: Non-Maintainer Upload (NMU)). Una vez por día, se transladan de incoming/ a unstable/.
En una emergencia, si desea instalar paquetes desde incoming/ antes de ir a unstable/.
2.1.13 Recuperando una paquete antiguo
Mientra que las distribuciones de Debian más recientes se encuentran en el directorio debian de cada sitio réplica, los archivos de las antiguas distribuciones de Debian tales como Slink se guardan en http://archive.debian.org/ o en el directorio debian-archive de cada sitio réplica de Debian.
Los paquetes antiguos de la rama de prueba e inestable se pueden localizar en http://snapshot.debian.net/.
2.1.14 Distintas arquitecturas
Dentro de cada uno de los árboles de directorios principales (dists/stable/main, dists/stable/contrib, dists/stable/non-free, dists/unstable/main, etc.) las entradas de los paquetes binarios residen en subdirectorios cuyos nombres indican la arquitectura para la cual fueron compilados.
binary-all/para paquetes no dependen de la arquitectura. Aquí se incluyen, por ejemplo, scripts escritos en Perl o documentación.
binary-platform/para paquetes que se ejecutan en una plataforma determinada.
Por favor, observe que los paquetes binarios para la versión de prueba y la versión inestable ya no residen en estos directorios sino en el directorio de nivel superior pool. No obstante, por cuestiones de compatibilidad hacia atrás se siguen conservando los archivos índice (Packages y Packages.gz).
Para las arquitectura binarias actualmente soportadas, consulte las Release Notes de cada distribución. Se pueden ubicar en los sitios de Notas de versión para stable y testing.
2.1.15 El código fuente
En el sistema Debian se incluye el código fuente para todo. Por otra parte, los términos de la licencia de la mayoría de los programas del sistema exigen que se distribuyan junto con su código fuente o que proporcionen una manera de obtenerlo.
Normalmente el código fuente se distribuye a través de los directorios source, que son paralelos a todos los directorios que contienen los binarios correspondiente a una arquitectura específica o, más recientemente, en el directorio pool (véase El directorio pool, Sección 2.1.10). Para obtener el código fuente sin estar familiarizado con la estructura del archivo Debian, pruebe hacer apt-get source nombre_paquete.
Algunos paquetes, en especial pine, se distribuyen únicamente como código fuente debido a las limitaciones impuestas por su licencia (hace poco se ha incluido el paquete pine-tracker para facilitar la instalación de Pine). El procedimiento descrito en Portar un paquete a la rama stable, Sección 6.4.10 y Creación de paquetes Debian, Sección 13.10 describe la manera de contruir un paquete en forma manual.
Para los paquetes de los directorios “contrib” y “non-free”, que formalmente no forman parte del sistema Debian, el código fuente puede o no estar disponible.
Popularity: 1% [?]





























