[ anterior ] [ Contenidos ] [ 1 ] [ 2 ] [ 3 ] [ 4 ] [ 5 ] [ 6 ] [ 7 ] [ 8 ] [ 9 ] [ 10 ] [ 11 ] [ 12 ] [ 13 ] [ 14 ] [ 15 ] [ A ] [ siguiente ]


Guía de referencia Debian
Capítulo 2 - Fundamentos de Debian


Este capítulo proporciona información fundamental sobre el sistema Debian para aquellos que no son desarrolladores. Para información autorizada, consulte:i

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 archivos Packages.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):

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:


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.


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.

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.


2.2 Sistema de administración de paquetes Debian


2.2.1 Repaso sobre los paquetes Debian

Los paquetes contienen generalmente todos los archivos necesarios para implementar un conjunto de comandos relacionados o características. Existen dos tipos de paquetes Debian:

La instalación de software mediante el sistema de paquetes utiliza "dependencias" que fueron señaladas por las personas a cargo de los paquetes. Estas dependencias están documentadas en el archivo control asociado a cada paquete. Por ejemplo, el paquete que contiene el compiladodr C GNU (gcc) depende del paquete binutils que incluye el enlazador y ensamblador. Si un usario intenta instalar gcc sin haber previamente instalado binutils, el sistema de administración de paquetes (dpkg) mostrará un mensaje de error diciendo que necesita también a binutils y abortará la instalación de gcc (no obstante, el usuario insistente puede hacer caso omiso, véase dpkg(8)) Para más detalles, véase Dependencias entre paquetes, Sección 2.2.8 más abajo.

Las herramientas de los paquetes de Debian se pueden usar para:


2.2.2 Formato de los paquetes Debian

Un "paquete" Debian o un archivo Debian contiene los archivos ejecutables, bibliotecas y la documentación asociada con un programa particular o con un conjunto de programas relacionados. Normalmente, un archivo Debian tiene ua extensión de archivo que termina en .deb.

La estructura interna del formato de paquetes binarios de Debian se describen en la página del manual deb(5). Puesto que el formato interno está sujeto a cambios (entre los lanzamientos principales de Debian), siempre utilice dpkg-deb(1) para manipular archivos .deb. [1]

Los detalles internos de este formato de paquete binario de Debian se describen en la página del manual deb(5). Puesto que este formato está sujeto a cambios (entre los lanzamientos principales de Debian), siempre utilice dpkg-deb(1) para manipular archivos .deb.

Por lo menos en la distribución Sarge, todos los archivos del repositorio de Debian son manipulables por los comandos estándar Unix ar y tar, incluso cuando los comandos de dpkg no se encuentran disponibles.


2.2.3 Convención usada para designar a los paquetes Debian

Los nombres de los paquetes Debian siguen la siguiente convención:

     loquesea_ver-rev_arq.deb

donde generalmente loquesea es el nombre del paquete, ver es el nombre de versión, rev es el número de revisión y arq es la arquitectura. Por supuesto, los archivos se pueden fácilmente cambiar de nombre. Uno puede averiguar qué paquete esta realmente contenido en un nombre de archivo loquesea ejecutando el siguiente comando:

     dpkg --info loquesea

El número de revisión es asignado por el desarrollador Debian o por quien creó el paquete. Un cambio en el número de revisión generalmente indica que a cambiado algún aspecto del empaquetado.


2.2.4 Preservando la configuración local

Los archivos que pueden ser modificados por el administrador local se encuentran en /etc/. La política de Debian establece que durante la actualización de paquetes se deben conservar todos los cambios de archivos de configuración local.

Si con el propio paquete viene una versión predeterminada de un archivo configurable localmente éste se denomina "conffile". El sistema de administración de paquetes no actualiza los archivos de configuración que han sido modificados por el administrador. Por otra parte, si el archivo de configuración no ha sido modificado por el administrador, entonces será actualizado junto con el resto del paquete.

Para dstar los archivos de configuración de un paquete ejecute el siguiente comando:

     dpkg --status paquete

y consulte la línea "Conffiles:".

Para más información sobre los archivos de configuración puede consultar la sección "Archivos de configuración" del Manual de Normativa de Debian (véase Referencias, Sección 15.1).


2.2.5 Scripts de mantenimiento de Debian

Los scripts de mantenimiento de Debian son scripts ejecutables que se ejecutan automáticamente antes o después de la instalación de un paquete. Todos estos archivos, junto con otro llamado control, son parte de la sección "control" de un archivo Debian.

