Provided by: debconf-doc_1.5.66ubuntu1_all 

NOMBRE
debconf.conf - Fichero de configuración de debconf
DESCRIPCIÓN
Debconf es un sistema de configuración de paquetes de Debian. «/etc/debconf.conf» y «~/.debconfrc» son
los ficheros de configuración que usa debconf para determinar las bases de datos que debería usar. Estas
bases de datos guardan dos tipos de información; los datos dinámicos de configuración que el usuario
introduce, y datos estáticos de plantilla. Debconf ofrece un sistema de base de datos flexible y
extensible. Puede crear controladores nuevos con un esfuerzo mínimo, y combinar conjuntos de
controladores de varias maneras.
SINOPSIS
# Este es un fichero de configuración de
# ejemplo suficiente para usar debconf.
Config: configdb
Templates: templatedb
Name: configuración-base-de-datos
Driver: File
Filename: /var/cache/debconf/config.dat
Name: base-de-datos-de-plantillas
Driver: File
Mode: 644
Filename: /var/cache/debconf/templates.dat
FORMATO DEL FICHERO
El formato de este fichero es una serie de definiciones separadas, como mínimo, por una línea vacía. Se
ignoran las líneas de comentario que empiezan con «#».
La primera definición del fichero es especial, y se usa para configurar debconf al completo. Es necesario
que haya dos campos en la primera definición:
Config Define el nombre de la base de datos desde la cual cargar los datos de configuración.
Templates
Define el nombre de la base de datos a usar para el almacén («caché») de plantillas.
Los campos adicionales que se pueden usar incluyen:
Frontend
La interfaz que Debconf debería usar, anulando cualquier interfaz definida en la base de
datos de debconf.
Priority
La prioridad que Debconf debería usar, anulando cualquier prioridad definida en la base de
datos de debconf.
Admin-Email
La dirección de correo electrónico al que Debconf debería enviar un correo para asegurar
que el administrador ve un mensaje de importancia. El valor predefinido es «root», pero
puede definir cualquier dirección de correo electrónico válido al que enviar el correo. Si
desea que debconf nunca le mande un correo, deje un espacio en blanco en lugar de una
dirección. Esto se puede anular en el momento con la variable de entorno
«DEBCONF_ADMIN_EMAIL».
Debug Si se define, hará que debconf muestre información de depuración a través de la salida de
error estándar. El valor con el que se define puede ser algo como «user», «developer», «db»
o una expresión regular. Habitualmente, querrá activar la depuración sólo ocasionalmente en
lugar de definirlo permanentemente en el fichero de configuración. Para ello puede definir
la variable de entorno «DEBCONF_DEBUG».
NoWarnings
Si se define, evitará que debconf muestre avisos relacionados con varios eventos. Puede
anular esto en el momento con la variable de entorno «DEBCONF_NOWARNINGS».
Log Hace que debconf registre la información de depuración en el registro del sistema
(«syslog») durante la ejecución. El valor con el que se define controla qué se registra.
Consulte «Debug», más arriba, para una explicación de los valores que se pueden definir
para controlar lo que se registra.
Terse Si se define con «true» (verdadero), hará que algunas interfaces de debconf usen un modo
conciso («terse») que muestra en la salida la mínima información posible. «false» por
omisión. El modo conciso se puede activar temporalmente mediante la variable de entorno
«DEBCONF_TERSE».
Por ejemplo, la primera definición de un fichero puede tener este aspecto:
Config: configuración-base-de-datos
Templates: base-de-datos-de-plantillas
Cada definición restante en el fichero configura una base de datos. Una definición de una base de datos
empieza denominando la base de datos:
Name: configuración-base-de-datos
Después, se indica el controlador que se debería usar para esta base de datos. Consulte «CONTROLADORES»,
más abajo, para información acerca de los controladores disponibles.
Driver: File
Puede indicar que la base de datos no es esencial para el correcto funcionamiento de debconf indicando
que no es obligatorio. Esto hará que debconf prosiga en el caso de que la base de datos falle.
Required: false
Puede marcar la base de datos como de sólo lectura, y debconf no escribirá nada en él.
Readonly: true
También puede limitar el tipo de datos que pueden entrar en la base de datos con las líneas «Accept-» y
«Reject-»; consulte más abajo la sección «CONTROLES DE ACCESO».
El resto de la definición de cada base de datos se usará para proporcionar información específica de ese
controlador. Por ejemplo, el controlador «Text» necesita conocer el directorio donde alojar la base de
datos, así que podría usar:
Filename: /var/cache/debconf/config.dat
CONTROLADORES
Dispone de un gran número de controladores («drivers»), y puede escribir más con poca dificultad. Los
controladores son de dos tipos generales. Primero están los controladores reales; controladores que
acceden y guardan datos de forma directa en algún tipo de base de datos, el cual puede estar en el
sistema de ficheros actual o en un sistema remoto. Después están los metacontroladores, que combinan
otros controladores para así crear sistemas más interesantes. Vamos a empezar con el primero.
File
Este controlador de base de datos permite que debconf guarde una base de datos completa en un
único fichero de texto simple. Esto facilita su archivado, transferencia entre máquinas y edición.
Es uno de los formatos de base de datos más compacto en términos del espacio en disco que usa.
También es uno de los más lentos.
La desventaja es que el fichero se tiene que leer por completo cada vez que debconf arranca, y el
acto de guardar también es lento.
Puede configurar las siguientes opciones de este controlador.
Filename
El fichero a usar como base de datos. Este campo es obligatorio.
Mode Los permisos a otorgar al fichero en caso de que no existe. El valor por omisión es
600, ya que en algunos casos el fichero puede contener contraseñas.
Format El formato del fichero. Consulte «FORMATOS» más abajo. El valor por omisión es un
formato tipo rfc-822.
Backup Si se debería crear una copia de respaldo del fichero antiguo antes de modificarlo.
«true» por omisión.
Una definición de ejemplo configurando una base de datos con este controlador:
Name: mi-base-de-datos
Driver: File
Filename: /var/cache/debconf/mydb.dat
DirTree
Este controlador de base de datos permite a debconf guardar datos en una estructura jerárquica de
directorios. Los nombres de las diferentes plantillas de debconf y preguntas se usan literalmente
para crear los directorios que contienen ficheros. El formato de esta base de datos es la más
fácil de explorar y manipular directamente. Tiene una gran velocidad de carga y guardado de datos.
Habitualmente, es el que ocupa más espacio, ya que varios ficheros pequeños y subdirectorios toman
un espacio adicional.
Puede configurar las siguientes opciones de este controlador.
Directory
El directorio donde guardar los ficheros. Obligatorio.
Extension
La extensión a añadir a los nombres de fichero. Se debe definir con una cadena no
vacía: «.dat» por omisión.
Format El formato del fichero. Consulte «FORMATOS» más abajo. El valor por omisión es un
formato tipo rfc-822.
Backup Si se debería crear una copia de respaldo del fichero antiguo antes de modificarlo.
«true» por omisión.
Una definición de ejemplo configurando una base de datos con este controlador:
Name: mi-base-de-datos
Driver: DirTree
Directory: /var/cache/debconf/mydb
Extension: .txt
PackageDir
Este controlador de base de datos es un arreglo entre las bases de datos «File» y «DirTree». Usa
un directorio en el que hay, aproximadamente, un fichero por cada paquete que usa debconf. Es
habitualmente rápido, aunque toma más espacio que el controlador de base de datos «File».
Este controlador se puede configurar de la misma forma que el controlador «DirTree», y también
acepta lo siguiente:
Mode Los permisos a otorgar al fichero. El valor por omisión es 600, ya que en algunos casos los
ficheros pueden contener contraseñas.
Una definición de ejemplo configurando una base de datos con este controlador:
Name: mi-base-de-datos
Driver: PackageDir
Directory: /var/cache/debconf/mydb
LDAP
AVISO: Este controlador de base de datos está aún en una fase experimental. Usar con precaución.
Este controlador de base de datos accede a un directorio LDAP para los datos de configuración de
debconf. Debido a la naturaleza de la bestia, se debería acceder a directorios LDAP en modo de
sólo lectura. Esto se debe a que puede que acceda varias veces simultáneamente, y es generalmente
beneficioso para la consistencia de los datos si nadie intenta modificarlos mientras esto ocurre.
Por supuesto, se permite el acceso para la escritura en aquellos casos en los que desea actualizar
los datos de configuración en ese directorio.
Para más información acerca de como configurar un servidor LDAP para debconf, consulte
«/usr/share/doc/debconf-doc/README.LDAP», en el paquete debconf-doc.
Necesita instalar el paquete libnet-ldap-perl para usar este controlador de base de datos. Debconf
sugiere ese paquete, pero no depende de él.
Considere cuidadosamente las implicaciones de seguridad de usar una base de datos remota de
debconf. No es algo muy seguro a menos que confíe en la fuente y la red mediadora.
Puede configurar las siguientes opciones de este controlador.
server El nombre de sistema o dirección IP de un servidor LDAP al que conectarse.
port El puerto con el que conectarse al servidor LDAP. Si no se proporciona ninguno, se
usa el puerto predefinido.
basedn El nombre distinitivo (DN, «Distinguished name») bajo el cual se guardarán todos los
elementos de configuración. Se supondrá que cada elemento de configuración se aloja
en un DN tipo cn=<elemento nombre>,<Base DN>. Si no sigue esta estructura, todo
estará perdido.
binddn El DN con el que unirse («bind») con el directorio. Si no se define, se usará una
unión anónima.
bindpasswd
La contraseña a usar en una unión identificada (usar con binddn, más arriba). Si no
se define, se usará una unión anónima.
No se debería usar esta opción para el uso general. La unión anónima debería ser
suficiente en la mayoría de los casos para el acceso de sólo lectura. Definir un DN
de unión y contraseña se debería reservar para el caso ocasional en el que desea
actualizar la configuración de los datos de debconf.
keybykey
Activa el acceso a entradas LDAP individuales, en lugar de obtenerlos todos a la vez
al inicio. Esto es útil cuando desea supervisar los registros de LDAP para claves de
debconf solicitadas explícitamente. De esta manera, también puede escribir código de
control personalizado en la parte del servidor LDAP.
Tenga en cuenta que cuando esta opción está activada, la conexión con el servidor
LDAP se mantiene activa durante la ejecución de Debconf. Es un poco diferente del
comportamiento «all-in-one» (todo en uno) en el que se realizan dos breves
conexiones a LDAP; una al principio para obtener todas las entradas, y otra al final
para guardar cambios eventuales.
Esta es una definición de ejemplo que configura una base de datos usando este controlador,
suponiendo que la base de datos remota está en «example.com», y que permite el acceso anónimo:
Name: base-de-datos-ldap
Driver: LDAP
Readonly: true
Server: example.com
BaseDN: cn=debconf,dc=example,dc=com
KeyByKey: 0
Otro ejemplo, esta vez la base de datos LDAP está en el sistema local («localhost»), y que permite
su escritura:
Name: base-de-datos-ldap
Driver: LDAP
Server: localhost
BaseDN: cn=debconf,dc=domain,dc=com
BindPasswd: secret
KeyByKey: 1
Pipe
Este controlador de base de datos de propósito especial permite leer y escribir la base de datos
desde la entrada y salida estándar. Puede ser útil para las personas con necesidades especiales.
Puede configurar las siguientes opciones de este controlador.
Format El formato en el que leer y escribir. Consulte «FORMATOS» a continuación. El valor
por omisión es un formato tipo rfc-822.
Infd El número del descriptor de fichero desde el que leer. Lee la entrada estándar por
omisión. Si se define con «none» (ninguno), la base de datos no leerá ningún dato en
el arranque.
Outfd El número del descriptor de fichero al que escribir. Escribe por la salida estándar
por omisión. Si se define con «none» (ninguno), la base de datos se desechará al
apagar.
Estos son todos los controladores reales, pasemos ahora a los metacontroladores.
Stack
Este controlador apila un número de bases de datos de cualquier tipo, y permite el acceso como si
fuesen una única base de datos. Cuando debconf solicita un valor, la primera base de datos en la
pila que contiene el valor lo devuelve. Si debconf escribe en la base de datos, lo escrito,
generalmente, se guarda en el primer controlador de la pila que contiene el elemento que debconf
está modificando, y si ninguno lo tiene, el elemento nuevo se añade a la primera base de datos en
la pila que permita su escritura.
La cosa se pone más interesante si una de las bases de datos de la pila es de sólo lectura.
Suponga una pila de bases de datos foo, bar y baz, donde foo y baz son de sólo lectura. Debconf
desea modificar un elemento, y este elemento sólo está presente en baz, de sólo lectura. El
controlador «stack» es suficientemente inteligente como para darse cuenta de que no funcionará, y
copiará el elemento de baz a bar, donde tomará lugar la escritura. Ahora el elemento en baz está
oculto por el elemento en bar, y ya nunca será visible para debconf.
Este tipo de cosas son particularmente útiles cuando desea que muchos sistemas se relacionen con
una base de datos central de sólo lectura, a la vez que permite que ciertas cosas sean anuladas en
cada sistema. Cuando añade los controles de acceso al dibujo, las pilas permiten hacer otras cosas
interesantes, como redirigir todas las contraseñas a una sola base de datos, mientras que otra
base de datos inferior en la pila gestiona todo lo demás.
Sólo se necesita un elemento de configuración para crear una pila:
Stack Aquí es donde define la lista de bases de datos por nombre, para indicar qué compone
la pila.
Por ejemplo:
Name: mega-base-de-datos
Driver: stack
Stack: contraseña-base-de-datos, configuración-base-de-datos compañía-base-de-datos
AVISO: El controlador «stack» aún no está bien comprobado. Utilice bajo su propio riesgo.
Backup
Este controlador introduce todas las peticiones a otro controlador de base de datos. Pero también
copia todas las peticiones de escritura a un controlador de base de datos de respaldo.
Debe definir los siguientes campos para configurar este controlador:
Db La base de datos desde la que leer y escribir.
Backupdb
El nombre de la base de datos a la que enviar copias de los datos escritos.
Por ejemplo:
Name: respaldo
Driver: Backup
Db: mi-base-de-datos
Backupdb: mi-base-de-datos-de-respaldo
Debug
Este controlador introduce todas las peticiones a otro controlador de base de datos, mostrando
información detallada de depuración acerca de la solicitud y el resultado.
Debe definir los siguientes campos para configurar este controlador:
Db La base de datos desde la que leer y escribir.
CONTROLES DE ACCESO
Cuando configura una base de datos, también puede usar algunos campos para definir los controles de
acceso. Puede definir que una base de datos sólo acepte contraseñas, por ejemplo, o hacer que una base de
datos sólo acepte elementos con «foo» en su nombre.
Readonly
Tal y como se mencionó anteriormente, si se define este control de acceso como «true» hará que la
base de datos sea de sólo lectura. Debconf leerá los valores de él, pero nunca escribirá nada.
Accept-Name
El texto en este campo es una expresión regular compatible con Perl que se compara con los nombres
de elementos de la base de datos a medida que se solicitan. La base de datos sólo permitirá a
debconf que lo acceda o modifique si el nombre del elemento coincide con la expresión regular.
Reject-Name
Igual que «Accept-Name», sólo que rechazará todo elemento cuyo nombre coincida con esta expresión
regular.
Accept-Type
Otra expresión regular. Se compara con el tipo del elemento al que se está accediendo. Sólo se
permite el acceso si el tipo coincide con la expresión regular.
Reject-Type
Igual que «Accept-Type», sólo que se rechazará todo tipo que coincida con esta expresión regular.
FORMATOS
Algunos de los controladores de base de datos usan módulos de formato para controlar el formato real en
el que la base de datos se guarda en el disco. Estos son los formatos aceptados actualmente:
822 Este es un formato de fichero vagamente basado en el formato rfc-822 para cabeceras de mensajes de
correo electrónico. Se usan formatos similares en Debian; en el fichero de estado de dpkg y más.
EJEMPLO
Este es un ejemplo más complicado de un fichero «debconf.conf».
# Esta definición se usa para una configuración general
# de debconf.
Config: stack
Templates: templates
Log: developer
Debug: developer
# Esta es mi propia base de datos.
Name: mi-base-de-datos
Driver: DirTree
Directory: /var/cache/debconf/config
# Esta es otra base de datos que uso para contener
# sólo la configuración del servidor X.
Name: X
Driver: File
Filename: /etc/X11/debconf.dat
Mode: 644
# Es algo difícil descubrir qué preguntas pertenecen
# a X; debería usar una estructura de árbol más
# profunda para comparar sólo con ^X/
# Pero bueno.
Accept-Name: xserver|xfree86|xbase
# Esta es la base de datos global de debconf de
# sólo lectura (para mi) de nuestra compañía.
Name: compañía
Driver: LDAP
Server: debconf.foo.com
BaseDN: cn=debconf,dc=foo,dc=com
BindDN: uid=admin,dc=foo,dc=com
BindPasswd: secret
Readonly: true
# No deseo ninguna contraseña dando vueltas
# por aquí.
Reject-Type: password
# Si no se puede acceder a esta base de datos,
# continuar de todas formas.
Required: false
# Uso esta base de datos para guardar
# contraseñas de forma segura.
Name: contraseñas
Driver: File
Filename: /etc/debconf/passwords
Mode: 600
Accept-Type: password
# Vamos a guardarlas todas en una
# pila de bases de datos.
Name: stack
Driver: Stack
Stack: contraseñas, X, mi-base-de-datos, compañía
# Por ello, todas las contraseñas van a la base de datos
# de contraseñas. La mayoría de la configuración de
# X está en la base de datos de X, y todo lo demás va a mi
# base de datos principal. Los valores se buscan en cada
# uno de estos, y si ninguno tiene un valor particular,
# se comprueba en la base de datos LDAP de la compañía
# (a menos que sea una contraseña).
# También se usa una base de datos para
# guardar plantillas. Esto no tiene que ser muy complejo.
Name: plantillas
Driver: File
Mode: 644
Format: 822
Filename: /var/cache/debconf/templates
NOTAS
Si en este fichero usa algo parecido a «${HOME}», se reemplazará con el valor de la variable de entorno
nombrada.
También puede usar variables de entorno para anular en el momento algo en las bases de datos, consulte
debconf(7)
Los nombres de campo (la sección de la línea anterior a los dos puntos) no son sensibles a las mayúsculas
y minúsculas. Sí lo son, sin embargo, los valores.
MEJORAS PREVISTAS
Más controladores y formatos. Algunas ideas incluyen: un controlador SQL, con la capacidad de acceder a
una base de datos remota. Un controlador DHCP, que dé acceso a algunas cosas especiales como el nombre de
sistema («hostname»), la dirección IP y servidores DNS. Un controlador que obtenga valores de un registro
público DNS con campos con formato TXT. Un formato compatible con la salida de cdebconf. Un controlador
de anulación, que pueda anular el campo del valor u opciones de todas las peticiones que pasan a través
de él.
FICHEROS
/etc/debconf.conf
~/.debconfrc
VÉASE TAMBIÉN
debconf(7)
AUTOR
Joey Hess <joeyh@debian.org>
TRADUCCIÓN
Omar Campagne Polaino <ocampagne@gmail.com>, 2010
Si encuentra un fallo en la traducción, por favor, informe de ello en la lista de traducción
<debian-l10n-spanish@lists.debian.org>.
DEBCONF.CONF(5)