Los archivos individuales son:

preinst

Este script se ejecuta antes que su paquete sea desempaquetado de su archivo Debian (.deb). Muchos scripts "preinst" detienen los servicios de los paquetes que están siendo actualizados hasta que la actualización o instalación de los mismos haya finalizado (luego de la ejecución exitosa del script "postinst").

postinst

Generalmente este script completa la configuración requerida por un paquete una vez desempaquetado de su archivo Debian (.deb). A menudo, los scripts 'postinst' le piden al usuario ciertos datos y/o le advierte que si acepta los valores predeterminados deberá volver a reconfigurar el paquete cuando la situación lo requiera. Muchos scripts "postinst" a continuación ejecutan los comandos necesarios para reiniciar el servicio una vez que el paquete nuevo correspondiente haya sido instalado o actualizado.

prerm

Generalmente, este script detiene los demonios asociados a un paquete. Es ejecutado antes de la eliminación de los archivos relacionados con el mismo.

postrm

Generalmente, este script modifica los enlaces u otros archivos asociados a un paquete y/o elimina los archivos creados por él (véase, también Paquetes virtuales, Sección 2.2.7.)

Actualmente, todos los archivos de control se pueden encontrar en el directorio /var/lib/dpkg/info. Los archivos asociados al paquete loquesea comienzan con la palabra "loquesea" y llevan las extensiones "preinst", "postinst", etc., según corresponda. El archivo loquesea.list de este directorio lista todos los archivos que fueron instalados con el paquete loquesea (obsérvese, que la ubicación de estos archivos es interno a dpkg y puede estar sujeto a cambios)


2.2.6 Prioridad de los paquetes

Los encargados de la distribución, asignan a cada paquete Debian una prioridad para ayudar al sistema de administración de paquetes. Las prioridades son:

En la descripción del paquete nótese las diferencias entre "Prioridad: requerida", "Sección: base" y "Esencial: sí". "Sección: base" significa que el paquete se instalará antes que cualquier otro en un sistema nuevo. La mayoría de los paquetes de la "Sección: base" posee una "Prioridad requerida" o por lo menos una "Prioridad: importante" y muchos de ellos están marcados con la etiqueta "Esencial: sí". "Esencial: sí" significa que para que el sistema de administración de paquetes tal como dpkg pueda eliminarlo del mismo necesita de una opción extra para forzar su desinstalación. Por ejemplo, libc6, mawk y makedev tienen una "Prioridad: requerida" y una "Sección: base" pero no llevan la etiqueta "Esencial: sí".


2.2.7 Paquetes virtuales

Un paquete virtual es un nombre genérico que se le asigna a cualquier paquete de un grupo de paquetes que básicamente proporcionan la misma funcionalidad. Por ejemplo, tanto tin como trn son lectores de noticias y, por lo tanto, deberán satisfacer cualquier dependencia exigida por un programa que requiera de un lector de noticias a fin de que éste resulte útil. Se dice que ambos proporcionan el "paquete virtual" llamado news-reader.

De manera similar, muchos paquetes tales como exim, exim4, sendmail y postfix proporcionan la funcionalidad de un agente de transporte de correo. Por lo tanto, se dice que proporcionan el mismo paquete virtual mail transport agent. Si se instala alguno de los dos, cualquier programa que dependa de la instalación de un agente de transporte de correo se ejecutará sin problemas debido a la existencia de este paquete virtual.

Debian posee un mecanismo de modo que, si se instala en un sistema más de un paquete que proporciona el mismo paquete virtual, el administrador puede configurar uno de los dos como paquete preferido. El comando utilizado se llama update-alternatives y se describe mas adelante en Comandos alternativos, Sección 6.5.3.


2.2.8 Dependencias entre paquetes

El sistema de paquetes Debian maneja declaraciones de dependencia que se utilizan para expresar que un paquete necesita de la instalación de otro para funcionar.

Información más detallada sobre el uso de cada uno de estos términos se puede encontrar en el Manual para la creación de paquetes y el Manual de Normativa.

Obsérvese que dselect tiene un mayor control sobre los paquetes considerados como Recomendados y Sugeridos que apt-get, el cual simplemente obtiene todos los paquetes considerados como Dependientes y deja todos los paquetes considerados como Recomendados y Sugeridos. En sus versiones modernas ambos programas usan APT como interfaz.


2.2.9 Significado de "Pre-depende"

dpkg configura siempre primero el paquete del cual otro Depende. Sin embargo, dpkg generalmente desempaquete los archivos de los paquetes de modo arbitrario indpendientemente de las dependencias (desempaquetar consiste en extraer los archivos de un paquete y ubicarlos en el lugar correcto) No obstante, si un paquete Pre-Depende de otro éste último se desempaquetará y configurará primero. [2] El uso de esta dependencia se mantiene al mínimo.


2.2.10 Estado de un paquete

El estado de un paquete puede ser "unknown" (desconocido), "install" (para instalar), "remove" (para eliminar), "purge" (para purgar), o "hold" (en espera). Estas banderas indican lo que el usuario quiere hacer con un paquete (como viene indicado por las acciones del usuario en la sección "Select" de dselect o por la invocación directa de dpkg por parte del mismo).

Significados:


2.2.11 Evitando la actualización de un paquete

Existen dos mecanismos para evitar la actualización de un paquete, mediante dpkg o, comenzando con Woody, mediante APT.

Con dpkg, exporte primero la lista de las selecciones de paquetes:

       dpkg --get-selections > selections.txt

A continuación, edite el archivo resultante selecciones.txt, cambiando la línea que contiene el paquete que se desea conservar, por ejemplo libc6, de:

     libc6                       install

a:

     libc6                       hold

Guárdelo y actualice la base de datos de dpkg haciendo:

     dpkg --set-selections selectiones.txt

O, si conoce el nombre del paquete que desea conservar, simplemente escriba:

     echo libc6 hold | dpkg --set-selections

Este proceso conserva los paquetes durante el proceso de instalación de cada paquete.

El mismo efecto se puede obtener mediante dselect. Simplemente entre a la pantalla [S]elect, busque el paquete cuyo estado desea conservar y presione la tecla `=' (o la tecla `H'). Los cambios se producirán inmediatamente al salir de la pantalla.

En la distribución Woody el sistema a APT pose un mecanismo nuevo alternativo para conservar paquetes durante el proceso de obtención de archivos .deb usando Pin-Priority. Véase la página del manual apt_preferences(5) junto con http://www.debian.org/doc/manuals/apt-howto/ o el paquete apt-howto.


2.2.12 Paquetes fuente

Los paquetes fuente se distribuyen en un directorio denominado source y se pueden descargar manualmente o usar

     apt-get source loquesea

para conseguirlos (consulte la página del manual apt-get(8) para saber cómo configurar APT para que haga esto).


2.2.13 Construir un paquete binario a partir de un paquete fuente

Para un paquete loquesea, necesitará los archivos loquesea_*.dsc, loquesea_*.tar.gz y loquesea_*.diff.gz para compilar los fuentes (observación: para un paquete Debian nativo el paquete .diff.gz no existe).

Una vez que los tiene a todos, y si tiene instalado el paquete dpkg-dev , el comando

     dpkg-source -x loquesea_version-revision.dsc

extraerá el paquete en un directorio llamado loquesea-version.

Ejecutar el siguiente comando para construir el paquete binario:

     $ cd loquesea-version
     $ su -c "apt-get update ; apt-get install fakeroot"
     $ dpkg-buildpackage -rfakeroot -us -uc

Finalmente haga,

     # su -c "dpkg -i ../loquesea_version-revision_arch.deb"

para instalar el paquete recientemente construido. Véase Portar un paquete a la rama stable, Sección 6.4.10.


2.2.14 Creando paquetes Debian nuevos

Para una información más detallada, consulte la Guía para Nuevos Encargados de Paquetes de Debian disponible en el paquete maint-guide o en http://www.debian.org/doc/manuals/maint-guide/.


2.3 Actualizando un sistema Debian

Uno de los objetivos de Debian es proporcionar una manera de actualizar sin problemas, segura y fiable. El sistema de paquetes alerta al administrador sobre cambios importantes o, a veces, le solicita que tome decisiones.

También debería leer las Release Notes, el documento que describe los detalles sobre actualizaciones específicas, que acompañan a todos los CDs de Debian y disponibles en la WWW en http://www.debian.org/releases/stable/releasenotes o http://www.debian.org/releases/testing/releasenotes.

En Administración de paquetes Debian, Capítulo 6 se proporciona una guía práctica sobre actualizaciones. Esta sección describe solamente los detalles básicos comenzando con las herramientas de empaquetar.


2.3.1 dpkg

Este es el programa principal para manipular los archivos de un paquete ; consulte dpkg(8) para una descripción completa.

dpkg viene acompañado con diversos programas suplementarios primitivos.

dpkg-ftp y dpkg-mountable han quedado obsoletos luego de la introducción del sistema APT.


2.3.2 APT

APT (Advanced Packaging Tool) es una interfaz avanzada del sistema de paquetes de Debian que consiste en diversos programas cuyos nombres generalmente comienzan con "apt-". apt-get, apt-cache y apt-cdrom son herramientas de la línea de comandos para el manejo de paquetes. Estos también funcionan como frontales de usuario para otras herramientas tales como dselect y aptitude.

Para más información, instale el paquete apt y lea apt-get(8), apt-cache(8), apt-cdrom(8), apt.conf(5), sources.list(5), apt_preferences(5) (Woody) y /usr/share/doc/apt/guide.html/index.html.

Una fuente alternativa de información es el APT HOWTO. Éste se puede instalar mediante apt-howto en /usr/share/doc/apt-howto/en/apt-howto-en.html/index.html.

apt-get upgrade y apt-get dist-upgrade tienden a obtener todos los paquetes situados bajo "Dependen:" y descarta todos los paquetes listados en "Recomendados:" y "Sugeridos:". Para evitar esto, use dselect.


2.3.3 dselect

Este programa es una interfaz de usuario con menús para el sistema de administración de paquetes Debian. Particularmente resulta útil para las primeras instalaciones y actualizaciones a gran escala. Véase dselect, Sección 6.2.3.

Para más información, instale el paquete install-doc y lea /usr/share/doc/install-doc/dselect-beginner.en.html o Documentación dselect para principiantes.


2.3.4 Actualizando un sistema en funcionamiento

El kernel (el sistema de archivos) en los sistemas Debian admite el reemplazo de archivos incluso cuando están siendo usados. Cuando los paquetes son actualizados cualquier servicio proporcionado por estos paquetes son reiniciados si han sido configurados para ejecutarse en el nivel de ejecución presente. El sistema Debian no exige usar el modo monousuario para actualizar un sistema en funcionamiento.


2.3.5 Archivos .deb descargados y en caché

Si ha descargado manualmente los paquetes a su disco (lo cual no es en absoluto necesario, véase arriba para la descripción de dpkg-ftp o APT), entonces después de haber instalados puede eliminarlos de su sistema.

Si utiliza APT, los archivos se guardan en el caché situado en el directorio /var/cache/apt/archives. Tras la instalación puede eliminarlos (apt-get clean) o copiarlos al directorio /var/cache/apt/archives de otra máquina para economizar el tiempo de descarga para instalaciones posteriores.


2.3.6 Mantener un registro de las actualizaciones

dpkg mantiene un registro de los paquetes que han sido desempaquetados, configurados, eliminados y/o purgados pero (hasta el momento) no mantiene un registro de la actividad del terminal que tiene lugar cuando el paquete está siendo manipulado.

La manera más sencilla de superar este inconveniente consiste en ejecutar las sesiones de dpkg, dselect, apt-get, etc., con el programa script(1).


2.4 El proceso de arranque de Debian


2.4.1 El programa init

Al igual que todos los sistemas Unix, Debian arranca ejecutando el programa init. El archivo de configuración de init (que es el /etc/inittab) indica que el primer script que se debe ejecutar es el /etc/init.d/rcS.

Lo que ocurre a continuación depende de si se encuentra instalado el paquete sysv-rc o el file-rc. A continuación, supondremos que se encuentra instalado el paquete sysv-rc (file-rc contiene su propio script /etc/init.d/rcS y utiliza un archivo en vez de enlaces simbólicos en los directorios rc para controlar qué servicios se inician en los diferentes niveles de ejecución)

El archivo /etc/init.d/rcS del paquete sysv-rc ejecuta todos los scripts situados en /etc/rcS.d/ para realizar inicializaciones tales como la comprobación y montaje de los sistemas de archivos, la carga de módulos, la inicialización de los servicios de red, la configuración del reloj, etc. Luego, y por compatibilidad, también ejecuta todos los archivos (excepto aquellos con un `.' en su nombre) situados en /etc/rc.boot/. Este último directorio está reservado para el administrador del sistema y su utilización ha caído en desuso. Véase Trucos para la inicialización del sistema, Sección 9.1 y el Sistema de niveles de ejecución y scripts init.d en el Manual de Normativa de Debian para más información.

Debian no utiliza el directorio rc.local del tipo BSD.


2.4.2 Niveles de ejecución

Luego de completar el proceso de arranque, init inicia todos los servicios que han sido configurados para ejecutarse en el nivel de ejecución predeterminado. Este último viene indicado por una entrada id en el /etc/inittab. Debian viene con id=2.

Debian utiliza los siguientes niveles de ejecución:

Tambien puede utilizarse los niveles de ejecución 7, 8 y 9 pero sus directorios rc no se van llenando a medida que son instalados los paquetes.

Cambie los niveles de ejecución utilizando el comando telinit.

Al entrar a un nivel de ejecución se ejecutan todos los scripts ubicadosi en /etc/rcnivel_de_ejecución.d/. La primera letra del nombre del script determina la manera en que se ejecuta el script: Los scripts cuyos nombres comienzan con K se ejecutan con el argumento stop. Los scripts que comienzan con S se ejecutan con el argumento start. Los scripts se ejecutan de acuerdo al orden alfabético de sus nombres; de esta manera los scripts "stop" se ejecutan antes que los scripts "start" y los dos díguitos a continuación de K o S determinan el orden en que se ejecutan los scripts.

Los scripts situados en /etc/rcnivel_de_ejecución son de hecho sólo enlaces simbólicos que apuntan a los scripts situados en /etc/init.d/ Cada script también acepta como argumento "restart" y "force-reload"; estos métodos se pueden utilizar para reiniciar los servicios una vez que haya sido arrancado el sistema o forzarlos para que vuelvan a cargar sus archivos de configuración.

Por ejemplo:

     # /etc/init.d/exim4 force-reload

2.4.3 Personalizando los niveles de ejecución

La personalización de los niveles de ejecución es una tarea avanzada del administrador del sistema. Los siguientes consejos son válidos para la mayoría de los servicios.

Para habilitar el servicio servicio en el nivel de ejecución R cree el enlace simbólico /etc/rcR.d/Sxyservicio con objetivo ../init.d/servicio. El número de secuencia xy debe ser igual al asignado al servicio cuando fue instalado el paquete.

Para deshabilitar un servicio, cambie de nombre el enlace simbólico de modo que su nombre comience con K y no con S y su número de secuencia sea 100 menos xy.

Para estos fines, es conveniente usar un editor de niveles de ejecución tales como sysv-rc-conf o ksysv.

En vez de cambiarle el nombre, es posible eliminar el enlace simbólico S de un servicio de un directorio de niveles de ejecución determinado. Esto no deshabilita el servicio sino que lo deja en un estado "potencial" al menos en lo que respecta al sistema init sysv-rc : al cambiar de nivel de ejecución el servicio no se lo activará ni se lo detendrá sino que se lo dejará como estaba, independientemente si esta ejecutándose o no. Obsérvese, no obstante, que un servicio que está en este estado potencial se activará si se actualiza su paquete independientemente si estaba o no ejecutándose antes de la actualización. Este es un atajo conocido del sistema Debian actual. Nótese además que debería conservar los enlaces simbólicos K de un servicio en los niveles de ejecución 0 y 6. Si borra todos los enlaces simbolicos de un servicio, entonces al actualizar el paquete del mismo restaurará todos los enlaces simbólicos a su estado predeterminado de fábrica.

No es aconsejable realizar modificaciones a los enlaces simbólicos situados en /etc/rcS.d/.


2.5 En apoyo a la diversidad

Debian ofrece diversas alternativas para satisfacer los deseos del administrador del sistema sin dañar al sistema.

Cualquier archivo situado en /usr/local/ pertenece al administrador del sistema y Debian no los va a tocar. La mayoría los archivos situados en /etc/ son conffiles (archivos de configuración) y Debian no los sobreescribirá durante una actualización salvo que el administrador del sistema los solicite en forma explícita.


2.6 Internacionalización

El sistema Debian se encuentra internacionalizado y provee soporte para la visualización y entrada de caracteres en diversos idiomas, tanto en la consola como en X. Diversos, documentos, páginas del manual y mensajes del sistema han sido traducidos en un número creciente de idiomas. Durante la instalación, Debian le pide al usuario elegir el idioma de instalación ( y a veces una variante local del idioma)

Si el sistema que ha instalado no soporta todas las características que necesita de su idioma, si necesita cambiar de idioma o instalar un teclado diferente que soporte su idioma, consulte Localización y soporte de idiomas, Sección 9.7.


2.7 Debian y el kernel

Véase El kernel de Linux en Debian, Capítulo 7.


2.7.1 Compilando un kernel desde un fuente no perteneciente a Debian

Uno tiene que comprender la política de Debian en relación a las cabeceras.

Las bibliotecacs C de Debian se construyen con las versiones más reciente de las cabeceras del kernel de la rama estable.

Por ejemplo, la versión Debian-1.2 usaba la versión 5.4.13 de las cabeceras. Esta práctica contrasta con los paquetes fuentes del kernel de Linux distribuidos por todos los sitios de archivos FTP de Linux que usan incluso versiones más recientes de las cabeceras. Los archivos de cabecera del kernel distribuidos con los fuentes del mismo están ubicados en /usr/include/linux/include/.

Si necesita compilar un programa con las cabeceras del kernel que son más nuevas que las proporcionadas por libc6-dev debe incluir al compilar -I/usr/src/linux/include/ en la línea de comando. Esto me ocurrió una vez con el empaquetado del demonio automounter (amd). Cuando los nuevos núcleos cambiaron algunos detalles internos relacionados con el NFS, amd necesitaba saber de ellos. Esto me obligó a incluir las cabeceras de los últimos núcleos.


2.7.2 Herramientas para crear núcleos personalizados

A los usuarios que desean (o deben) crear un núcleo personalizado se les recomienda descargar el paquete kernel-package. Este paquete contiene el script para crear el paquete del kernel y proporciona la posibilidad de crear un paquete Debian kernel-image ejecutando el comando

     # make-kpkg kernel_image

en el directorio principal de los fuentes del kernel. La ayuda disponible se obtiene ejecutando el comando

     # make-kpkg --help

o mediante la página del manual make-kpkg(1). y El kernel de Linux en Debian, Capítulo 7.

Los usuarios deben descargar por cuenta propia el código fuente más reciente del núcleo (o del núcleo de su preferencia) de su sitio Linux favorito a menos que se encuentre disponible un paquete kernel-source-version (donde version hace referencia a la versión del kernel). El script de arranque initrd de Debian requiere de un parche especial para el kernel llamado initrd; véase http://bugs.debian.org/149236.

En el archivo /usr/doc/kernel-package/README se dan instrucciones detalladas para el uso del paquete kernel-package.


2.7.3 Cuidados especiales para tratar con módulos

El paquete modconf de Debian proporciona un script de shell (/usr/sbin/modconf) que se puede usar para personalizar la configuración de los módulos. Este script presenta una interfaz basada en menús en donde el usuario puede elegir los distintos controladores de dispositivos que se pueden cargar en el sistema. Las respuestas se utilizan para personalizar el archivo /etc/modules.conf (que contiene los alias y demás argumentos que se deben usar para los diferentes módulos) gracias a los archivos /etc/modutils/ y /etc/modules (que contiene los módulos que se deben cargar durante el arranque).

Al igual que los archivos (nuevos) Configure.help que ahora están disponibles para admitir la construcción de núcleos personalizados, el paquete modconf package viene con una serie de archivos de ayuda (en /usr/share/modconf/) que proporcionan información detallada sobre los argumentos apropiados para cada uno de los módulos. Véase El kernel modular 2.4, Sección 7.2 para algunos ejemplos.


2.7.4 Desinstalando el paquete de un kernel antiguo

El script kernel-image-NNN.prerm comprueba si el kernel que está actualmente ejecutando es el mismo que el que está intentando desinstalar. Por lo tanto, puede eliminar de manera segura los núcleos que no desea seguir usando con el siguiente comando:

     # dpkg --purge --force-remove-essential kernel-image-NNN

(obviamente, hay que reemplazar NNN por el número de versión y revisión de su kernel)


[ anterior ] [ Contenidos ] [ 1 ] [ 2 ] [ 3 ] [ 4 ] [ 5 ] [ 6 ] [ 7 ] [ 8 ] [ 9 ] [ 10 ] [ 11 ] [ 12 ] [ 13 ] [ 14 ] [ 15 ] [ A ] [ siguiente ]


Guía de referencia Debian

CVS, jue ene 18 11:52:44 UTC 2007

Osamu Aoki osamu#at#debian.org
Coordinador de la traducción al español: Walter O. Echarri wecharri#at#infovia.com.ar
Autores, Sección A.1