debconf 1.5.41 - en to es translation catalogue (531 entries)

note: type: SH
en: NAME
es: NOMBRE

note: type: textblock
en: debconf - run a debconf-using program
es: debconf - Ejecuta un programa que hace uso de debconf

note: type: SH
en: SYNOPSIS
es: SINOPSIS

note: type: verbatim
en:  debconf [options] command [args]
es:  debconf [opciones] orden [argumentos]

note: type: SH
en: DESCRIPTION
es: DESCRIPCIÓN

note: type: textblock
en: Debconf is a configuration system for Debian packages. For a debconf overview and documentation for sysadmins, see L<debconf(7)> (in the debconf-doc package).
es: Debconf es un sistema de configuración para paquetes de Debian. Consulte L<debconf(7)> (en el paquete debconf-doc) para una visión general de debconf y la documentación para administradores de sistemas.

note: type: textblock
en: The B<debconf> program runs a program under debconf's control, setting it up to talk with debconf on stdio. The program's output is expected to be debconf protocol commands, and it is expected to read result codes on stdin. See L<debconf-devel(7)> for details about the debconf protocol.
es: El programa B<debconf> ejecuta un programa bajo el control de debconf, haciendo que se comunique con debconf por la entrada y salida estándar. Se espera que la salida del programa sean órdenes del protocolo de debconf, y también que lea los códigos resultantes por la entrada estándar. Para más detalles acerca del protocolo de debconf consulte L<debconf-devel(7)>.

note: type: textblock
en: The command to be run under debconf must be specified in a way that will let your PATH find it.
es: La orden a ejecutar bajo debconf debe estar definida de manera que esté incluida dentro de la variable «PATH».

note: type: textblock
en: This command is not the usual way that debconf is used. It's more typical for debconf to be used via L<dpkg-preconfigure(8)> or L<dpkg-reconfigure(8)>.
es: Esta orden no es la forma habitual de uso de debconf. Es más habitual interactuar con debconf a través de L<dpkg-preconfigure(8)> o L<dpkg-reconfigure(8)>.

note: type: =head1
en: OPTIONS
es: OPCIONES

note: type: =item
en: B<-o>I<package>, B<--owner=>I<package>
es: B<-o>I<paquete>, B<--owner=>I<paquete>

note: type: textblock
en: Tell debconf what package the command it is running is a part of. This is necessary to get ownership of registered questions right, and to support unregister and purge commands properly.
es: Informa a debconf del paquete al que pertenece la orden que está ejecutando. Es necesario para obtener adecuadamente el propietario de las preguntas registradas, y también gestionar adecuadamente las órdenes de purgar («purge») y borrar del registro («unregister»).

note: type: =item
en: B<-f>I<type>, B<--frontend=>I<type>
es: B<-f>I<tipo>, B<--frontend=>I<tipo>

note: type: textblock
en: Select the frontend to use.
es: Selecciona la interfaz a usar.

note: type: =item
en: B<-p>I<value>, B<--priority=>I<value>
es: B<-p>I<valor>, B<--priority=>I<valor>

note: type: textblock
en: Specify the minimum priority of question that will be displayed.
es: Define la prioridad mínima de las preguntas que se mostrarán.

note: type: textblock
en: Enables terse output mode. This affects only some frontends.
es: Activa el modo de salida abreviado. Esto sólo afecta a algunas interfaces.

note: type: =head1
en: EXAMPLES
es: EJEMPLOS

note: type: textblock
en: To debug a shell script that uses debconf, you might use:
es: Puede usar lo siguiente para depurar un script de intérprete de órdenes que use debconf:

note: type: verbatim
en:  DEBCONF_DEBUG=developer debconf my-shell-prog
es:  DEBCONF_DEBUG=developer debconf mi-script-de-consola

note: type: textblock
en: Or, you might use this:
es: O puede usar lo siguiente:

note: type: verbatim
en:  debconf --frontend=readline sh -x my-shell-prog
es:  debconf --frontend=readline sh -x mi-script-de-consola

note: type: SH
en: SEE ALSO
es: VÉASE TAMBIÉN

note: type: SH
en: AUTHOR
es: AUTOR

note: type: textblock
en: Debconf::Client::ConfModule - client module for ConfModules
es: Debconf::Client::ConfModule - Módulo cliente para ConfModules

note: type: textblock
en: This is a module to ease writing ConfModules for Debian's configuration management system. It can communicate with a FrontEnd via the debconf protocol (which is documented in full in the debconf_specification in Debian policy).
es: Éste es un módulo que facilita escribir ConfModules para el sistema de gestión de configuración de Debian. Se puede comunicar con una interfaz a través del protocolo de debconf (documentado en «debconf_specification» en el Manual de normas de Debian).

note: type: textblock
en: The design is that each command in the protocol is represented by one function in this module (with the name lower-cased).  Call the function and pass in any parameters you want to follow the command. If the function is called in scalar context, it will return any textual return code. If it is called in list context, an array consisting of the numeric return code and the textual return code will be returned.
es: El diseño es tal que cada orden en el protocolo se representa en este módulo con una función (con el nombre en minúsculas). Invoque la función e introduzca cualquier parámetro que desee que se inserte a continuación de la orden. Si la función se invoca en un contexto escalable («scalar»), devolverá cualquier código de retorno textual. Si se invoca en un contexto de lista,  se devolverá una serie compuesta del código de retorno numérico, y el código de retorno textual.

note: type: textblock
en: This module uses Exporter to export all functions it defines. To import everything, simply import ":all".
es: Este módulo usa Exporter para exportar todas las funciones que define. Para importarlo todo, simplemente importe «:all».

note: type: textblock
en: Ensure that a FrontEnd is running.  It's a little hackish. If DEBIAN_HAS_FRONTEND is set, a FrontEnd is assumed to be running.  If not, one is started up automatically and stdin and out are connected to it. Note that this function is always run when the module is loaded in the usual way.
es: Comprueba que se está ejecutando una interfaz. Es un poco confuso. Si se define «DEBIAN_HAS_FRONTEND», se asume que una interfaz está en ejecución. De no ser así, uno se iniciará automáticamente y la entrada y salida estándar se conectará a este. Tenga en cuenta que la función siempre se ejecuta al cargar un módulo de la forma habitual.

note: type: textblock
en: The frontend doesn't send a return code here, so we cannot try to read it or we'll block.
es: En este caso, la interfaz no devuelve un código de retorno, así que no podemos intentar leerlo o se bloqueará.

note: type: textblock
en: Creates handler functions for commands on the fly.
es: Crea funciones «handler» para órdenes en el momento.

note: type: textblock
en: The debconf specification (/usr/share/doc/debian-policy/debconf_specification.txt.gz).
es: La especificación de debconf (/usr/share/doc/debian-policy/debconf_specification.txt.gz).

note: type: textblock
en: debconf-apt-progress - install packages using debconf to display a progress bar
es: debconf-apt-progress - Instala paquetes usando debconf para mostrar una barra de progreso

note: type: verbatim
en:  debconf-apt-progress [--] command [args ...]
     debconf-apt-progress --config
     debconf-apt-progress --start
     debconf-apt-progress --from waypoint --to waypoint [--] command [args ...]
     debconf-apt-progress --stop
es:  debconf-apt-progress [--] orden [argumentos ...]
     debconf-apt-progress --config
     debconf-apt-progress --start
     debconf-apt-progress --from punto-progreso --to punto-progreso [--]
                          orden [argumentos ...]
     debconf-apt-progress --stop

note: type: textblock
en: B<debconf-apt-progress> installs packages using debconf to display a progress bar. The given I<command> should be any command-line apt frontend; specifically, it must send progress information to the file descriptor selected by the C<APT::Status-Fd> configuration option, and must keep the file descriptors nominated by the C<APT::Keep-Fds> configuration option open when invoking debconf (directly or indirectly), as those file descriptors will be used for the debconf passthrough protocol.
es: B<debconf-apt-progress> instala paquetes usando debconf para mostrar una barra de progreso. La I<orden> dada debería ser cualquier orden de consola de una interfaz de APT; específicamente, debe enviar información de progreso al descriptor de fichero seleccionado con la opción de configuración C<APT::Status-Fd>, y debe dejar abiertos los descriptores de ficheros mencionados por la opción de configuración C<APT::Keep-Fds> al invocar debconf (directa o indirectamente), ya que esos descriptores de fichero se usarán para el protocolo de paso («passthrough») de debconf.

note: type: textblock
en: The arguments to the command you supply should generally include B<-y> (for B<apt-get> or B<aptitude>) or similar to avoid the apt frontend prompting for input. B<debconf-apt-progress> cannot do this itself because the appropriate argument may differ between apt frontends.
es: Generalmente, los argumentos de la orden que introduzca deben incluir B<-y> (con B<apt-get> o B<aptitude>), o similar para así evitar que la interfaz de APT solicite la entrada de datos. B<debconf-apt-progress> no es capaz de hacer esto por sí mismo ya que el argumento adecuado puede diferir según la interfaz de APT.

note: type: textblock
en: The B<--start>, B<--stop>, B<--from>, and B<--to> options may be used to create a progress bar with multiple segments for different stages of installation, provided that the caller is a debconf confmodule. The caller may also interact with the progress bar itself using the debconf protocol if it so desires.
es: Las opciones B<--start>, B<--stop>, B<--from> y B<--to> se pueden usar para crear una barra de progreso con varios segmentos para distintas etapas de la instalación, probado que el invocador sea un confmodule de debconf. El invocador también puede interactuar con la barra de progreso usando el protocolo de debconf, si así lo desea.

note: type: textblock
en: debconf locks its config database when it starts up, which makes it unfortunately inconvenient to have one instance of debconf displaying the progress bar and another passing through questions from packages being installed. If you're using a multiple-segment progress bar, you'll need to eval the output of the B<--config> option before starting the debconf frontend to work around this. See L<the EXAMPLES section/EXAMPLES> below.
es: debconf bloquea su base de datos de configuración al iniciarse, lo cual hace desafortunadamente inconveniente tener una instancia de debconf para mostrar la barra de progreso, y otra para pasar por las consultas de los paquetes que se están instalando. Si usa una barra de progreso con varios segmentos, tendrá que evaluar («eval») la salida de la opción B<--config> antes de iniciar la interfaz de debconf para evitar este comportamiento. Consulte L<la sección EJEMPLOS/EJEMPLOS> más abajo.

note: type: textblock
en: Print environment variables necessary to start up a progress bar frontend.
es: Muestra las variables de entorno necesarias para iniciar una interfaz de barra de progreso.

note: type: textblock
en: Start up a progress bar, running from 0 to 100 by default. Use B<--from> and B<--to> to use other endpoints.
es: Inicia una barra de progreso, que va de 0 a 100 por omisión. Use  B<--from> y B<--to> para usar otros puntos.

note: type: =item
en: B<--from> I<waypoint>
es: B<--from> I<punto-de-progreso>

note: type: textblock
en: If used with B<--start>, make the progress bar begin at I<waypoint> rather than 0.
es: Si se usa con B<--start>, hace que la barra de progreso comience en el I<punto-de-progreso> en lugar de 0.

note: type: textblock
en: Otherwise, install packages with their progress bar beginning at this "waypoint". Must be used with B<--to>.
es: De lo contrario, instala los paquetes con la barra de progreso iniciándose en este punto de progreso. Se debe usar con B<--to>.

note: type: =item
en: B<--to> I<waypoint>
es: B<--to> I<punto-de-progreso>

note: type: textblock
en: If used with B<--start>, make the progress bar end at I<waypoint> rather than 100.
es: Si se usa con B<--start>, hace que la barra de progreso finalice en el I<punto-de-progreso> en lugar de 100.

note: type: textblock
en: Otherwise, install packages with their progress bar ending at this "waypoint". Must be used with B<--from>.
es: De lo contrario, instala los paquetes con la barra de progreso finalizando en este punto de progreso. Se debe usar con B<--from>.

note: type: textblock
en: Stop a running progress bar.
es: Detiene una barra de progreso en ejecución.

note: type: textblock
en: Avoid starting, stopping, or stepping the progress bar. Progress messages from apt, media change events, and debconf questions will still be passed through to debconf.
es: Evita iniciar, detener o aumentar la barra de progreso. Aun así, los mensajes de progreso de apt, eventos de cambio de dispositivo y consultas de debconf se introducirán a través de debconf.

note: type: =item
en: B<--dlwaypoint> I<percentage>
es: B<--dlwaypoint> I<porcentaje>

note: type: textblock
en: Specify what percent of the progress bar to use for downloading packages.  The remainder will be used for installing packages. The default is to use 15% for downloading and the remaining 85% for installing.
es: Define el porcentaje de la barra de progreso que se usará para la descarga de paquetes. El resto se usará para la instalación de paquetes. El valor por omisión es un 15% para la descarga y el 85% restante para la instalación.

note: type: =item
en: B<--logfile> I<file>
es: B<--logfile> I<fichero>

note: type: textblock
en: Send the normal output from apt to the given file.
es: Envía la salida normal desde APT al fichero dado.

note: type: textblock
en: Send the normal output from apt to stderr. If you supply neither B<--logfile> nor B<--logstderr>, the normal output from apt will be discarded.
es: Envía la salida normal desde APT a la salida de error estándar. Si no introduce B<--logfile> o B<--logstderr>, se descartará la salida normal de APT.

note: type: textblock
en: Terminate options. Since you will normally need to give at least the B<-y> argument to the command being run, you will usually need to use B<--> to prevent that being interpreted as an option to B<debconf-apt-progress> itself.
es: Finaliza las opciones. Ya que habitualmente tendrá que introducir al menos el argumento B<-y> a la orden a ejecutar, generalmente tendrá que usar B<--> para evitar que se interprete como una opción de B<debconf-apt-progress>.

note: type: textblock
en: Install the GNOME desktop and an X window system development environment within a progress bar:
es: Para instalar el entorno de escritorio GNOME y el sistema de ventanas X de desarrollo dentro de la barra de progreso:

note: type: textblock
en: Install the GNOME, KDE, and XFCE desktops within a single progress bar, allocating 45% of the progress bar for each of GNOME and KDE and the remaining 10% for XFCE:
es: Para instalar los entornos de escritorio GNOME, KDE y XFCE dentro de una sola barra de progreso, asignando el 45% de la barra de progreso para cada uno de GNOME y KDE y el restante 10% para XFCE:

note: type: =head1
en: RETURN CODE
es: CÓDIGO DE RETORNO

note: type: textblock
en: The exit code of the specified command is returned, unless the user hit the cancel button on the progress bar. If the cancel button was hit, a value of 30 is returned. To avoid ambiguity, if the command returned 30, a value of 3 will be returned.
es: Se devuelve el código de salida de la orden definida, a menos que el usuario pulse el botón de cancelar en la barra de progreso. Si se pulsa el botón de cancelar se devuelve un valor de 30. Para evitar la ambigüedad, si la orden devolvió 30, se devolverá el valor 3.

note: type: =head1
en: AUTHORS
es: AUTORES

note: type: textblock
en: debconf-escape - helper when working with debconf's escape capability
es: debconf-escape - Asistente para la interacción con la funcionalidad de escape de debconf

note: type: verbatim
en:  debconf-escape -e < unescaped-text
     debconf-escape -u < escaped-text
es:  debconf-escape -e < texto-sin-escapar
     debconf-escape -u < texto-escapado

note: type: textblock
en: When debconf has the 'escape' capability set, it will expect commands you send it to have backslashes and newlines escaped (as C<\\> and C<\n> respectively) and will in turn escape backslashes and newlines in its replies. This can be used, for example, to substitute multi-line strings into templates, or to get multi-line extended descriptions reliably using C<METAGET>.
es: Cuando se activa la funcionalidad de «escape» de debconf, éste esperará que las órdenes que le envíe tengan barras inversas y saltos de línea (C<\\> y C<\n> respectivamente), devolviendo así barras inversas y saltos de línea escapadas en sus respuestas. Se puede usar, por ejemplo, para sustituir cadenas de varias líneas en las plantillas, o para obtener descripciones extendidas en varias líneas adecuadamente usando C<METAGET>.

note: type: textblock
en: L<debconf-devel(7)> (available in the debconf-doc package)
es: L<debconf-devel(7)> (disponible en el paquete debconf-doc)

note: type: textblock
en: debconf-communicate - communicate with debconf
es: debconf-communicate - Permite la comunicación con debconf

note: type: verbatim
en:  echo commands | debconf-communicate [options] [package]
es:  echo órdenes | debconf-communicate [opciones] [paquete]

note: type: textblock
en: B<debconf-communicate> allows you to communicate with debconf on the fly, from the command line. The package argument is the name of the package which you are pretending to be as you communicate with debconf, and it may be omitted if you are lazy. It reads commands in the form used by the debconf protocol from stdin. For documentation on the available commands and their usage, see the debconf specification.
es: B<debconf-communicate> le permite comunicarse con debconf en el instante desde la línea de órdenes. El argumento I<paquete> es el nombre del paquete que pretende ser al comunicarse con debconf, y se puede omitir si así lo desea. Lee las órdenes en la forma usada por el protocolo de debconf desde la entrada estándar. Para más documentación sobre las órdenes disponibles y su uso consulte la especificación de debconf.

note: type: textblock
en: The commands are executed in sequence. The textual return code of each is printed out to standard output.
es: Las órdenes se ejecuten secuencialmente. El código de retorno textual de cada uno de ellos se muestra por la salida estándar.

note: type: textblock
en: The return value of this program is the numeric return code of the last executed command.
es: El valor de retorno de este programa es el código de retorno numérico de la última orden ejecutada.

note: type: SH
en: EXAMPLE
es: EJEMPLO

note: type: textblock
en: Print out the value of the debconf/frontend question.
es: Muestra el valor de la pregunta debconf/frontend.

note: type: =head1
en: WARNING
es: AVISO

note: type: textblock
en: This program should never be used from a maintainer script of a package that uses debconf! It may however, be useful in debugging.
es: ¡Este programa nunca se debería usar mediante un script de responsable de un paquete que usa debconf! No obstante, puede ser útil en la depuración.

note: type: textblock
en: debconf-copydb - copy a debconf database
es: debconf-copydb - Copia una base de datos de debconf

note: type: verbatim
en:  debconf-copydb sourcedb destdb [--pattern=pattern] [--owner-pattern=pattern] [--config=Foo:bar]
es:  debconf-copydb base-de-datos_origen base-de-datos_destino [--pattern=patrón] [--owner-pattern=patrón] [--config=Foo:bar]

note: type: textblock
en: B<debconf-copydb> copies items from an existing debconf database into another, possibly new database. The two databases may have different formats; if so a conversion will automatically be done.
es: B<debconf-copydb> copia elementos de una base de datos existente a otra, posiblemente nueva. Puede que el formato de las dos bases de datos sea distinto; en este caso, se hará una conversión automática.

note: type: =item
en: I<sourcedb>
es: I<base-de-datos_origen>

note: type: textblock
en: The name of the source database. Typically it will be defined in your debconf.conf (or .debconfrc) file.
es: En nombre de la base de datos original. Habitualmente, se definirá en el fichero «debconf.conf» (o «.debconfrc»).

note: type: =item
en: I<destdb>
es: I<base-de-datos_destino>

note: type: textblock
en: The name of the destination database. It may be defined in debconf.conf or .debconfrc, or you might define it on the command line (see below).
es: El nombre de la base de datos destino. Se puede definir en «debconf.conf» o «.debconfrc», o lo puede especificar en la línea de órdenes (véase más abajo).

note: type: =item
en: B<-p> I<pattern>, B<--pattern> I<pattern>
es: B<-p> I<patrón>, B<--patrón> I<patrón>

note: type: textblock
en: If this is specified, only items in I<sourcedb> whose names match the pattern will be copied.
es: Si se define, sólo se copiarán los elementos de la I<base-de-datos_origen> cuyo nombre coincida con el patrón.

note: type: =item
en: B<--owner-pattern> I<pattern>
es: B<--owner-pattern> I<patrón>

note: type: textblock
en: If this is specified, only items in I<sourcedb> whose owners match the pattern will be copied.
es: Si se define, sólo se copiarán los elementos de la I<base-de-datos_origen> cuyos propietarios coincidan con el patrón.

note: type: textblock
en: Set option Foo to bar. This is similar to writing:
es: Define la opción Foo a bar. Esto es similar a escribir:

note: type: textblock
en: In debconf.conf, except you probably want to leave off the space on the command line (or quote it: "Foo: bar"). Generally must be used multiple times, to build up a full configuration stanza. While blank lines are used to separate stanzas in debconf.conf, this program will assume that "Name:dbname" denotes the beginning of a new stanza.
es: en «debconf.conf», a excepción de que posiblemente quiera omitir el espacio en la línea de órdenes (o use comillas: "Foo:bar"). Habitualmente, querrá usar esto varias veces para construir una definición de configuración completa. Mientras que se usan líneas en blanco para separar las definiciones en «debconf.conf», este programa asume que "Name:dbname" (nombre: nombre-base-de-datos) denota el principio de una definición nueva.

note: type: textblock
en: Copy all of configdb to backup, assuming you already have the backup database defined in debconf.conf.
es: Copia toda su configuración de la base de datos («configdb») a la copia de respaldo («backup»), suponiendo que ya tiene una base de datos de respaldo definida en «debconf.conf».

note: type: textblock
en: Copy slrn's data out of configdb, and into newdb. newdb is not defined in the rc file, so the --config switches set up the database on the fly.
es: Copia los datos de slrn desde «configdb» a «newdb» (base de datos nueva). «newdb» no este definido en el fichero de configuración, así que la opción «--config» define la base de datos en el momento.

note: type: textblock
en: Spit out all the items in the debconf database related to package foo.
es: Muestra todos los elementos en la base de datos de debconf relacionados con el paquete «foo».

note: type: textblock
en: This uses the special purpose pipe driver to copy a database to a remote system.
es: Esto hace uso del controlador de fines específicos «pipe» (tubería) para copiar una base de datos a un sistema remoto.

note: type: textblock
en: debconf-getlang - extract a language from a templates file
es: debconf-getlang - Extrae un idioma de un fichero de plantilla

note: type: verbatim
en:  debconf-getlang lang master [translation]
     debconf-getlang --stats master translation [...]
es:  debconf-getlang idioma original [traducción]
     debconf-getlang --stats original traducción [...]

note: type: textblock
en: Note: This utility is deprecated; you should switch to using the po-debconf package.
es: Nota: Esta herramienta está obsoleta, debería usar el paquete po-debconf.

note: type: textblock
en: This program helps make and manage translations of debconf templates.  There are basically three situations in which this program might be called:
es: Este programa ayuda a crear y gestionar las traducciones de las plantillas de debconf. Básicamente, hay tres situaciones en las que se podría invocar este programa:

note: type: =item
en: A translation is just being started.
es: Al iniciar una traducción.

note: type: textblock
en: You want to provide the translator with a file they can work on that has the English fields from your templates file, plus blank Field-ll fields for the target language that they can fill in.
es: Desea ofrecer al traductor un fichero sobre el que trabajar que tenga los campos en inglés de su fichero de plantilla, además de campos secundarios que pueden rellenar con el idioma de destino.

note: type: textblock
en: To do this, run the program with first parameter being the code for the language that is being translated to, and the second parameter being the filename of the English templates file.
es: Para ello, ejecute el programa con el primer parámetro, siendo éste el código del idioma al que se está traduciendo, y el nombre del fichero de plantilla en inglés como segundo parámetro.

note: type: =item
en: A translation is well under way.
es: Una traducción está en curso.

note: type: textblock
en: You have changed some English text, or added more items to your templates file, and you want to send the translators a file with the English text plus their current translations (or you are the translator, and you want to generate such a file for your own use).
es: Ha modificado parte del texto en inglés, o ha añadido elementos a su fichero de plantilla y desea enviar a los traductores un fichero con el texto en inglés además de sus traducciones ya realizadas (o bien es el traductor, y desea generar tal fichero para su uso personal).

note: type: textblock
en: To accomplish this, run the program with the first parameter being the the code for the language that is being translated to, the second parameter being the filename of the master English templates file, and the third parameter being the filename of the current translated file.
es: Para ello, ejecute el programa con el primer parámetro siendo el código del lenguaje al que se está traduciendo, un segundo parámetro siendo el nombre del fichero de plantilla original en inglés, y un tercer parámetro siendo el nombre de fichero del fichero actualmente traducido.

note: type: textblock
en: When run this way, the program is smart enough to notice fuzzy translations. For example a fuzzy Description will be output as Description-<lang>-fuzzy, and a new, blank Description-<lang> will be added.  Translators should remove the -fuzzy fields as they correct the fuzzy translations.
es: Cuando se ejecuta de este modo, este programa es suficientemente inteligente como para detectar las cadenas difusas («fuzzy»). Por ejemplo, un campo «Description» difuso saldrá como «Description-<idioma>-fuzzy», y se añadirá un nuevo campo vacío «Description-<lang>». Los traductores deberían eliminar los campos «-fuzzy» a medida que corrigen las traducciones difusas.

note: type: =item
en: Checking the status of a translation
es: Comprobar el estado de la traducción.

note: type: textblock
en: To check the status of a translation, use the --status flag, and pass the english template file as the first parameter, and all the other translated templates after that. It will output statistics for each of them. For example:
es: Use la opción «--status» para comprobar el estado de una traducción, e introduzca el fichero de plantilla en inglés como el primer parámetro, seguido de todas las plantillas traducidas. Devolverá las estadísticas de cada uno de ellos. Por ejemplo:

note: type: =head1
en: NOTE
es: NOTA

note: type: textblock
en: Note that the text in the generated templates may be word-wrapped by debconf.
es: Tenga en cuenta que es probable que debconf justifique el texto en las plantillas generadas.

note: type: textblock
en: debconf-get-selections - output contents of debconf database
es: debconf-get-selections - Devuelve el contenido de una base de datos de debconf

note: type: textblock
en: Output the current debconf database in a format understandable by debconf-set-selections.
es: Devuelve la base de datos de debconf actual en un formato comprensible por «debconf-set-selections».

note: type: textblock
en: To dump the debconf database of the debian-installer, from /var/log/installer/cdebconf, use the --installer parameter.
es: Use el parámetro «--installer» para volcar la base de datos de debconf de debian-installer, tomando como fuente «/var/log/installer/cdebconf».

note: type: textblock
en: debconf-loadtemplate - load template file into debconf database
es: debconf-loadtemplate - Carga un fichero de plantilla en la base de datos de debconf

note: type: verbatim
en:  debconf-loadtemplate owner file [file ..]
es:  debconf-loadtemplate propietario fichero [fichero ..]

note: type: textblock
en: Loads one or more template files into the debconf database. The first parameter specifies the owner of the templates (typically, the owner is the name of a debian package). The remaining parameters are template files to load.
es: Carga uno o más ficheros de plantilla en la base de datos de debconf. El primer parámetro define al propietario de las plantillas (habitualmente, el propietario es el nombre de un paquete debian). Los parámetros restantes son los ficheros de plantilla a cargar.

note: type: textblock
en: This program should never be used from a maintainer script of a package that uses debconf! It may however, be useful in debugging, or to seed the debconf database.
es: ¡Este programa nunca se debería usar a través de un script de desarrollador o un paquete que usa debconf! Sin embargo, puede ser útil en la depuración de fallos o para configurar la base de datos de debconf.

note: type: textblock
en: debconf-mergetemplate - merge together multiple debconf template files
es: debconf-mergetemplate - Fusiona varios ficheros de plantilla de debconf

note: type: verbatim
en:  debconf-mergetemplate [options] [templates.ll ...] templates
es:  debconf-mergetemplate [opciones] [plantillas.ll ...] plantillas

note: type: textblock
en: Note: This utility is deprecated. You should switch to using po-debconf's po2debconf program.
es: Nota: Esta herramienta está obsoleta. Debería usar el programa po2debconf del paquete po-debconf.

note: type: textblock
en: This program is useful if you have multiple debconf templates files which you want to merge together into one big file. All the specified files will be read in, merged, and output to standard output.
es: Este programa es útil si tiene varios ficheros de plantilla de debconf que desea fusionar en un sólo fichero grande. Todos los ficheros definidos se leerán, fusionarán y mostrarán por la salida estándar.

note: type: textblock
en: This can be especially useful if you are dealing with translated template files. In this case, you might have your main template file, plus several other files provided by the translators. These files will have translated fields in them, and maybe the translators left in the english versions of the fields they translated, for their reference.
es: Esto puede ser particularmente útil cuando está tratando con ficheros de plantilla traducidos. En este caso, puede que tenga su fichero de plantilla principal, además de varios otros ficheros proporcionados por los traductores. Estos ficheros contendrán campos traducidos, y puede que los traductores hayan dejado las versiones en inglés de los campos que han traducido como referencia.

note: type: textblock
en: So, you want to merge together all the translated templates files with your main templates file. Any fields that are unique to the translated files need to be added in to the correct templates, but any fields they have in common should be superseded by the fields in the main file (which might be more up-to-date).
es: Digamos que desea fusionar todos los ficheros de plantilla traducidos con su fichero de plantilla original. Todos los campos que son exclusivos de los ficheros traducidos se tendrán que añadir a las plantillas correctas, pero todos los campos que tienen en común se deben reemplazar por los campos en el fichero principal (que puede estar más actualizado).

note: type: textblock
en: This program handles that case properly, just list each of the translated templates files, and then your main templates file last.
es: Este programa trata esta situación adecuadamente, simplemente defina cada uno de los ficheros de plantilla traducidos, y por último su fichero de plantilla original.

note: type: textblock
en: Merge in even outdated translations. The default is to drop them with a warning message.
es: Fusiona incluso traducciones obsoletas. El comportamiento por omisión es omitirlos con un mensaje de aviso.

note: type: textblock
en: If a translation has an entire template that is not in the master file (and thus is probably an old template), drop that entire template.
es: Si una traducción tiene una plantilla completa que no está en el fichero original (y por ello, probablemente sea una plantilla antigua), omite la plantilla por completo.

note: type: verbatim
en:  debconf-set-selections file
     debconf-get-selections | ssh newhost debconf-set-selections
es:  debconf-set-selections fichero
     debconf-get-selections | ssh newhost debconf-set-selections

note: type: textblock
en: B<debconf-set-selections> can be used to pre-seed the debconf database with answers, or to change answers in the database. Each question will be marked as seen to prevent debconf from asking the question interactively.
es: B<debconf-set-selections> se puede usar para preconfigurar la base de datos de debconf, o para cambiar las respuestas en la base de datos. Cada pregunta se marcará como ya vista («seen») para evitar que debconf plantee la cuestión de forma interactiva.

note: type: textblock
en: Reads from a file if a filename is given, otherwise from stdin.
es: Lee desde un fichero si se da un nombre de fichero, de lo contrario leerá desde la entrada estándar.

note: type: textblock
en: Only use this command to seed debconf values for packages that will be or are installed. Otherwise you can end up with values in the database for uninstalled packages that will not go away, or with worse problems involving shared values. It is recommended that this only be used to seed the database if the originating machine has an identical install.
es: Use esta orden sólo para introducir valores de debconf para paquetes que se van a instalar, o que ya lo están. De lo contrario puede acabar con valores en la base de datos para paquetes desinstalados, que no desaparecerán, o con problemas más profundos relacionados con valores compartidos. Se recomienda su uso para configurar la base de datos sólo si el sistema original tiene una instalación idéntica.

note: type: =head1
en: DATA FORMAT
es: FORMATO DE DATOS

note: type: textblock
en: The data is a series of lines. Lines beginning with a # character are comments. Blank lines are ignored. All other lines set the value of one question, and should contain four values, each separated by one character of whitespace. The first value is the name of the package that owns the question. The second is the name of the question, the third value is the type of this question, and the fourth value (through the end of the line)  is the value to use for the answer of the question.
es: Los datos son una serie de líneas. Las líneas que comienzan con un carácter «#» son comentarios, y se ignoran las líneas en blanco. Todas las otras líneas definen el valor de una pregunta y deberían contener cuatro valores, cada uno de ellos separado por un carácter de espacio en blanco. El primer valor es el nombre del paquete al que pertenece la pregunta. El segundo es el nombre de la pregunta, el tercer valor es el tipo de pregunta y el cuarto valor (al final de la línea) es el valor a usar para responder a la pregunta.

note: type: textblock
en: Alternatively, the third value can be "seen"; then the preseed line only controls whether the question is marked as seen in debconf's database. Note that preseeding a question's value defaults to marking that question as seen, so to override the default value without marking a question seen, you need two lines.
es: De forma alternativa, el tercer valor puede ser «seen»; en este caso, la línea introducida sólo controla si la pregunta se marca como ya vista en la base de datos de debconf. Tenga en cuenta que, por omisión, introducir el valor de una pregunta marca la pregunta como ya vista, así que si desea sustituir el valor predefinido sin marcar la pregunta como ya vista necesitará dos líneas.

note: type: textblock
en: Lines can be continued to the next line by ending them with a "\" character.
es: Puede continuar las líneas en la siguiente línea finalizándolas con el carácter «\».

note: type: verbatim
en:  # Force debconf priority to critical.
     debconf debconf/priority select critical
es:  # Fuerza la prioridad de debconf a crítico.
     debconf debconf/priority select critical

note: type: verbatim
en:  # Override default frontend to readline, but allow user to select.
     debconf debconf/frontend select readline
     debconf debconf/frontend seen false
es:  # Reemplaza la interfaz predeterminada con readline, pero permite la
     # selección del usuario.
     debconf debconf/frontend select readline
     debconf debconf/frontend seen false

note: type: textblock
en: verbose output
es: Salida informativa.

note: type: textblock
en: only check the input file format, do not save changes to database
es: Sólo comprueba el formato del fichero de entrada, no guarda los cambios en la base de datos.

note: type: textblock
en: L<debconf-get-selections(1)> (available in the debconf-utils package)
es: L<debconf-get-selections(1)> (disponible en el paquete debconf-utils)

note: type: textblock
en: debconf-show - query the debconf database
es: debconf-show - Realiza consultas a la base de datos de debconf

note: type: verbatim
en:  debconf-show packagename [...] [--db=dbname]
     debconf-show --listowners [--db=dbname]
     debconf-show --listdbs
es:  debconf-show paquete [...] [--db=nombre-base-de-datos]
     debconf-show --listowners [--db=nombre-base-de-datos]
     debconf-show --listdbs

note: type: textblock
en: B<debconf-show> lets you query the debconf database in different ways.
es: B<debconf-show> le permite consultar la base de datos de debconf de varias maneras.

note: type: textblock
en: The most common use is "debconf-show packagename", which displays all items in the debconf database owned by a given package, and their current values.  Questions that have been asked already are prefixed with an '*'.
es: La más común es «debconf-show paquete», que muestra todos los elementos en la base de datos de debconf que pertenecen al paquete dado, y sus valores actuales. Las preguntas que ya se han planteado se prefijan con «*».

note: type: textblock
en: This can be useful as a debugging aid, and especially handy in bug reports involving a package's use of debconf.
es: Esto puede ser útil como una ayuda durante la depuración de fallos, y especialmente útil en los informes de fallo relacionados con el uso de debconf por parte de un paquete.

note: type: =item
en: B<--db=>I<dbname>
es: B<--db=>I<nombre-base-de-datos>

note: type: textblock
en: Specify the database to query. By default, debconf-show queries the main database.
es: Define la base de datos a consultar. Por omisión, «debconf-show» consulta la base de datos principal.

note: type: textblock
en: Lists all owners of questions in the database. Generally an owner is equivalent to a debian package name.
es: Enumera todos los propietarios de las preguntas en la base de datos. Habitualmente, un propietario equivale al nombre de un paquete debian.

note: type: textblock
en: Lists all available databases.
es: Enumera todas las bases de datos disponibles.

note: type: textblock
en: Joey Hess <joeyh@debian.org> and Sylvain Ferriol
es: Joey Hess <joeyh@debian.org> y Sylvain Ferriol

note: type: textblock
en: dpkg-preconfigure - let packages ask questions prior to their installation
es: dpkg-preconfigure - Permite que los paquetes formulen preguntas antes de su instalación

note: type: verbatim
en:  dpkg-preconfigure [options] package.deb
es:  dpkg-preconfigure [opciones] paquete.deb

note: type: textblock
en: B<dpkg-preconfigure> lets packages ask questions before they are installed.  It operates on a set of debian packages, and all packages that use debconf will have their config script run so they can examine the system and ask questions.
es: B<dpkg-preconfigure> permite que los paquetes formulen preguntas antes de su instalación. Opera con un conjunto de paquetes debian, ejecutando el script de configuración de todos aquellos que usen debconf de forma que puedan examinar el sistema y formular preguntas.

note: type: textblock
en: Set the lowest priority of questions you are interested in. Any questions with a priority below the selected priority will be ignored and their default answers will be used.
es: Define la prioridad más baja de las preguntas que le interesan. Todas las preguntas con una prioridad menor que la prioridad seleccionada se ignorarán, usando las respuestas predefinidas.

note: type: textblock
en: Run in apt mode. It will expect to read a set of package filenames from stdin, rather than getting them as parameters. Typically this is used to make apt run dpkg-preconfigure on all packages before they are installed.  To do this, add something like this to /etc/apt/apt.conf:
es: Ejecuta en modo apt. Esperará leer un conjunto de nombres de fichero de paquete por la entrada estándar en lugar de obtenerlos como parámetros. Habitualmente, se usa para hacer que apt ejecute «dpkg-preconfigure» sobre todos los paquetes antes de su instalación. Para hacer esto, añada algo parecido al ejemplo en «/etc/apt/apt.conf»:

note: type: verbatim
en:  // Pre-configure all packages before
     // they are installed.
     DPkg::Pre-Install-Pkgs {
     	"dpkg-preconfigure --apt --priority=low";
     };
es:  // Preconfigurar todos los paquetes
     // antes de su instalación.
     DPkg::Pre-Install-Pkgs {
     	"dpkg-preconfigure --apt --priority=low";
     };

note: type: textblock
en: Display usage help.
es: Muestra la ayuda de uso.

note: type: textblock
en: dpkg-reconfigure - reconfigure an already installed package
es: dpkg-reconfigure - Reconfigura un paquete ya instalado

note: type: verbatim
en:  dpkg-reconfigure [options] packages
es:  dpkg-reconfigure [opciones] paquetes

note: type: textblock
en: B<dpkg-reconfigure> reconfigures packages after they have already been installed. Pass it the names of a package or packages to reconfigure. It will ask configuration questions, much like when the package was first installed.
es: B<dpkg-reconfigure> reconfigura paquetes después de su instalación. Introduzca los nombres del paquete o paquetes a reconfigurar. Formulará preguntas de configuración de forma similar a cuando el paquete se instaló en primer lugar.

note: type: textblock
en: If you just want to see the current configuration of a package, see L<debconf-show(1)> instead.
es: Si sólo desea ver la configuración actual de un paquete, consulte L<debconf-show(1)>.

note: type: textblock
en: Select the frontend to use. The default frontend can be permanently changed by:
es: Selecciona la interfaz a usar. La interfaz predefinida se puede cambiar de forma permanente con:

note: type: textblock
en: Note that if you normally have debconf set to use the noninteractive frontend, dpkg-reconfigure will use the dialog frontend instead, so you actually get to reconfigure the package.
es: Tenga en cuenta que si habitualmente tiene configurado debconf para que use la interfaz no interactiva, dpkg-reconfigure usará la interfaz dialog, de forma que realmente pueda reconfigurar el paquete.

note: type: textblock
en: Specify the minimum priority of question that will be displayed.  dpkg-reconfigure normally shows low priority questions no matter what your default priority is. See L<debconf(7)> for a list.
es: Define la prioridad mínima de las preguntas a mostrar. Habitualmente, dpkg-reconfigure muestra preguntas con una baja prioridad sin importar cuál es la prioridad predefinida. Para una lista, consulte L<debconf(7)>.

note: type: textblock
en: Use whatever the default priority of question is, instead of forcing the priority to low.
es: Usa la prioridad predefinida de la pregunta, en lugar de forzar la prioridad a baja.

note: type: textblock
en: By default, all questions are shown, even if they have already been answered. If this parameter is set though, only questions that have not yet been seen will be asked.
es: Por omisión se muestran todas las preguntas aunque ya se hayan preguntado. Si define este parámetro, sólo se formularán las preguntas que nunca se hayan mostrado.

note: type: textblock
en: Force dpkg-reconfigure to reconfigure a package even if the package is in an inconsistent or broken state. Use with caution.
es: Fuerza dpkg-reconfigure a reconfigurar un paquete, incluso si está en un estado roto o inconsistente. Usar con precaución.

note: type: textblock
en: Prevent dpkg-reconfigure from reloading templates. Use with caution; this will prevent dpkg-reconfigure from repairing broken templates databases.  However, it may be useful in constrained environments where rewriting the templates database is expensive.
es: Evita que dpkg-reconfigure cargue las plantillas otra vez. Usar con precaución; esto evitará que dpkg-reconfigure repare bases de datos rotas de plantillas. Sin embargo, puede ser útil en entornos limitados en los que reescribir la base de datos de plantillas tenga un alto coste.

note: type: Plain text
en: debconf.conf - debconf configuration file
es: debconf.conf - Fichero de configuración de debconf

note: type: Plain text
en: Debconf is a configuration system for Debian packages. /etc/debconf.conf and ~/.debconfrc are configuration files debconf uses to determine which databases it should use. These databases are used for storing two types of information; dynamic config data the user enters into it, and static template data. Debconf offers a flexible, extensible database backend. New drivers can be created with a minimum of effort, and sets of drivers can be combined in various ways.
es: 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.

note: type: Plain text
en:   # This is a sample config file that is
      # sufficient to use debconf.
      Config: configdb
      Templates: templatedb
es:   # Este es un fichero de configuración de
      # ejemplo suficiente para usar debconf.
      Config: configdb
      Templates: templatedb

note: type: Plain text
en:   Name: configdb
      Driver: File
      Filename: /var/cache/debconf/config.dat
es:   Name: configuración-base-de-datos
      Driver: File
      Filename: /var/cache/debconf/config.dat

note: type: Plain text
en:   Name: templatedb
      Driver: File
      Mode: 644
      Filename: /var/cache/debconf/templates.dat
es:   Name: base-de-datos-de-plantillas
      Driver: File
      Mode: 644
      Filename: /var/cache/debconf/templates.dat

note: type: SH
en: FILE FORMAT
es: FORMATO DEL FICHERO

note: type: Plain text
en: The format of this file is a series of stanzas, each separated by at least one wholly blank line. Comment lines beginning with a "#" character are ignored.
es: 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 «#».

note: type: Plain text
en: The first stanza of the file is special, is used to configure debconf as a whole. Two fields are required to be in this first stanza:
es: 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:

note: type: Plain text
en: Specifies the name of the database from which to load config data.
es: Define el nombre de la base de datos desde la cual cargar los datos de configuración.

note: type: Plain text
en: Specifies the name of the database to use for the template cache.
es: Define el nombre de la base de datos a usar para el almacén («caché») de plantillas.

note: type: Plain text
en: Additional fields that can be used include:
es: Los campos adicionales que se pueden usar incluyen:

note: type: Plain text
en: The frontend Debconf should use, overriding any frontend set in the debconf database.
es: La interfaz que Debconf debería usar, anulando cualquier interfaz definida en la base de datos de debconf.

note: type: Plain text
en: The priority Debconf should use, overriding any priority set in the debconf database.
es: La prioridad que Debconf debería usar, anulando cualquier prioridad definida en la base de datos de debconf.

note: type: Plain text
en: The email address Debconf should send mail to if it needs to make sure that the admin has seen an important message. Defaults to "root", but can be set to any valid email address to send the mail there. If you prefer to never have debconf send you mail, specify a blank address. This can be overridden on the fly with the DEBCONF_ADMIN_EMAIL environment variable.
es: 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».

note: type: Plain text
en: If set, this will cause debconf to output debugging information to standard error. The value it is set to can be something like "user", "developer", "db", or a regular expression. Typically, rather than setting it permanently in a config file, you will only want to temporarily turn on debugging, and the DEBCONF_DEBUG environment variable can be set instead to accomplish that.
es: 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».

note: type: Plain text
en: If set, this will make debconf not display warnings about various things.  This can be overridden on the fly with the DEBCONF_NOWARNINGS environment variable.
es: 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».

note: type: Plain text
en: Makes debconf log debugging information as it runs, to the syslog. The value it is set to controls that is logged. See Debug, above for an explanation of the values that can be set to control what is logged.
es: 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.

note: type: Plain text
en: If set to "true", makes some debconf frontends use a special terse display mode that outputs as little as possible. Defaults to false. Terse mode may be temporarily set via the DEBCONF_TERSE environment variable.
es: 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».

note: type: Plain text
en: For example, the first stanza of a file might look like this:
      Config: configdb
      Templates: templatedb
es: 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

note: type: Plain text
en: Each remaining stanza in the file sets up a database. A database stanza
    begins by naming the database:
      Name: configdb
es: 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

note: type: Plain text
en: Then it indicates what database driver should be used for this database.
    See DRIVERS, below, for information about what drivers are available.
      Driver: File
es: 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

note: type: Plain text
en: You can indicate that the database is not essential to the proper
    functioning of debconf by saying it is not required. This will make debconf
    muddle on if the database fails for some reason.
      Required: false
es: 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

note: type: Plain text
en: You can mark any database as readonly and debconf will not write anything
    to it.
      Readonly: true
es: Puede marcar la base de datos como de sólo lectura, y debconf no escribirá
    nada en él.
      Readonly: true

note: type: Plain text
en: You can also limit what types of data can go into the database with Accept- and Reject- lines; see ACCESS CONTROLS, below.
es: 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».

note: type: Plain text
en: The remainder of each database stanza is used to provide configuration
    specific to that driver. For example, the Text driver needs to know
    a directory to put the database in, so you might say:
      Filename: /var/cache/debconf/config.dat
es: 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

note: type: SH
en: DRIVERS
es: CONTROLADORES

note: type: Plain text
en: A number of drivers are available, and more can be written with little difficulty. Drivers come in two general types. First there are real drivers -- drivers that actually access and store data in some kind of database, which might be on the local filesystem, or on a remote system. Then there are meta-drivers that combine other drivers together to form more interesting systems. Let's start with the former.
es: 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.

note: type: Plain text
en: This database driver allows debconf to store a whole database in a single flat text file. This makes it easy to archive, transfer between machines, and edit. It is one of the more compact database formats in terms of disk space used. It is also one of the slowest.
es: 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.

note: type: Plain text
en: On the downside, the entire file has to be read in each time debconf starts up, and saving it is also slow.
es: 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.

note: type: Plain text
en: The following things are configurable for this driver.
es: Puede configurar las siguientes opciones de este controlador.

note: type: Plain text
en: The file to use as the database. This is a required field.
es: El fichero a usar como base de datos. Este campo es obligatorio.

note: type: Plain text
en: The permissions to create the file with if it does not exist. Defaults to 600, since the file could contain passwords in some circumstances.
es: 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.

note: type: Plain text
en: The format of the file. See FORMATS below. Defaults to using a rfc-822 like format.
es: El formato del fichero. Consulte «FORMATOS» más abajo. El valor por omisión es un formato tipo rfc-822.

note: type: Plain text
en: Whether a backup should be made of the old file before changing it.  Defaults to true.
es: Si se debería crear una copia de respaldo del fichero antiguo antes de modificarlo. «true» por omisión.

note: type: Plain text
en: As example stanza setting up a database using this driver:
es: Una definición de ejemplo configurando una base de datos con este controlador:

note: type: Plain text
en:   Name: mydb
      Driver: File
      Filename: /var/cache/debconf/mydb.dat
es:   Name: mi-base-de-datos
      Driver: File
      Filename: /var/cache/debconf/mydb.dat

note: type: Plain text
en: This database driver allows debconf to store data in a hierarchical directory structure. The names of the various debconf templates and questions are used as-is to form directories with files in them. This format for the database is the easiest to browse and fiddle with by hand.  It has very good load and save speeds. It also typically occupies the most space, since a lot of small files and subdirectories do take up some additional room.
es: 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.

note: type: Plain text
en: The directory to put the files in. Required.
es: El directorio donde guardar los ficheros. Obligatorio.

note: type: Plain text
en: An extension to add to the names of files. Must be set to a non-empty string; defaults to ".dat"
es: La extensión a añadir a los nombres de fichero. Se debe definir con una cadena no vacía: «.dat» por omisión.

note: type: Plain text
en:   Name: mydb
      Driver: DirTree
      Directory: /var/cache/debconf/mydb
      Extension: .txt
es:   Name: mi-base-de-datos
      Driver: DirTree
      Directory: /var/cache/debconf/mydb
      Extension: .txt

note: type: Plain text
en: This database driver is a compromise between the File and DirTree databases. It uses a directory, in which there is (approximately) one file per package that uses debconf. This is fairly fast, while using little more room than the File database driver.
es: 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».

note: type: Plain text
en: This driver is configurable in the same ways as is the DirTree driver, plus:
es: Este controlador se puede configurar de la misma forma que el controlador «DirTree», y también acepta lo siguiente:

note: type: Plain text
en: The permissions to create files with. Defaults to 600, since the files could contain passwords in some circumstances.
es: Los permisos a otorgar al fichero. El valor por omisión es 600, ya que en algunos casos los ficheros pueden contener contraseñas.

note: type: Plain text
en:   Name: mydb
      Driver: PackageDir
      Directory: /var/cache/debconf/mydb
es:   Name: mi-base-de-datos
      Driver: PackageDir
      Directory: /var/cache/debconf/mydb

note: type: Plain text
en: WARNING: This database driver is currently experimental. Use with caution.
es: AVISO: Este controlador de base de datos está aún en una fase experimental. Usar con precaución.

note: type: Plain text
en: This database driver accesses a LDAP directory for debconf configuration data. Due to the nature of the beast, LDAP directories should typically be accessed in read-only mode. This is because multiple accesses can take place, and it's generally better for data consistency if nobody tries to modify the data while this is happening. Of course, write access is supported for those cases where you do want to update the config data in the directory.
es: 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.

note: type: Plain text
en: For information about setting up a LDAP server for debconf, read /usr/share/doc/debconf-doc/README.LDAP (from the debconf-doc package).
es: 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.

note: type: Plain text
en: To use this database driver, you must have the libnet-ldap-perl package installed. Debconf suggests that package, but does not depend on it.
es: Necesita instalar el paquete libnet-ldap-perl para usar este controlador de base de datos. Debconf sugiere ese paquete, pero no depende de él.

note: type: Plain text
en: Please carefully consider the security implications of using a remote debconf database. Unless you trust the source, and you trust the intervening network, it is not a very safe thing to do.
es: 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.

note: type: Plain text
en: The host name or IP address of an LDAP server to connect to.
es: El nombre de sistema o dirección IP de un servidor LDAP al que conectarse.

note: type: Plain text
en: The port on which to connect to the LDAP server. If none is given, the default port is used.
es: El puerto con el que conectarse al servidor LDAP. Si no se proporciona ninguno, se usa el puerto predefinido.

note: type: Plain text
en: The DN under which all config items will be stored. Each config item will be assumed to live in a DN of cn=E<lt>item nameE<gt>,E<lt>Base DNE<gt>. If this structure is not followed, all bets are off.
es: 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=E<lt>elemento nombreE<gt>,E<lt>Base DNE<gt>. Si no sigue esta estructura, todo estará perdido.

note: type: Plain text
en: The DN to bind to the directory as. Anonymous bind will be used if none is specified.
es: El DN con el que unirse («bind») con el directorio. Si no se define, se usará una unión anónima.

note: type: Plain text
en: The password to use in an authenticated bind (used with binddn, above). If not specified, anonymous bind will be used.
es: 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.

note: type: Plain text
en: This option should not be used in the general case. Anonymous binding should be sufficient most of the time for read-only access. Specifying a bind DN and password should be reserved for the occasional case where you wish to update the debconf configuration data.
es: 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.

note: type: Plain text
en: Enable access to individual LDAP entries, instead of fetching them all at once in the beginning. This is very useful if you want to monitor your LDAP logs for specific debconf keys requested. In this way, you could also write custom handling code on the LDAP server part.
es: 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.

note: type: Plain text
en: Note that when this option is enabled, the connection to the LDAP server is kept active during the whole Debconf run. This is a little different from the all-in-one behavior where two brief connections are made to LDAP; in the beginning to retrieve all the entries, and in the end to save eventual changes.
es: 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.

note: type: Plain text
en: An example stanza setting up a database using this driver, assuming the remote database is on example.com and can be accessed anonymously:
es: 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:

note: type: Plain text
en:   Name: ldapdb
      Driver: LDAP
      Readonly: true
      Server: example.com
      BaseDN: cn=debconf,dc=example,dc=com
      KeyByKey: 0
es:   Name: base-de-datos-ldap
      Driver: LDAP
      Readonly: true
      Server: example.com
      BaseDN: cn=debconf,dc=example,dc=com
      KeyByKey: 0

note: type: Plain text
en: Another example, this time the LDAP database is on localhost, and can be written to:
es: Otro ejemplo, esta vez la base de datos LDAP está en el sistema local («localhost»), y que permite su escritura:

note: type: Plain text
en:   Name: ldapdb
      Driver: LDAP
      Server: localhost
      BaseDN: cn=debconf,dc=domain,dc=com
      BindPasswd: secret
      KeyByKey: 1
es:   Name: base-de-datos-ldap
      Driver: LDAP
      Server: localhost
      BaseDN: cn=debconf,dc=domain,dc=com
      BindPasswd: secret
      KeyByKey: 1

note: type: Plain text
en: This special-purpose database driver reads and writes the database from standard input/output. It may be useful for people with special needs.
es: 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.

note: type: Plain text
en: The format to read and write. See FORMATS below. Defaults to using a rfc-822 like format.
es: El formato en el que leer y escribir. Consulte «FORMATOS» a continuación. El valor por omisión es un formato tipo rfc-822.

note: type: Plain text
en: File descriptor number to read from. Defaults to reading from stdin. If set to "none", the database will not read any data on startup.
es: 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.

note: type: Plain text
en: File descriptor number to write to. Defaults to writing to stdout. If set to "none", the database will be thrown away on shutdown.
es: 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.

note: type: Plain text
en: That's all of the real drivers, now moving on to meta-drivers..
es: Estos son todos los controladores reales, pasemos ahora a los metacontroladores.

note: type: Plain text
en: This driver stacks up a number of other databases (of any type), and allows them to be accessed as one. When debconf asks for a value, the first database on the stack that contains the value returns it. If debconf writes something to the database, the write normally goes to the first driver on the stack that has the item debconf is modifying, and if none do, the new item is added to the first writable database on the stack.
es: 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.

note: type: Plain text
en: Things become more interesting if one of the databases on the stack is readonly. Consider a stack of the databases foo, bar, and baz, where foo and baz are both readonly. Debconf wants to change an item, and this item is only present in baz, which is readonly. The stack driver is smart enough to realize that won't work, and it will copy the item from baz to bar, and the write will take place in bar. Now the item in baz is shadowed by the item in bar, and it will not longer be visible to debconf.
es: 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.

note: type: Plain text
en: This kind of thing is particularly useful if you want to point many systems at a central, readonly database, while still allowing things to be overridden on each system. When access controls are added to the picture, stacks allow you to do many other interesting things, like redirect all passwords to one database while a database underneath it handles everything else.
es: 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.

note: type: Plain text
en: Only one piece of configuration is needed to set up a stack:
es: Sólo se necesita un elemento de configuración para crear una pila:

note: type: Plain text
en: This is where you specify a list of other databases, by name, to tell it what makes up the stack.
es: Aquí es donde define la lista de bases de datos por nombre, para indicar qué compone la pila.

note: type: Plain text
en: For example:
es: Por ejemplo:

note: type: Plain text
en:   Name: megadb
      Driver: stack
      Stack: passworddb, configdb, companydb
es:   Name: mega-base-de-datos
      Driver: stack
      Stack: contraseña-base-de-datos, configuración-base-de-datos compañía-base-de-datos

note: type: Plain text
en: WARNING: The stack driver is not very well tested yet. Use at your own risk.
es: AVISO: El controlador «stack» aún no está bien comprobado. Utilice bajo su propio riesgo.

note: type: Plain text
en: This driver passes all requests on to another database driver. But it also copies all write requests to a backup database driver.
es: 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.

note: type: Plain text
en: You must specify the following fields to set up this driver:
es: Debe definir los siguientes campos para configurar este controlador:

note: type: Plain text
en: The database to read from and write to.
es: La base de datos desde la que leer y escribir.

note: type: Plain text
en: The name of the database to send copies of writes to.
es: El nombre de la base de datos a la que enviar copias de los datos escritos.

note: type: Plain text
en:   Name: backup
      Driver: Backup
      Db: mydb
      Backupdb: mybackupdb
es:   Name: respaldo
      Driver: Backup
      Db: mi-base-de-datos
      Backupdb: mi-base-de-datos-de-respaldo

note: type: Plain text
en: This driver passes all requests on to another database driver, outputting verbose debugging output about the request and the result.
es: 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.

note: type: SH
en: ACCESS CONTROLS
es: CONTROLES DE ACCESO

note: type: Plain text
en: When you set up a database, you can also use some fields to specify access controls. You can specify that a database only accepts passwords, for example, or make a database only accept things with "foo" in their name.
es: 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.

note: type: Plain text
en: As was mentioned earlier, this access control, if set to "true", makes a database readonly. Debconf will read values from it, but will never write anything to it.
es: 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.

note: type: Plain text
en: The text in this field is a perl-compatible regular expression that is matched against the names of items as they are requested from the database. Only if an items name matches the regular expression, will the database allow debconf to access or modify it.
es: 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.

note: type: Plain text
en: Like Accept-Name, except any item name matching this regular expression will be rejected.
es: Igual que «Accept-Name», sólo que rechazará todo elemento cuyo nombre coincida con esta expresión regular.

note: type: Plain text
en: Another regular expression, this matches against the type of the item that is being accessed. Only if the type matches the regex will access be granted.
es: 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.

note: type: Plain text
en: Like Accept-Type, except any type matching this regular expression will be rejected.
es: Igual que «Accept-Type», sólo que se rechazará todo tipo que coincida con esta expresión regular.

note: type: SH
en: FORMATS
es: FORMATOS

note: type: Plain text
en: Some of the database drivers use format modules to control the actual format in which the database is stored on disk. These formats are currently supported:
es: 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:

note: type: Plain text
en: This is a file format loosely based upon the rfc-822 format for email message headers. Similar formats are used throughout Debian; in the dpkg status file, and so on.
es: 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.

note: type: Plain text
en: Here is a more complicated example of a debconf.conf file.
es: Este es un ejemplo más complicado de un fichero «debconf.conf».

note: type: Plain text
en:   # This stanza is used for general debconf setup.
      Config: stack
      Templates: templates
      Log: developer
      Debug: developer
es:   # Esta definición se usa para una configuración general
      # de debconf.
      Config: stack
      Templates: templates
      Log: developer
      Debug: developer

note: type: Plain text
en:   # This is my own local database.
      Name: mydb
      Driver: DirTree
      Directory: /var/cache/debconf/config
es:   # Esta es mi propia base de datos.
      Name: mi-base-de-datos
      Driver: DirTree
      Directory: /var/cache/debconf/config

note: type: Plain text
en:   # This is another database that I use to hold
      # only X server configuration.
      Name: X
      Driver: File
      Filename: /etc/X11/debconf.dat
      Mode: 644
      # It's sorta hard to work out what questions
      # belong to X; it should be using a deeper
      # tree structure so I could just match on ^X/
      # Oh well.
      Accept-Name: xserver|xfree86|xbase
es:   # 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

note: type: Plain text
en:   # This is our company's global, read-only
      # (for me!) debconf database.
      Name: company
      Driver: LDAP
      Server: debconf.foo.com
      BaseDN: cn=debconf,dc=foo,dc=com
      BindDN: uid=admin,dc=foo,dc=com
      BindPasswd: secret
      Readonly: true
      # I don't want any passwords that might be
      # floating around in there.
      Reject-Type: password
      # If this db is not accessible for whatever
      # reason, carry on anyway.
      Required: false
es:   # 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

note: type: Plain text
en:   # I use this database to hold
      # passwords safe and secure.
      Name: passwords
      Driver: File
      Filename: /etc/debconf/passwords
      Mode: 600
      Accept-Type: password
es:   # 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

note: type: Plain text
en:   # Let's put them all together
      # in a database stack.
      Name: stack
      Driver: Stack
      Stack: passwords, X, mydb, company
      # So, all passwords go to the password database.
      # Most X configuration stuff goes to the X
      # database, and anything else goes to my main
      # database. Values are looked up in each of those
      # in turn, and if none has a particular value, it
      # is looked up in the company-wide LDAP database
      # (unless it's a password).
es:   # 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).

note: type: Plain text
en:   # A database is also used to hold templates. We
      # don't need to make this as fancy.
      Name: templates
      Driver: File
      Mode: 644
      Format: 822
      Filename: /var/cache/debconf/templates
es:   # 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

note: type: SH
en: NOTES
es: NOTAS

note: type: Plain text
en: If you use something like ${HOME} in this file, it will be replaced with the value of the named environment variable.
es: Si en este fichero usa algo parecido a «${HOME}», se reemplazará con el valor de la variable de entorno nombrada.

note: type: Plain text
en: Environment variables can also be used to override the databases on the fly, see B<debconf>(7)
es: También puede usar variables de entorno para anular en el momento algo en las bases de datos, consulte B<debconf>(7)

note: type: Plain text
en: The field names (the part of the line before the colon) is case-insensitive. The values, though, are case sensitive.
es: 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.

note: type: SH
en: PLANNED ENHANCEMENTS
es: MEJORAS PREVISTAS

note: type: Plain text
en: More drivers and formats. Some ideas include: A SQL driver, with the capability to access a remote database.  A DHCP driver, that makes available some special things like hostname, IP address, and DNS servers.  A driver that pulls values out of public DNS records TXT fields.  A format that is compatible with the output of cdebconf.  An override driver, which can override the value field or flags of all requests that pass through it.
es: 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.

note: type: SH
en: FILES
es: FICHEROS

note: type: Plain text
en: confmodule - communicate with Debian configuration system FrontEnd.
es: confmodule - Interfaz para comunicarse con el sistema de configuración de Debian.

note: type: Plain text
en: This is a library of shell functions that eases communication with Debian's configuration management system. It can communicate with a FrontEnd via the debconf protocol. The design is that each command in the protocol is represented by one function in this module. The functionname is the same as the command, except it is prefixed with "db_" and is lower-case. Call the function and pass in any parameters you want to follow the command. Any textual return code from the FrontEnd will be returned to you in the $RET variable, while the numeric return code from the FrontEnd will be returned as a return code (and so those return codes must be captured or ignored).
es: Esta es una biblioteca de funciones de intérprete de órdenes que facilita la comunicación con el sistema de gestión de configuración de Debian. Se puede comunicar con una interfaz («FrontEnd») mediante el protocolo de debconf. El diseño es tal que cada orden en el protocolo se representa en este módulo con una función. El nombre de la función es igual que el de la orden, con la diferencia de que tiene el prefijo «db_» y que está en minúscula. Invoque la función e introduzca a continuación de la orden cualquier parámetro que desee. Todo el código textual de retorno de la interfaz le llegará en la variable «$RET», mientras que el código numérico de retorno de la interfaz se devolverá como código de retorno, posibilitando capturar o ignorar estos códigos de retorno.

note: type: Plain text
en: Once this library is loaded, any text you later output will go to standard
    error, rather than standard output. This is a good thing in general, because
    text sent to standard output is interpreted by the FrontEnd as commands. If
    you do want to send a command directly to the FrontEnd, you must output it
    to file descriptor 3, like this:
      echo GET foo/bar E<gt>&3
es: Una vez que se haya cargado esta biblioteca, todo texto enviado por la
    salida irá a la salida de error estándar, en lugar de la salida estándar.
    En general, es bueno, ya que el texto enviado por la salida estándar será
    interpretado por la interfaz como una orden. Si desea enviar una orden
    directamente a la interfaz, deberá enviarlo como salida al descriptor de
    fichero 3, tal y como se muestra: echo GET foo/bar E<gt>&3

note: type: Plain text
en: The library checks to make sure it is actually speaking to a FrontEnd by examining the DEBIAN_HAS_FRONTEND variable. If it is set, a FrontEnd is assumed to be running. If not, the library turns into one, and runs a copy of the script that loaded the library connected to it. This means that if you source this library, you should do so very near to the top of your script, because everything before the sourcing of the library may well be run again.
es: La biblioteca comprueba que realmente se está comunicando con una interfaz examinando la variable «DEBIAN_HAS_FRONTEND». Si está definida, la interfaz supondrá que está en ejecución. En caso contrario, la biblioteca se convierte en una, y ejecuta una copia del script que ha cargado la biblioteca conectada a él. Esto es, si carga la biblioteca, tendría que hacerlo al principio del script ya que puede que se ejecute otra vez todo lo que aparezca antes de cargar la biblioteca.

note: type: Plain text
en: B<debconf-devel>(7), B<dpkg-preconfigure>(8), B<dpkg-reconfigure>(8), debconf_specification in the debian-policy package
es: B<debconf-devel>(7), B<dpkg-preconfigure>(8), B<dpkg-reconfigure>(8), «debconf_specification» en el paquete debian-policy

note: type: Plain text
en: debconf - Debian package configuration system
es: debconf - Sistema de configuración de paquetes de Debian

note: type: Plain text
en: Debconf is a configuration system for Debian packages. There is a rarely-used command named debconf, documented in B<debconf>(1)
es: Debconf es un sistema de configuración para paquetes de Debian. Existe una orden raramente usada llamada debconf, documentada en B<debconf>(1)

note: type: Plain text
en: Debconf provides a consistent interface for configuring packages, allowing you to choose from several user interface frontends. It supports preconfiguring packages before they are installed, which allows large installs and upgrades to ask you for all the necessary information up front, and then go do the work while you do something else. It lets you, if you're in a hurry, skip over less important questions and information while installing a package (and revisit it later).
es: Debconf ofrece una interfaz uniforme para la configuración de paquetes, que  permite escoger entre varias interfaces de usuario. Es capaz de preconfigurar paquetes antes de la instalación, lo cual permite que grandes instalaciones y actualizaciones soliciten toda la información necesaria para su puesta a punto, para después proseguir la instalación mientras usted hace algo distinto. Le permite, si tiene prisa, omitir las preguntas e información de menor importancia al instalar un paquete, y verlas más tarde.

note: type: SH
en: Preconfiguring packages
es: Preconfigurar paquetes

note: type: Plain text
en: Debconf can configure packages before they are even installed onto your system. This is useful because it lets all the questions the packages are going to ask be asked at the beginning of an install, so the rest of the install can proceed while you are away getting a cup of coffee.
es: Debconf puede configurar paquetes incluso antes de su instalación en su sistema. Es útil ya que permite que los paquetes realicen todas las preguntas al inicio de la instalación, de forma que la instalación pueda proceder mientras se toma una taza de café.

note: type: Plain text
en: If you use apt (version 0.5 or above), and you have apt-utils installed, each package apt installs will be automatically preconfigured. This is controlled via I</etc/apt/apt.conf.d/70debconf>
es: Si usa apt (la versión 0.5 o posterior) y apt-utils está instalado, cada paquete que apt instale se preconfigurará automáticamente. Esto se controla mediante I</etc/apt/apt.conf.d/70debconf>.

note: type: Plain text
en: Sometimes you might want to preconfigure a package by hand, when you're not installing it with apt. You can use B<dpkg-preconfigure>(8)  to do that, just pass it the filenames of the packages you want to preconfigure. You will need apt-utils installed for that to work.
es: A veces puede que desee preconfigurar un paquete directamente cuando no lo instala con apt. Para ello, puede usar B<dpkg-preconfigure>(8); simplemente introduzca los nombres de fichero de los paquetes que desea preconfigurar. Necesitará que apt-utils esté instalado para que funcione.

note: type: SH
en: Reconfiguring packages
es: Reconfigurar paquetes

note: type: Plain text
en: Suppose you installed the package, and answered debconf's questions, but now that you've used it awhile, you realize you want to go back and change some of your answers. In the past, reinstalling a package was often the thing to do when you got in this situation, but when you reinstall the package, debconf seems to remember you have answered the questions, and doesn't ask them again (this is a feature).
es: Suponga que ha instalado el paquete y que ha contestado a las preguntas de debconf, pero ya lleva un tiempo usándolo y se da cuenta de que desea volver atrás y cambiar alguna de sus respuestas. En el pasado, esta situación se solucionaba habitualmente instalando el paquete otra vez, pero cuando reinstala un paquete parece que debconf recuerda cómo contestó a las preguntas, y no las plantea otra vez (esto es una funcionalidad).

note: type: Plain text
en: Luckily, debconf makes it easy to reconfigure any package that uses it.
    Suppose you want to reconfigure debconf itself. Just run, as root:
      dpkg-reconfigure debconf
es: Afortunadamente, debconf facilita reconfigurar cualquier paquete
    que hace uso de él.
    Suponga que desea reconfigurar precisamente debconf. Sencillamente,
    ejecute lo siguiente como administrador:
      dpkg-reconfigure debconf

note: type: Plain text
en: This will ask all the questions you saw when debconf was first installed.  It may ask you other questions as well, since it asks even low priority questions that may have been skipped when the package was installed.  You can use it on any other package that uses debconf, as well.
es: Esto planteará todas las preguntas que vio la primera vez que instaló debconf. Puede que también le haga otras preguntas, ya que pregunta incluso las cuestiones con baja prioridad que se pueden haber omitido al instalar el paquete. Puede usar esta orden con cualquier otro paquete que también usa debconf.

note: type: SH
en: Frontends
es: Interfaces

note: type: Plain text
en: One of debconf's unique features is that the interface it presents to you is only one of many, that can be swapped in at will. There are many debconf frontends available:
es: Una de las características únicas de debconf es que la interfaz que le presenta es sólo una de entre varias posibles, que puede intercambiar como desee. Puede interactuar con debconf a través de varias interfaces:

note: type: Plain text
en: The default frontend, this uses the B<whiptail>(1)  or B<dialog>(1)  programs to display questions to you. It works in text mode.
es: La interfaz predefinida, que usa los programas B<whiptail>(1) o B<dialog>(1) para mostrar las preguntas. Funciona en modo de texto.

note: type: Plain text
en: The most traditional frontend, this looks quite similar to how Debian configuration always has been: a series of questions, printed out at the console using plain text, and prompts done using the readline library. It even supports tab completion. The libterm-readline-gnu-perl package is strongly recommended if you chose to use this frontend; the default readline module does not support prompting with default values.  At the minimum, you'll need the perl-modules package installed to use this frontend.
es: La interfaz más tradicional, que se parece a como siempre ha sido la configuración de Debian: una serie de preguntas mostradas por el intérprete de órdenes usando texto simple, y que realiza preguntas a través de la biblioteca readline. También acepta el completado automático con el tabulador. Recomendamos encarecidamente el paquete libterm-readline-gnu-perl si escoge usar esta interfaz; el módulo predefinido de readline no permite realizar preguntas con valores predefinidos especiales. Como mínimo, necesitará instalar el paquete perl-modules para usar esta interfaz.

note: type: Plain text
en: This frontend has some special hotkeys. Pageup (or ctrl-u)  will go back to the previous question (if that is supported by the package that is using debconf), and pagedown (or ctrl-v) will skip forward to the next question.
es: Esta interfaz posee algunas teclas rápidas especiales. La tecla repág (o «Ctrl-u») volverá a la última pregunta (si es compatible con el paquete que usa debconf), y la tecla avpág (o «Ctrl-v») pasará a la siguiente pregunta.

note: type: Plain text
en: This is the best frontend for remote admin work over a slow connection, or for those who are comfortable with unix.
es: Esta es la mejor interfaz para tareas de administración remota a través de una conexión lenta, o para que aquellos que están cómodos con Unix.

note: type: Plain text
en: This is the anti-frontend. It never interacts with you at all, and makes the default answers be used for all questions. It might mail error messages to root, but that's it; otherwise it is completely silent and unobtrusive, a perfect frontend for automatic installs. If you are using this front-end, and require non-default answers to questions, you will need to preseed the debconf database; see the section below on Unattended Package Installation for more details.
es: Esta es la anti interfaz. Nunca interactúa con usted y acepta las respuestas predefinidas para todas las preguntas. Puede que envíe correos de error al administrador, pero eso es todo; por otra parte, es totalmente silenciosa y discreta, la interfaz perfecta para instalaciones automáticas. Si está usando esta interfaz y necesita respuestas no predefinidas para preguntas, tendrá que configurar previamente («preseed») la base de datos de debconf; para más información consulte la sección más abajo «Instalación desatendida de paquetes».

note: type: Plain text
en: This is for those fanatics who have to do everything in a text editor. It runs your editor on a file that looks something like a typical unix config file, and you edit the file to communicate with debconf. Debconf's author prefers to not comment regarding the circumstances that led to this frontend being written.
es: Esto es para aquellos fanáticos que tienen que hacer todo lo posible con un editor de texto. Ejecuta su editor en un fichero similar a un fichero de configuración típico de Unix, y puede editar el fichero para comunicarse con debconf. Los autores de debconf prefieren no hacer comentarios sobre las circunstancias que llevaron a escribir esta interfaz.

note: type: Plain text
en: This frontend acts as a web server, that you connect to with your web browser, to browse the questions and answer them.  It has a lot of promise, but is a little rough so far.  When this frontend starts up, it will print out the location you should point your web browser to. You have to run the web browser on the same machine you are configuring, for security reasons.
es: Esta interfaz actúa como un servidor web al que se conecta con su navegador de internet para explorar y responder a las preguntas. Es muy prometedor aunque por ahora un tanto inacabado. Al iniciarse, mostrará la ubicación a la que debería apuntar su navegador web. Por razones de seguridad, tendrá que ejecutar el navegador en la misma máquina que está configurando.

note: type: Plain text
en: Do keep in mind that this is not a very secure frontend.  Anyone who has access to the computer being configured can currently access the web server and configure things while this frontend is running. So this is more of a proof of concept than anything.
es: Tenga en cuenta que no es una interfaz muy segura. Cualquier persona con acceso al sistema que se está configurando puede acceder al servidor web y configurar cosas mientras se esté ejecutando esta interfaz. Esto es más una idea puesta en práctica que una funcionalidad acabada.

note: type: Plain text
en: You can change the default frontend debconf uses by reconfiguring
    debconf. On the other hand, if you just want to change the frontend
    for a minute, you can set the DEBIAN_FRONTEND environment variable to
    the name of the frontend to use. For example:
      DEBIAN_FRONTEND=readline apt-get install slrn
es: Puede cambiar la interfaz que usa debconf reconfigurando debconf.
    Por otra parte, si desea cambiar la interfaz sólo por un momento
    puede definir la variable de entorno «DEBIAN_FRONTEND» con el
    nombre de la interfaz a usar. Por ejemplo:
      DEBIAN_FRONTEND=readline apt-get install slrn

note: type: Plain text
en: The B<dpkg-reconfigure>(8)  and B<dpkg-preconfigure>(8)  commands also let you pass I<--frontend=> to them, followed by the frontend you want them to use.
es: Las órdenes B<dpkg-reconfigure>(8) y B<dpkg-preconfigure>(8) aceptan la opción I<--frontend=>, seguida de la interfaz que desea que usen.

note: type: Plain text
en: Note that not all frontends will work in all circumstances. If a frontend fails to start up for some reason, debconf will print out a message explaining why, and fall back to the next-most similar frontend.
es: Tenga en cuenta que no todas las interfaces funcionan en todas las situaciones. Si una interfaz falla al iniciarse por cualquier razón, debconf mostrará un mensaje que explica la razón y usará la siguiente interfaz más parecida.

note: type: SH
en: Priorities
es: Prioridades

note: type: Plain text
en: Another nice feature of debconf is that the questions it asks you are prioritized. If you don't want to be bothered about every little thing, you can set up debconf to only ask you the most important questions.  On the other hand, if you are a control freak, you can make it show you all questions. Each question has a priority. In increasing order of importance:
es: Otra característica interesante de debconf es que prioriza las preguntas que se le hacen. Si no desea ser molestado por cada pequeña cuestión puede configurar debconf para que sólo plantee las preguntas más importantes. Por otra parte, si es un obseso del control puede hacer que muestre todas las preguntas. Cada pregunta tiene una prioridad. En orden creciente de importancia:

note: type: Plain text
en: Very trivial questions that have defaults that will work in the vast majority of cases.
es: Preguntas muy triviales con valores predefinidos que funcionarán en la gran mayoría de los casos.

note: type: Plain text
en: Normal questions that have reasonable defaults.
es: Preguntas normales con unos valores predefinidos razonables.

note: type: Plain text
en: Questions that don't have a reasonable default.
es: Preguntas que no tienen un valor predefinido razonable.

note: type: Plain text
en: Questions that you really, really need to see (or else).
es: Las preguntas que realmente, de verdad, necesita ver.

note: type: Plain text
en: Only questions with a priority equal to or greater than the priority you choose will be shown to you. You can set the priority value by reconfiguring debconf, or temporarily by passing I<--priority=> followed by the value to the B<dpkg-reconfigure>(8)  and B<dpkg-preconfigure>(8)  commands, or by setting the DEBIAN_PRIORITY environment variable.
es: Sólo se le mostrarán las preguntas con una prioridad igual o superior a la prioridad que seleccione. Puede definir el valor de la prioridad reconfigurando debconf, introduciendo temporalmente I<--priority=> seguido del valor a las órdenes B<dpkg-reconfigure>(8) y B<dpkg-preconfigure>(8), o definiendo la variable de entorno «DEBIAN_PRIORITY».

note: type: SH
en: Backend Database
es: Sistema de la base de datos

note: type: Plain text
en: Debconf uses a rather flexible and potentially complicated backend database for storing data such as the answers to questions. The file B</etc/debconf.conf> is used to configure this database. If you need to set up something complicated, like make debconf read a remote database to get defaults, with local overrides, read the B<debconf.conf>(5)  man page for all the gory details. Generally, the backend database is located in B</var/cache/debconf/> .
es: Debconf usa un sistema de base de datos muy flexible y potencialmente complicado para almacenar datos tales como las respuestas a las preguntas. El fichero B</etc/debconf.conf> sirve para configurar esta base de datos. Si necesita configurar algo complicado, como hacer que debconf lea una base de datos remota para obtener los valores predefinidos, introduciendo cambios locales, lea la página de manual B<debconf.conf>(5) para todos los detalles específicos. Habitualmente, el sistema de la base de datos se encuentra en B</var/cache/debconf/>.

note: type: SH
en: Unattended Package Installation
es: Instalación desatendida de paquetes

note: type: Plain text
en: If you have many machines to manage you will sometimes find yourself in the position of needing to perform an unattended installation or upgrade of packages on many systems, when the default answers to some configuration questions are not acceptable. There are many ways to approach this; all involve setting up a database and making debconf use it to get the answers you want.
es: Si gestiona varios sistemas, a veces tendrá la necesidad de realizar una instalación o actualización desatendida de paquetes en varios sistemas, incluyendo cuando las respuestas predefinidas a algunas preguntas de configuración no sean aceptables. Existen varias formas de abordar esto; todas implican la creación de una base de datos y hacer que debconf use las respuestas que desea.

note: type: Plain text
en: You should really read B<debconf.conf>(5)  before this section, as you need to understand how debconf's databases work.
es: Recomendamos que lea B<debconf.conf>(5) antes de leer esta sección, ya que tiene que entender el funcionamiento de las bases de datos de debconf.

note: type: Plain text
en: The easiest way to set up the database is to install the packages on one machine and answer their questions as usual. Or you might just use B<dpkg-preconfigure>(8)  to configure a set of packages without actually installing them. Or you might even decide to write a plain text debconf database by hand or something.
es: La forma más sencilla de configurar la base de datos es instalar los paquetes en un sistema y responder a las preguntas de la forma habitual, o puede usar B<dpkg-preconfigure>(8) para configurar un conjunto de paquetes sin instalarlos realmente. También puede decidir escribir una base de datos de debconf a mano o algo así.

note: type: Plain text
en: Once you have the database, you need to figure out how to make the remote systems use it. This depends of course on the configuration of those systems and what database types they are set up to use.
es: Una vez que tiene la base de datos, tendrá que averiguar cómo hacer que los sistemas remotos lo usen. Por supuesto, esto depende de la configuración de esos sistemas y de los tipos de base de datos para los que están configurados.

note: type: Plain text
en: If you are using the LDAP debconf database, an entire network of debian machines can also have any or all package installation questions answered automatically by a single LDAP server.
es: Si está usando la base de datos LDAP de debconf, puede responder a las preguntas de instalación de paquetes para toda una red de sistemas Debian con un sólo servidor LDAP.

note: type: Plain text
en: But perhaps you're using something a little bit easier to set up like, say, the default debconf database configuration, or you just don't want your remote systems to use LDAP all the time. In this case the best approach is to temporarily configure the remote systems to stack your database underneath their own existing databases, so they pull default values out of it. Debconf offers two environment variables, DEBCONF_DB_FALLBACK and DEBCONF_DB_OVERRIDE, to make it easy to do this on the fly. Here is a sample use:
es: Pero puede que esté usando algo más sencillo de configurar que, por ejemplo, la configuración predefinida de la base de datos debconf, o sencillamente no desea que sus sistemas remotos usen LDAP todo el tiempo. En este caso, el mejor enfoque es configurar temporalmente los sistemas remotos para que apilen («stack») su base de datos debajo de sus bases de datos existentes de forma que obtengan de éste los valores predefinidos. Debconf ofrece dos variables de entorno, «DEBCONF_DB_FALLBACK» y «DEBCONF_DB_OVERRIDE» para facilitar realizar esto en el momento. Éste es un ejemplo de uso:

note: type: Plain text
en: This makes the debconf on the remote host read in the data that is piped across the ssh connection and interpret it as a plain text format debconf database. It then uses that database as a fallback database -- a read-only database that is queried for answers to questions if the system's main debconf database lacks answers.
es: Esto hace que el sistema debconf en el sistema remoto lea los datos introducidos a través de la conexión ssh, interpretándolo como un formato de texto simple de base de datos de debconf. A continuación, usa esa base de datos como una base de datos alternativa; una base de datos de sólo lectura que se consulta para obtener las respuestas a preguntas en el caso de que la base de datos de debconf principal del sistema no tenga respuestas.

note: type: Plain text
en: Here's another way to use the DEBCONF_DB_FALLBACK environment variable:
es: Aquí tiene otra forma de usar la variable de entorno «DEBCONF_DB_FALLBACK»:

note: type: Plain text
en: Here ssh is used to set up a tunneled LDAP connection and run debconf.  Debconf is told to use the LDAP server as the fallback database. Note the use of "{host:localhost}" to configure how debconf accesses the LDAP database by providing the "host" field with a value of "localhost".
es: En este caso, se usa una conexión ssh para configurar una conexión LDAP y para ejecutar debconf. Se dice a Debconf que use el servidor LDAP como la base de datos alternativa. Observe el uso de «{host:localhost}» para configurar la forma en que debconf accede a la base de datos LDAP proporcionando el campo «host» con un valor de «localhost».

note: type: Plain text
en: Here's another method:
es: Éste es otro método:

note: type: Plain text
en: Here you copy the database over with scp, and then ssh over and make debconf use the file you copied over. This illustrates a shorthand you can use in the DEBCONF_DB_FALLBACK parameters -- if a field name is left off, it defaults to "filename".
es: En este caso, se copia la base de datos a través de scp, y después a través de ssh, haciendo que debconf use el fichero copiado. Esto ilustra una forma abreviada que puede usar como parámetro de «DEBCONF_DB_FALLBACK». Si no se rellena un nombre de campo, el valor predefinido es «filename».

note: type: Plain text
en: There is only one problem with these uses of the DEBCONF_DB_FALLBACK parameter: While the fallback database can provide answers to questions the other debconf databases have never seen, it is only queried as a fallback; after the other databases. If you need to instead temporarily override an existing value on the remote host, you should instead use the DEBCONF_DB_OVERRIDE variable. Like DEBCONF_DB_FALLBACK, it sets up a temporary database, but this database is consulted before any others, and can be used to override existing values.
es: Sólo existe un problema al usar el parámetro «DEBCONF_DB_FALLBACK» de esta forma: mientras que la base de datos alternativa puede proporcionar las respuestas a preguntas que las otras bases de datos de debconf nunca han visto, sólo se consulta después de consultar las otras bases de datos. Si desea anular de forma temporal un valor existente en el sistema remoto debería usar la variable «DEBCONF_DB_OVERRIDE». Al igual que «DEBCONF_DB_FALLBACK», configura una base de datos temporal, pero esta base de datos se consulta antes que las demás y se puede usar para anular valores existentes.

note: type: SH
en: Developing for Debconf
es: Desarrollar con Debconf

note: type: Plain text
en: Package developers and others who want to develop packages that use debconf should read B<debconf-devel>(7)  .
es: Los desarrolladores de paquetes y otros que deseen desarrollar paquetes que usan debconf deberían leer B<debconf-devel>(7).

note: type: Plain text
en: Briefly, debconf communicates with maintainer scripts or other programs via standard input and output, using a simple line-oriented command language similar to that used by common internet protocols such as SMTP. Programs use this protocol to ask debconf to display questions to the user, and retrieve the user's answers. The questions themselves are defined in a separate file, called the "templates file", which has a format not unlike a debian control file.
es: Resumiendo, debconf se comunica con los scripts del desarrollador u otros programas a través de la entrada y salida estándar usando un lenguaje parecido a la línea de órdenes similar a los usados por protocolos de Internet comunes, tales como SMTP. Los programas usan este protocolo para hacer que debconf muestre preguntas al usuario, y obtener sus respuestas. Las preguntas en sí se definen en un fichero separado, llamado el «fichero de plantillas», el cual tiene un formato similar al fichero de control de Debian.

note: type: Plain text
en: Debian packages which use debconf typically provide both a templates file and a "config" script (run to preconfigure the package) in the control metadata section of the package.
es: Habitualmente, los paquetes de Debian que usan debconf proporcionan un fichero de plantillas y un script de configuración (que se ejecuta para preconfigurar el paquete) en la sección de metadatos de control del paquete.

note: type: SH
en: ENVIRONMENT
es: VARIABLES DE ENTORNO

note: type: Plain text
en: Used to temporarily change the frontend debconf uses. See above.
es: Se usa para cambiar temporalmente la interfaz de debconf. Consulte más arriba.

note: type: Plain text
en: Used to temporarily change the minimum priority of question debconf will display. See above.
es: Se usa para cambiar temporalmente la prioridad mínima de la pregunta que debconf mostrará. Consulte más arriba.

note: type: Plain text
en: Turns on debugging output on standard error. May be set to a facility name or a regular expression which matches a facility name (such as '.*' to output all debug info). The facility names include:
es: Activa la salida de mensajes de depuración a través de la salida de error estándar. Se puede definir con el nombre de una utilidad («facility») o una expresión regular que coincide con el nombre de una función (como «.*» para mostrar toda la información de depuración). Los nombres de utilidad incluyen:

note: type: Plain text
en: Debugging info of interest to a debconf user.
es: Información de depuración de interés para un usuario de debconf.

note: type: Plain text
en: Debugging info of interest to a package developer.
es: Información de depuración de interés para un desarrollador de paquetes.

note: type: Plain text
en: Debugging info about the backend database.
es: Información de depuración del sistema de base de datos.

note: type: Plain text
en: Set to "yes" to disable some warnings that debconf may display. Does not suppress display of fatal errors.
es: Se define con «yes» para desactivar algunos avisos que debconf puede mostrar. No suprime mostrar los errores fatales.

note: type: Plain text
en: Set to "yes" to enable terse mode, in which debconf frontends cut down on the verbiage as much as possible.
es: Se define con «yes» para activar el modo conciso, en el cual las interfaces de debconf reducen la verbosidad tanto como es posible.

note: type: Plain text
en: Stack a database after the normally used databases, so that it is used as a fallback to get configuration information from. See "Unattended Package Installation" above. If the value of the variable is the name of an existing database in debconf.conf, then that database will be used.  Otherwise, the environment variable can be used to configure a database on the fly, by telling the type of database, and optionally passing field:value settings, inside curly braces after the type. Spaces are used to separate fields, so you cannot specify a field value containing whitespace.
es: Apila («stack») una base de datos después de las bases de datos usadas habitualmente, de forma que se usa como una alternativa de dónde obtener la información de configuración. Consulte «Instalación desatendida de paquetes», más arriba. Si el valor de la variable es el nombre de una base de datos existente en «debconf.conf», se usará esa base de datos. De no ser así, la variable de entorno se puede usar para configurar una base de datos en el momento, diciendo el tipo de base datos e introduciendo de forma opcional las opciones «campo:valor» entre corchetes, {}, después del tipo de base de datos. Los campos se separan con espacios, y por ello no puede definir un valor de campo que tenga espacios en blanco.

note: type: Plain text
en: Thus, this uses the fallbackdb in debconf.conf:
      DEBCONF_DB_FALLBACK=fallbackdb
es: Por lo tanto, esto usa «fallbackdb» en «debconf.conf»:
      DEBCONF_DB_FALLBACK=fallbackdb

note: type: Plain text
en: While this sets up a new database of type File, and tells it a filename to
    use and turns off backups:
      DEBCONF_DB_FALLBACK=File{Filename:/root/config.dat Backup:no}
es: Mientras que esto configura una base de datos nueva de tipo «File»,
    y le dice el nombre de fichero a usar, desactivando las copias de
    respaldo:
      DEBCONF_DB_FALLBACK=File{Filename:/root/config.dat Backup:no}

note: type: Plain text
en: And as a shorthand, this sets up a database of type File with a filename:
      DEBCONF_DB_FALLBACK=File{/root/config.dat}
es: Y de forma abreviada, esto configura una base de datos de tipo «File» con
    un nombre de fichero:
      DEBCONF_DB_FALLBACK=File{/root/config.dat}

note: type: Plain text
en: Note that if a fallback database is set up on the fly, it will be read-only by default.
es: Observe que una base de datos alternativa se configura en el momento, y por omisión es de sólo lectura.

note: type: Plain text
en: Stack a database before the normally used databases, so that it can override values from them. The value of the variable works the same as does the value of DEBCONF_DB_FALLBACK.
es: Apila una base de datos sobre las bases de datos usadas habitualmente, de forma que anula los valores contenidos en éstos. El valor de la variable funciona de la misma forma que el valor de «DEBCONF_DB_FALLBACK».

note: type: Plain text
en: Use a given database instead of the normally used databases.  This may be useful for testing with a separate database without having to create a separate debconf.conf, or to avoid locking the normal databases.
es: Usa una base de datos dada en lugar de las bases de datos usadas habitualmente. Puede ser útil para realizar pruebas con una base de datos separada sin la necesidad de crear un fichero «debconf.conf» independiente, o para evitar el bloqueo de las bases de datos normales.

note: type: Plain text
en: If this environment variable is set, debconf will ignore a user's ~/.debconfrc file, and use the system one instead.  If it is set to the name of a regular file, debconf will use that file in preference to the system configuration files.
es: Si se define esta variable de entorno, debconf omitirá el fichero de usuario «~/.debconfrc» y usará en su lugar el del sistema. Si se define con el nombre de un fichero normal, debconf usará ese fichero en lugar de los ficheros de configuración del sistema.

note: type: Plain text
en: If this environment variable is set, debconf will use dialog in preference to whiptail for the dialog frontend.
es: Si se define esta variable de entorno, debconf utilizará dialog en lugar de whiptail como la interfaz de diálogo de debconf.

note: type: Plain text
en: If this environment variable is set, debconf will use Xdialog in preference to whiptail for the dialog frontend.
es: Si se define esta variable de entorno, debconf utilizará Xdialog en lugar de whiptail como la interfaz de diálogo.

note: type: Plain text
en: Set to "true" to cause the seen flag to be set for questions asked in the noninteractive frontend.
es: Se define con «true» para provocar que la marca «seen» se establezca en las preguntas planteadas en la interfaz no interactiva.

note: type: SH
en: BUGS
es: FALLOS

note: type: Plain text
en: Probably quite a few, there's a lot of code here.
es: Posiblemente varios, este programa tiene mucho código.

note: type: Plain text
en: If you do file a bug report, be sure to include the following information:
es: Si remite un informe de fallo, asegúrese de incluir la siguiente información:

note: type: Plain text
en: The debconf frontend you were using when the problem occurred
es: La interfaz de debconf que estaba usando cuando se detectó el problema.

note: type: Plain text
en: What you did to trigger the problem.
es: Qué hizo para desencadenar el problema.

note: type: Plain text
en: The full text of any error messages. If you can reproduce the bug, do so with DEBCONF_DEBUG='.*' set and exported. This speeds up debugging a lot.
es: El texto completo de cualquier mensaje de error. Si puede reproducir el fallo, hágalo con «DEBCONF_DEBUG='.*' » definido («set») y exportado («export»). Esto agiliza mucho la depuración.

note: type: Plain text
en: debconf - developers guide
es: debconf - Guía del desarrollador

note: type: Plain text
en: This is a guide for developing packages that use debconf.
es: Esta es una guía para el desarrollo de paquetes que usan debconf.

note: type: Plain text
en: This manual assumes that you are familiar with debconf as a user, and are familiar with the basics of debian package construction.
es: Este manual asume que está familiarizado con debconf como usuario, y que conoce los conceptos básicos de la construcción de paquetes debian.

note: type: Plain text
en: This manual begins by explaining two new files that are added to debian packages that use debconf. Then it explains how the debconf protocol works, and points you at some libraries that will let your programs speak the protocol. It discusses other maintainer scripts that debconf is typically used in: the postinst and postrm scripts. Then moves on to more advanced topics like shared debconf templates, debugging, and some common techniques and pitfalls of programming with debconf. It closes with a discussion of debconf's current shortcomings.
es: Este manual comienza explicando dos nuevos ficheros que se añaden a paquetes debian que usan debconf. A continuación, explica cómo funciona el protocolo de debconf, y señala las bibliotecas que permitirán que sus programas hablen tal protocolo. Se discuten otros scripts de desarrollador que habitualmente usan debconf: los scripts postinst (postinstalación) y postrm (posteliminación). Continua con temas más avanzados como el sistema de plantillas compartidas de debconf, depuración de fallos, y algunas técnicas comunes y problemas a la hora de programar con debconf. Finaliza con un análisis de las deficiencias actuales de debconf.

note: type: SH
en: THE CONFIG SCRIPT
es: EL SCRIPT CONFIG

note: type: Plain text
en: Debconf adds an additional maintainer script, the config script, to the set of maintainer scripts that can be in debian packages (the postinst, preinst, postrm, and prerm). The config script is responsible for asking any questions necessary to configure the package.
es: Debconf añade un script de desarrollador adicional, el script «config», al conjunto de scripts de desarrollador que pueden existir en paquetes debian («postinst», «preinst», «postrm», y «prerm»). El script «config» es el responsable de plantear cualquier pregunta necesaria para la configuración del paquete.

note: type: Plain text
en: Note: It is a little confusing that dpkg refers to running a package's postinst script as "configuring" the package, since a package that uses debconf is often fully pre-configured, by its config script, before the postinst ever runs. Oh well.
es: Nota: Es un poco confuso que dpkg se refiere a ejecutar el script «postinst» como la «configuración» del paquete, ya que, habitualmente, un paquete que usa debconf está totalmente preconfigurado mediante el script «config» antes de que se ejecute el script de postinstalación. Pero bueno.

note: type: Plain text
en: Like the postinst, the config script is passed two parameters when it is run. The first tells what action is being performed, and the second is the version of the package that is currently installed. So, like in a postinst, you can use dpkg --compare-versions on $2 to make some behavior happen only on upgrade from a particular version of a package, and things like that.
es: Al igual que el script «postinst», el script «config» acepta dos parámetros cuando se ejecuta. El primero dice la acción que se está realizando, y el segundo la versión del paquete actualmente instalado. Por lo tanto, al igual que con un script «postinst», puede usar «dpkg --compare-versions» con «$2» para hacer que un comportamiento sólo aparezca durante la actualización a partir de una versión en particular, y otros comportamientos parecidos.

note: type: Plain text
en: The config script can be run in one of three ways:
es: El script «config» se puede ejecutar de tres formas distintas:

note: type: Plain text
en: If a package is pre-configured, with dpkg-preconfigure, its config script is run, and is passed the parameters "configure", and installed-version.
es: Si el paquete está preconfigurado con «dpkg-preconfigure», se ejecuta el script «config» y se le introducen los parámetros «configure» y la versión instalada («installed-version»).

note: type: Plain text
en: When a package's postinst is run, debconf will try to run the config script then too, and it will be passed the same parameters it was passed when it is pre-configured. This is necessary because the package might not have been pre-configured, and the config script still needs to get a chance to run. See HACKS for details.
es: Cuando se ejecuta el script «postinst» de un paquete debconf intentará ejecutar también el script «config», al que se le introducirán los mismos parámetros que se introducen cuando se preconfigura. Es necesario ya que puede que el paquete aún no se haya preconfigurado, y que el script «config» todavía necesite una oportunidad para ejecutarse. Para más detalles consulte «ARREGLOS».

note: type: Plain text
en: If a package is reconfigured, with dpkg-reconfigure, its config script it run, and is passed the parameters "reconfigure" and installed-version.
es: Si el paquete se reconfigura con «dpkg-reconfigure», se ejecuta el script «config», y se le introducen los parámetros «reconfigure» y la versión instalada («installed-version»).

note: type: Plain text
en: Note that since a typical package install or upgrade using apt runs steps 1 and 2, the config script will typically be run twice. It should do nothing the second time (to ask questions twice in a row is annoying), and it should definitely be idempotent. Luckily, debconf avoids repeating questions by default, so this is generally easy to accomplish.
es: Tenga en cuenta que ya que una instalación o actualización típica de paquetes mediante apt ejecuta los pasos 1 y 2, el script «config» se ejecutará dos veces. No debería hacer nada (plantear las mismas preguntas dos veces seguidas es molesto), y debería ser idempotente. Afortunadamente, debconf evita repetir preguntas por omisión, así que esto es generalmente fácil de realizar.

note: type: Plain text
en: Note that the config script is run before the package is unpacked. It should only use commands that are in essential packages. The only dependency of your package that is guaranteed to be met when its config script is run is a dependency (possibly versioned) on debconf itself.
es: Observe que el script «config» se ejecuta antes de desempaquetar el paquete. Sólo debería usar órdenes que están en los paquetes esenciales («essential»). La única dependencia que su paquete tendrá de forma obligatoria al ejecutar el script «config» es el mismo debconf (posiblemente versionada).

note: type: Plain text
en: The config script should not need to modify the filesystem at all. It just examines the state of the system, and asks questions, and debconf stores the answers to be acted on later by the postinst script. Conversely, the postinst script should almost never use debconf to ask questions, but should instead act on the answers to questions asked by the config script.
es: El script «config» no debería necesitar modificar el sistema de ficheros de ninguna forma. Simplemente, examina el estado del sistema y plantea preguntas, y debconf guarda las respuestas para usarlas después a través del script «postinst». Por el contrario, el script «postinst» nunca debería usar debconf para plantear preguntas, sino que debería actuar en base a las respuestas a las preguntas planteadas por el script «config».

note: type: SH
en: THE TEMPLATES FILE
es: EL FICHERO DE PLANTILLAS

note: type: Plain text
en: A package that uses debconf probably wants to ask some questions. These questions are stored, in template form, in the templates file.
es: Probablemente, un paquete que usa debconf desea plantear algunas preguntas. Estas preguntas se guardan, en de plantilla, en el fichero de plantillas.

note: type: Plain text
en: Like the config script, the templates file is put in the control.tar.gz section of a deb. Its format is similar to a debian control file; a set of stanzas separated by blank lines, with each stanza having a RFC822-like form:
es: Al igual que el script «config», el fichero de plantillas se ubica en la sección «control.tar.gz» de un paquete «.deb». Su formato es similar al fichero de control de debian, un conjunto de definiciones separadas por líneas en blanco. Cada definición tiene una forma similar al formato RFC822:

note: type: Plain text
en:   Template: foo/bar
      Type: string
      Default: foo
      Description: This is a sample string question.
       This is its extended description.
       .
       Notice that:
        - Like in a debian package description, a dot
          on its own line sets off a new paragraph.
        - Most text is word-wrapped, but doubly-indented
          text is left alone, so you can use it for lists
          of items, like this list. Be careful, since
          it is not word-wrapped, if it's too wide
          it will look bad. Using it for short items
          is best (so this is a bad example).
es:   Template: foo/bar
      Type: string
      Default: foo
      Description: Este es un ejemplo de pregunta de tipo cadena.
       Esta es su descripción extendida.
       .
       Tenga en cuenta:
        - Al igual que en la descripción de un paquete debian,
          un punto en una línea vacía inicia un nuevo párrafo.
        - La mayoría del texto se justifica, pero el texto con
          doble sangrado no se modifica, así que puede usarlo
          para listas de elementos como esta lista. Tenga
          cuidado ya que no se justifica, y tendrá un pobre
          aspecto si es demasiado ancho. Es mejor usarlo con
          elementos cortos (y por ello éste es un mal ejemplo).

note: type: Plain text
en:   Template: foo/baz
      Type: boolean
      Description: Clear enough, no?
       This is another question, of boolean type.
es:   Template: foo/baz
      Type: boolean
      Description: Es obvio, ¿no?
       Esta es otra pregunta, de tipo booleano.

note: type: Plain text
en: For some real-life examples of templates files, see /var/lib/dpkg/info/debconf.templates, and other .templates files in that directory.
es: Si desea ver ejemplos de uso reales de ficheros de plantillas consulte «/var/lib/dpkg/info/debconf.templates» y otros ficheros «.templates» en ese directorio.

note: type: Plain text
en: Let's look at each of the fields in turn..
es: Ahora vamos a explicar cada uno de los campos.

note: type: Plain text
en: The name of the template, in the 'Template' field, is generally prefixed with the name of the package. After that the namespace is wide open; you can use a simple flat layout like the one above, or set up "subdirectories" containing related questions.
es: El nombre de la plantilla, en el campo «Template», tiene habitualmente como prefijo el nombre del paquete. A continuación de esto, el espacio de nombres está abierto; puede usar un sencillo diseño plano como el que aparece antes, o definir «subdirectorios», que contienen las preguntas relacionadas.

note: type: Plain text
en: The type of the template determines what kind of widget is displayed to the user. The currently supported types are:
es: El tipo de plantilla determina el tipo de elemento que se muestra al usuario. Los tipos aceptados actualmente son:

note: type: Plain text
en: Results in a free-form input field that the user can type any string into.
es: Resulta en un campo de entrada con formato libre en el que el usuario puede introducir cualquier cadena.

note: type: Plain text
en: Prompts the user for a password. Use this with caution; be aware that the password the user enters will be written to debconf's database. You should probably clean that value out of the database as soon as is possible.
es: Solicita una contraseña al usuario. Úselo con precaución; tenga en cuenta que la contraseña que el usuario introduzca se escribirá en la base de datos de debconf. Probablemente, debería eliminar ese valor de la base de datos tan pronto como sea posible.

note: type: Plain text
en: A true/false choice.
es: Una elección «true/false» (verdadero/falso).

note: type: Plain text
en: A choice between one of a number of values. The choices must be specified in a field named 'Choices'. Separate the possible values with commas and spaces, like this:
es: Una elección de un valor entre un número de valores. Las posibles elecciones se deben definir en un campo llamado «Choices». Separe los valores posibles con comas y espacios, como se ve a continuación.

note: type: Plain text
en: Like the select data type, except the user can choose any number of items from the choices list (or choose none of them).
es: Similar al tipo datos «select», a excepción de que el usuario puede seleccionar cualquier número de elementos de la lista de elecciones (o no seleccionar ninguno).

note: type: Plain text
en: Rather than being a question per se, this datatype indicates a note that can be displayed to the user. It should be used only for important notes that the user really should see, since debconf will go to great pains to make sure the user sees it; halting the install for them to press a key.  It's best to use these only for warning about very serious problems, and the error datatype is often more suitable.
es: Más que una pregunta, este tipo de dato indica una nota que se puede mostrar al usuario. Sólo se debería usar para notas importantes que el usuario realmente debería ver, ya que debconf sufrirá complicaciones para asegurarse de que el usuario lo ve; interrumpirá la instalación para que puedan pulsar una tecla. Es mejor usar este aviso sólo para problemas serios, y a menudo es más adecuado usar el tipo de dato «error» .

note: type: Plain text
en: This datatype is used for error messages, such as input validation errors.  Debconf will show a question of this type even if the priority is too high or the user has already seen it.
es: Este tipo de dato se usa para mensajes de error, tales como los errores de validación de entradas. Debconf mostrará una pregunta de este tipo incluso si la prioridad es demasiado alta o si el usuario ya la ha visto.

note: type: Plain text
en: This datatype is used for titles, to be set with the SETTITLE command.
es: Este tipo de datos se usa para títulos, que se definirán con la orden «SETTITLE».

note: type: Plain text
en: This datatype can be used for fragments of text, such as labels, that can be used for cosmetic reasons in the displays of some frontends. Other frontends will not use it at all. There is no point in using this datatype yet, since no frontends support it well. It may even be removed in the future.
es: Este tipo de datos se puede usar para fragmentos de texto tales como etiquetas, que se pueden usar por razones estéticas en las ventanas de algunas interfaces. Otras interfaces no harán uso de él. Aún no existe ninguna razón para usar este tipo de dato ya que ninguna interfaz lo permite de forma adecuada. Incluso puede que se elimine en el futuro.

note: type: Plain text
en: The 'Default' field tells debconf what the default value should be. For multiselect, it can be a list of choices, separated by commas and spaces, similar to the 'Choices' field. For select, it should be one of the choices. For boolean, it is "true" or "false", while it can be anything for a string, and it is ignored for passwords.
es: El campo «Default» dice a debconf cuál debería ser el valor predefinido. Con «multiselect», puede ser una lista de elecciones separadas por comas y espacios, de forma similar al campo «Choices». Con «select», debería ser una de las elecciones. Con «boolean», es «true» o «false». Puede ser cualquier cosa con «string», y se ignora con «passwords».

note: type: Plain text
en: Don't make the mistake of thinking that the default field contains the "value" of the question, or that it can be used to change the value of the question. It does not, and cannot, it just provides a default value for the first time the question is displayed. To provide a default that changes on the fly, you'd have to use the SET command to change the value of a question.
es: No cometa el error de pensar que el campo «Default» contiene el valor de la pregunta, o que se puede usar para cambiar el valor de la pregunta. No puede hacer esto, y no debería. Simplemente ofrece el valor predefinido para la primera vez que se muestra la pregunta. Para proporcionar un valor predefinido que se pueda modificar en el momento, tendrá que usar la orden «SET» para cambiar el valor de una pregunta.

note: type: Plain text
en: The 'Description' field, like the description of a Debian package, has two parts: A short description and an extended description. Note that some debconf frontends don't display the long description, or might only display it if the user asks for help. So the short description should be able to stand on its own.
es: El campo «Description» tiene dos partes, al igual que la descripción de un paquete de Debian: una descripción corta y una descripción extendida. Tenga en cuenta que algunas interfaces de debconf no muestran la descripción extendida, o puede que sólo la muestren si el usuario solicita ayuda. Por ello, la descripción corta debería ser suficientemente completa.

note: type: Plain text
en: If you can't think up a long description, then first, think some more. Post to debian-devel. Ask for help. Take a writing class! That extended description is important. If after all that you still can't come up with anything, leave it blank. There is no point in duplicating the short description.
es: Si no puede inventarse una descripción larga, primero, piense un poco más. Mande un correo a debian-devel. Pida ayuda. ¡Tome clases de composición de texto! La descripción extendida es importante. Si después de todo esto aún no se le ha ocurrido nada, deje el espacio en blanco. No tiene sentido duplicar la descripción corta.

note: type: Plain text
en: Text in the extended description will be word-wrapped, unless it is prefixed by additional whitespace (beyond the one required space). You can break it up into separate paragraphs by putting " ." on a line by itself between them.
es: El texto de la descripción extendida se justificará, a menos que esté precedido por un espacio blanco adicional (además del espacio requerido). Puede dividirlo en varios párrafos insertando «.» en una línea vacía entre los párrafos.

note: type: SH
en: QUESTIONS
es: PREGUNTAS

note: type: Plain text
en: A question is an instantiated template. By asking debconf to display a question, your config script can interact with the user. When debconf loads a templates file (this happens whenever a config or postinst script is run), it automatically instantiates a question from each template. It is actually possible to instantiate several independent questions from the same template (using the REGISTER command), but that is rarely necessary. Templates are static data that comes from the templates file, while questions are used to store dynamic data, like the current value of the question, whether a user has seen a question, and so on. Keep the distinction between a template and a question in mind, but don't worry too much about it.
es: Una pregunta es una instancia de plantilla. Al pedir a debconf que muestre una pregunta, su script «config» puede interactuar con el usuario. Cuando debconf carga un fichero de plantillas (esto ocurre cada vez que se ejecuta un script «config» o «postinst») automáticamente crea una instancia para cada pregunta de cada plantilla. Es posible crear instancias de varias preguntas independientes a partir de la misma plantilla (usando la orden «REGISTER»), pero rara vez es necesario. Las plantillas son datos estáticos que proceden del fichero de plantillas, mientras que las preguntas se usan para almacenar datos dinámicos, tales como el valor actual de la pregunta, si el usuario ha visto la pregunta, y así en adelante. Tenga en cuenta la diferencia entre una plantilla y una pregunta, pero no se preocupe demasiado por ello.

note: type: SH
en: SHARED TEMPLATES
es: PLANTILLAS COMPARTIDAS

note: type: Plain text
en: It's actually possible to have a template and a question that are shared among a set of packages. All the packages have to provide an identical copy of the template in their templates files. This can be useful if a bunch of packages need to ask the same question, and you only want to bother the user with it once. Shared templates are generally put in the shared/ pseudo-directory in the debconf template namespace.
es: Es posible tener una plantilla y una pregunta compartidas por un conjunto de paquetes. Todos los paquetes deben proporcionar una copia idéntica de la plantilla en sus ficheros de plantillas. Puede ser útil si un conjunto de paquetes necesitan plantear la misma pregunta, y sólo desea consultar al usuario una sola vez. Habitualmente, las plantillas compartidas se ubican en el seudo directorio «shared/» en el espacio de nombres («namespace») de la plantilla de debconf.

note: type: SH
en: THE DEBCONF PROTOCOL
es: EL PROTOCOLO DE DEBCONF

note: type: Plain text
en: Config scripts communicate with debconf using the debconf protocol. This is a simple line-oriented protocol, similar to common internet protocols such as SMTP. The config script sends debconf a command by writing the command to standard output. Then it can read debconf's reply from standard input.
es: Los scripts «config» se comunican con debconf usando el protocolo de debconf. Éste es un sencillo protocolo orientado a la línea de órdenes, similar a protocolos comunes de Internet tales como SMTP. El script «config» envía una orden a debconf enviando la orden por la salida estándar. A continuación, puede leer la respuesta de debconf por la entrada estándar.

note: type: Plain text
en: Debconf's reply can be broken down into two parts: A numeric result code (the first word of the reply), and an optional extended result code (the remainder of the reply). The numeric code uses 0 to indicate success, and other numbers to indicate various kinds of failure. For full details, see the table in Debian policy's debconf specification document.
es: La respuesta de debconf se puede dividir en dos partes. Un código de salida numérico (la primera palabra de la respuesta), y opcionalmente un código de salida extendido (el resto de la respuesta). El código numérico usa cero para indicar éxito, y otros números para indicar varios tipos de fallo. Para más detalles, consulte la tabla en el documento de especificaciones de debconf en las normas de Debian (debian-policy).

note: type: Plain text
en: The extended return code is generally free form and unspecified, so you should generally ignore it, and should certainly not try to parse it in a program to work out what debconf is doing. The exception is commands like GET, that cause a value to be returned in the extended return code.
es: El código de salida extendido tiene, habitualmente, una forma libre y sin especificar, así que generalmente debería ignorarlo, y definitivamente no debería intentar analizarlo con un programa para averiguar lo que debconf está haciendo. La excepción son órdenes como «GET», que hacen que un valor se devuelva en el código de salida extendido.

note: type: Plain text
en: Generally you'll want to use a language-specific library that handles the nuts and bolts of setting up these connections to debconf and communicating with it.
es: Habitualmente, querrá usar una biblioteca de lenguaje específico que gestiona los particularidades de creación de estas conexiones con debconf y la comunicación con éste.

note: type: Plain text
en: For now, here are the commands in the protocol. This is not the definitive definition, see Debian policy's debconf specification document for that.
es: Por ahora, aquí tiene las órdenes en el protocolo. Esta no es la definición completa; para ello, consulte el documento de especificaciones de debconf en las normas de Debian (debian-policy).

note: type: TP
en: B<VERSION number>
es: B<VERSION número>

note: type: Plain text
en: You generally don't need to use this command. It exchanges with debconf the protocol version number that is being used. The current protocol version is 2.0, and versions in the 2.x series will be backwards-compatible. You may specify the protocol version number you are speaking and debconf will return the version of the protocol it speaks in the extended result code. If the version you specify is too low, debconf will reply with numeric code 30.
es: Generalmente no tendrá que usar esta orden. Intercambia con debconf el número de versión del protocolo que se está usando. La versión del protocolo actual es 2.0, y las versiones de la serie 2.x tendrán compatibilidad hacia atrás. Puede definir el número de versión del protocolo que está usando y debconf devolverá la versión del protocolo que está usando en el código de salida extendido. Si la versión que define es demasiado baja, debconf responderá con el código numérico 30.

note: type: TP
en: B<CAPB capabilities>
es: B<CAPB funcionalidades>

note: type: Plain text
en: If 'escape' is found among your capabilities, debconf will expect commands you send it to have backslashes and newlines escaped (as \e\e and \en respectively) and will in turn escape backslashes and newlines in its replies. This can be used, for example, to substitute multi-line strings into templates, or to get multi-line extended descriptions reliably using METAGET. In this mode, you must escape input text yourself (you can use B<debconf-escape>(1)  to help with this if you want), but the confmodule libraries will unescape replies for you.
es: Si «escape» está entre sus funcionalidades, debconf esperará que las órdenes que envíe tengan escapes de barras inversas y nuevas líneas (como «\e\e» y «\en» respectivamente), y responderá con barras inversas y nuevas líneas escapadas. Esto se puede usar, por ejemplo, para sustituir cadenas de varias líneas en plantillas, o para obtener descripciones extendidas de varias líneas adecuadamente usando METAGET. Si usa este modo, tendrá que escapar el texto de entrada (o puede usar B<debconf-escape>(1) para que le asista en esta labor si así lo desea), pero las bibliotecas confmodule devolverán respuestas sin escapes.

note: type: TP
en: B<SETTITLE question>
es: B<SETTITLE pregunta>

note: type: Plain text
en: This sets the title debconf displays to the user, using the short description of the template for the specified question. The template should be of type title. You rarely need to use this command since debconf can automatically generate a title based on your package's name.
es: Esto define el título que debconf muestra al usuario, usando la descripción corta de la plantilla para la pregunta especificada. La plantilla debería de ser de tipo «title». Rara vez necesitará usar esta orden ya que debconf puede generar automáticamente un título a partir del nombre del paquete.

note: type: Plain text
en: Setting the title from a template means they are stored in the same place as the rest of the debconf questions, and allows them to be translated.
es: Configurar el título a partir de la plantilla significa que se guardan en la misma ubicación que el resto de las preguntas de debconf, permitiendo su traducción.

note: type: TP
en: B<TITLE string>
es: B<TITLE cadena>

note: type: Plain text
en: This sets the title debconf displays to the user to the specified string.  Use of the SETTITLE command is normally to be preferred as it allows for translation of the title.
es: Esto define el título que debconf muestra al usuario con la cadena especificada. Habitualmente, se prefiere el uso de la orden «SETTITLE» ya que permite la traducción del título.

note: type: TP
en: B<INPUT priority question>
es: B<INPUT prioridad pregunta>

note: type: Plain text
en: Ask debconf to prepare to display a question to the user. The question is not actually displayed until a GO command is issued; this lets several INPUT commands be given in series, to build up a set of questions, which might all be asked on a single screen.
es: Hace que debconf se prepare para mostrar una pregunta al usuario. La pregunta no se muestra realmente hasta que no se emita una orden «GO»; esto permite introducir en serie varias órdenes «INPUT» para construir una serie de preguntas que se podrían plantear en una sola pantalla.

note: type: Plain text
en: The priority field tells debconf how important it is that this question be shown to the user. The priority values are:
es: El campo de prioridad indica a debconf la importancia de la pregunta mostrada al usuario. Los valores de prioridad son:

note: type: Plain text
en: Very trivial items that have defaults that will work in the vast majority of cases; only control freaks see these.
es: Elementos muy triviales que tienen valores predefinidos que funcionarán en la inmensa mayoría de los casos. Sólo los obsesos del control deberían verlos.

note: type: Plain text
en: Normal items that have reasonable defaults.
es: Elementos normales con valores predefinidos razonables.

note: type: Plain text
en: Items that don't have a reasonable default.
es: Elementos que no tienen un valor predefinido razonable.

note: type: Plain text
en: Items that will probably break the system without user intervention.
es: Elementos que posiblemente rompan el sistema sin la intervención del usuario.

note: type: Plain text
en: Debconf decides if the question is actually displayed, based on its priority, and whether the user has seen it before, and which frontend is being used. If the question will not be displayed, debconf replies with code 30.
es: Debconf decide si se muestra la pregunta en base a la prioridad, si el usuario la ha visto ya, y la interfaz que se está usando. Si la pregunta no se va a mostrar, debconf responde con el código numérico 30.

note: type: Plain text
en: Tells debconf to display the accumulated set of questions (from INPUT commands) to the user.
es: Indica a debconf que muestre al usuario el conjunto acumulado de preguntas (de órdenes «INPUT»).

note: type: Plain text
en: If the backup capability is supported and the user indicates they want to back up a step, debconf replies with code 30.
es: Si se admite la funcionalidad de copia de seguridad y el usuario indica que desea retroceder, debconf responde con el código numérico 30.

note: type: Plain text
en: Clears the accumulated set of questions (from INPUT commands) without displaying them.
es: Elimina el conjunto acumulado de preguntas (de órdenes «INPUT») sin mostrarlas.

note: type: Plain text
en: Some debconf frontends can display a number of questions to the user at once.  Maybe in the future a frontend will even be able to group these questions into blocks on screen. BEGINBLOCK and ENDBLOCK can be placed around a set of INPUT commands to indicate blocks of questions (and blocks can even be nested). Since no debconf frontend is so sophisticated yet, these commands are ignored for now.
es: Algunas interfaces de debconf pueden mostrar varias preguntas a la vez al usuario. Puede que en el futuro, una interfaz sea también capaz de agrupar en bloque estas preguntas en la pantalla. «BEGINBLOCK» y «ENDBLOCK» se pueden ubicar en torno a un conjunto de órdenes «INPUT» para indicar bloques de preguntas (y los bloques se pueden anidar también). Ya que ninguna interfaz de debconf es aún tan sofisticada, estas órdenes se ignorarán por ahora.

note: type: Plain text
en: This command tells debconf that you're done talking to it. Often debconf can detect termination of your program and this command is not necessary.
es: Esta orden indica a debconf que ya ha terminado de comunicarse con él. Habitualmente debconf puede detectar la finalización de su programa, con lo cual esta orden no sería necesaria.

note: type: TP
en: B<GET question>
es: B<GET pregunta>

note: type: Plain text
en: After using INPUT and GO to display a question, you can use this command to get the value the user entered. The value is returned in the extended result code.
es: Después de usar «INPUT» y «GO» para mostrar una pregunta, puede usar esta orden para obtener el valor que introdujo el usuario. El valor se devuelve en el código de salida extendido.

note: type: TP
en: B<SET question value>
es: B<SET pregunta valor>

note: type: Plain text
en: This sets the value of a question, and it can be used to override the default value with something your program calculates on the fly.
es: Define el valor de la pregunta, y se puede usar para reemplazar el valor predefinido con un cálculo que su programa haga durante el proceso.

note: type: TP
en: B<RESET question>
es: B<RESET pregunta>

note: type: Plain text
en: This resets the question to its default value (as is specified in the 'Default' field of its template).
es: Restablece la pregunta a su valor predefinido (tal y como está definido en el campo «Default» de su plantilla).

note: type: TP
en: B<SUBST question key value>
es: B<SUBST pregunta clave valor>

note: type: Plain text
en: Questions can have substitutions embedded in their 'Description' and 'Choices' fields (use of substitutions in 'Choices' fields is a bit of a hack though; a better mechanism will eventually be developed). These substitutions look like "${key}". When the question is displayed, the substitutions are replaced with their values. This command can be used to set the value of a substitution. This is useful if you need to display some message to the user that you can't hard-code in the templates file.
es: Las preguntas pueden integrar sustituciones en sus campos «Description» y «Choices» (el uso de sustituciones en campos «Choices» no está demasiado bien hecho; con el tiempo se desarrollará un mecanismo mejor). Estas sustituciones tiene la apariencia «${key}». Cuando se muestra la pregunta, las sustituciones se reemplazan con sus valores. Esta orden se puede usar para definir el valor de una sustitución. Es útil si necesita mostrar algunos mensajes al usuario, las cuales no desea integrar en el código («hardcode») en el fichero de plantillas.

note: type: Plain text
en: Do not try to use SUBST to change the default value of a question; it won't work since there is a SET command explicitly for that purpose.
es: No intente usar «SUBST» para cambiar el valor predefinido de una pregunta; no funcionará ya que existe una orden «SET» para ese propósito.

note: type: TP
en: B<FGET question flag>
es: B<FGET pregunta marca>

note: type: Plain text
en: Questions can have flags associated with them. The flags can have a value of "true" or "false". This command returns the value of a flag.
es: Las preguntas pueden tener marcas asociadas a ellas. Las marcas pueden tener un valor de «true» (verdadero) o «false» (falso).

note: type: TP
en: B<FSET question flag value>
es: B<FSET pregunta marca valor>

note: type: Plain text
en: This sets the value of a question's flag. The value must be either "true" or "false".
es: Esto define el valor de la marca de una pregunta. El valor debe ser «true» o «false».

note: type: Plain text
en: One common flag is the "seen" flag. It is normally only set if a user has already seen a question. Debconf usually only displays questions to users if they have the seen flag set to "false" (or if it is reconfiguring a package).  Sometimes you want the user to see a question again -- in these cases you can set the seen flag to false to force debconf to redisplay it.
es: Una marca común es la marca «seen». Habitualmente, sólo se define si el usuario ya ha viso la pregunta. Generalmente, debconf sólo muestra preguntas a los usuarios si la marca «seen» está definida con «false» (o si está reconfigurando el paquete). A veces desea que el usuario vea la pregunta otra vez; en estos casos puede definir la marca «seen» con el valor «false» para forzar a debconf a que la muestre otra vez.

note: type: TP
en: B<METAGET question field>
es: B<METAGET pregunta campo>

note: type: Plain text
en: This returns the value of any field of a question's associated template (the Description, for example).
es: Devuelve el valor de cualquier campo de una plantilla asociada a la pregunta («Description», por ejemplo).

note: type: TP
en: B<REGISTER template question>
es: B<REGISTER plantilla pregunta>

note: type: Plain text
en: This creates a new question that is bound to a template. By default each template has an associated question with the same name. However, any number of questions can really be associated with a template, and this lets you create more such questions.
es: Crea una nueva pregunta ligada a una plantilla. Por omisión, cada plantilla tiene una pregunta asociada con el mismo nombre. Sin embargo, se pueden asociar cualquier número de preguntas a una plantilla, permitiendo la creación de más preguntas.

note: type: TP
en: B<UNREGISTER question>
es: B<UNREGISTER pregunta>

note: type: Plain text
en: This removes a question from the database.
es: Elimina una pregunta de la base de datos.

note: type: Plain text
en: Call this in your postrm when your package is purged. It removes all of your package's questions from debconf's database.
es: Invoque esto en el script «postrm» al purgar el paquete. Elimina todas las preguntas de su paquete de la base de datos de debconf.

note: type: TP
en: B<X_LOADTEMPLATEFILE /path/to/templates [owner]>
es: B<X_LOADTEMPLATEFILE /ruta/a/plantillas [propietario]>

note: type: Plain text
en: This extension loads the specified template file into debconf's database.  The owner defaults to the package that is being configured with debconf.
es: Esta extensión carga el fichero de plantilla especificado, en la base de datos de debconf. El propietario recibe el valor predefinido del paquete que se está configurando con debconf.

note: type: Plain text
en: Here is a simple example of the debconf protocol in action.
es: Aquí tiene un sencillo ejemplo del protocolo de debconf en acción.

note: type: Plain text
en:   INPUT medium debconf/frontend
      30 question skipped
      FSET debconf/frontend seen false
      0 false
      INPUT high debconf/frontend
      0 question will be asked
      GO
      [ Here debconf displays a question to the user. ]
      0 ok
      GET no/such/question
      10 no/such/question doesn't exist
      GET debconf/frontend
      0 Dialog
es:   INPUT medium debconf/frontend
      30 question skipped
      FSET debconf/frontend seen false
      0 false
      INPUT high debconf/frontend
      0 question will be asked
      GO
      [ Aquí, debconf muestra al usuario una pregunta. ]
      0 ok
      GET no/such/question
      10 no/such/question doesn't exist
      GET debconf/frontend
      0 Dialog

note: type: SH
en: LIBRARIES
es: BIBLIOTECAS

note: type: Plain text
en: Setting things up so you can talk to debconf, and speaking the debconf protocol by hand is a little too much work, so some thin libraries exist to relieve this minor drudgery.
es: Configurar manualmente lo necesario para poder hablar con debconf mediante el protocolo de debconf es quizá demasiado trabajo, y por ello existen algunas pequeñas bibliotecas para aliviar este arduo trabajo.

note: type: Plain text
en: For shell programming, there is the /usr/share/debconf/confmodule library, which you can source at the top of a shell script, and talk to debconf in a fairly natural way, using lower-case versions of the debconf protocol commands, that are prefixed with "db_" (ie, "db_input" and "db_go"). For details, see B<confmodule>(3)  .
es: Para la programación en consola existe la biblioteca «/usr/share/debconf/confmodule», el cual puede cargar al principio del script de consola, y comunicarse con debconf con una relativa naturalidad usando las versiones en minúscula de las órdenes del protocolo de debconf, las cuales están prefijadas con «db_» (por ejemplo, «db_input» y «db_go»). Para más detalles, consulte B<confmodule>(3).

note: type: Plain text
en: Perl programmers can use the B<Debconf::Client::ConfModule>(3pm)  perl module, and python programmers can use the debconf python module.
es: Los programadores que usan Perl pueden usar el módulo de Perl B<Debconf::Client::ConfModule(3pm)>, y los programadores que usan Python pueden usar el módulo de Python de debconf.

note: type: Plain text
en: The rest of this manual will use the /usr/share/debconf/confmodule library in example shell scripts. Here is an example config script using that library, that just asks a question:
es: El resto de este manual usará la biblioteca «/usr/share/debconf/confmodule» en los scripts de consola de ejemplo. Aquí tiene un script «config» de ejemplo que usa esa biblioteca, y que sólo plantea una pregunta:

note: type: Plain text
en:   #!/bin/sh
      set -e
      . /usr/share/debconf/confmodule
      db_set mypackage/reboot-now false
      db_input high mypackage/reboot-now || true
      db_go || true
es:   #!/bin/sh
      set -e
      . /usr/share/debconf/confmodule
      db_set mi-paquete/reboot-now false
      db_input high mi-paquete/reboot-now || true
      db_go || true

note: type: Plain text
en: Notice the uses of "|| true" to prevent the script from dying if debconf decides it can't display a question, or the user tries to back up. In those situations, debconf returns a non-zero exit code, and since this shell script is set -e, an untrapped exit code would make it abort.
es: Tenga en cuenta que el uso de «|| true» evita que el script finalice si debconf decide que no puede mostrar la pregunta, o si el usuario intenta retroceder. En estas situaciones debconf devuelve un código de salida distinto de cero, y debido a que este script usa «set -e», un código de salida sin variable de error («untrapped») haría que se cancelase.

note: type: Plain text
en: And here is a corresponding postinst script, that uses the user's answer to the question to see if the system should be rebooted (a rather absurd example..):
es: Y aquí tiene un script «postinst» correspondiente, que usa la respuesta del usuario a la pregunta para ver si se debería reiniciar el sistema (un ejemplo algo absurdo...):

note: type: Plain text
en:   #!/bin/sh
      set -e
      . /usr/share/debconf/confmodule
      db_get mypackage/reboot-now
      if [ "$RET" = true ]; then
      	shutdown -r now
      fi
es:   #!/bin/sh
      set -e
      . /usr/share/debconf/confmodule
      db_get mi-paquete/reboot-now
      if [ "$RET" = true ]; then
      	shutdown -r now
      fi

note: type: Plain text
en: Notice the use of the $RET variable to get at the extended return code from the GET command, which holds the user's answer to the question.
es: Tenga en cuenta el uso de la variable «$RET» para obtener un código de salida extendido de la orden «GET», que contiene la respuesta del usuario a la pregunta.

note: type: SH
en: THE POSTINST SCRIPT
es: EL SCRIPT POSTINST

note: type: Plain text
en: The last section had an example of a postinst script that uses debconf to get the value of a question, and act on it. Here are some things to keep in mind when writing postinst scripts that use debconf:
es: La última sección tenía un ejemplo de un script «postinst» que usa debconf para obtener el valor de una pregunta, y actuar en consecuencia. Existen algunas cosas que debe tener en cuenta al escribir scripts «postinst» que usan debconf:

note: type: Plain text
en: Avoid asking questions in the postinst. Instead, the config script should ask questions using debconf, so that pre-configuration will work.
es: Evite hacer preguntas en el «postinst». Por el contrario, el script «config» debería hacer preguntas mediante debconf, para que funcione la preconfiguración.

note: type: Plain text
en: Always source /usr/share/debconf/confmodule at the top of your postinst, even if you won't be running any db_* commands in it.  This is required to make sure the config script gets a chance to run (see HACKS for details).
es: Cargue siempre «/usr/share/debconf/confmodule» al inicio de su «postinst», incluso si no va a ejecutar ninguna orden «db_*» desde el script. Es necesario para asegurar que el script «config» tenga la oportunidad de ejecutarse (para más detalles consulte «ARREGLOS»).

note: type: Plain text
en: Avoid outputting anything to stdout in your postinst, since that can confuse debconf, and postinst should not be verbose anyway. Output to stderr is ok, if you must.
es: Evite enviar cualquier información del «postinst» a través de la salida estándar ya que puede confundir a debconf, y de todas formas, «postinst» no debería ser informativo. Enviar información a la salida de error es aceptable, de ser necesario.

note: type: Plain text
en: If your postinst launches a daemon, make sure you tell debconf to STOP at the end, since debconf can become a little confused about when your postinst is done otherwise.
es: Si su «postinst» inicia un demonio asegúrese de informar a debconf de que ejecute «STOP» al final, ya que de otra forma puede que debconf confunda el momento en que finaliza el script «postinst».

note: type: Plain text
en: Make your postinst script accept a first parameter of "reconfigure". It can treat it just like "configure". This will be used in a later version of debconf to let postinsts know when they are reconfigured.
es: Haga que el script «postinst» acepte «reconfigure» como primer parámetro. Puede tratarlo al igual que «configure». Se usará en futuras versiones de debconf para informar a los script «postinst» de cuándo se reconfiguran.

note: type: SH
en: OTHER SCRIPTS
es: OTROS SCRIPTS

note: type: Plain text
en: Besides the config script and postinst, you can use debconf in any of the other maintainer scripts. Most commonly, you'll be using debconf in your postrm, to call the PURGE command when your package is purged, to clean out its entries in the debconf database. (This is automatically set up for you by B<dh_installdebconf>(1)B<,> by the way.)
es: Aparte del script «config» y «postinst», puede usar debconf en cualquier otro script de encargado de paquetes. Habitualmente, usará debconf en su «postrm» para invocar la orden «PURGE» cuando purga su paquete y así eliminar sus entradas de la base de datos debconf. (Por cierto, está configurado automáticamente mediante B<dh_installdebconf>(1).)

note: type: Plain text
en: A more involved use of debconf would be if you want to use it in the postrm when your package is purged, to ask a question about deleting something. Or maybe you find you need to use it in the preinst or prerm for some reason. All of these uses will work, though they'll probably involve asking questions and acting on the answers in the same program, rather than separating the two activities as is done in the config and postinst scripts.
es: Un uso más complejo de debconf sería si desea usarlo en el script «postrm» al purgar el paquete para realizar una pregunta acerca de la eliminación de algo. O puede que se vea en la necesidad de usarlo en los script «preinst» o «prerm». Todos estos usos funcionarán, aunque probablemente incluyan plantear preguntas y actuar según la respuesta en el mismo programa, en lugar de separar las dos actividades como se hace con los scripts «config» y «postint».

note: type: Plain text
en: Note that if your package's sole use of debconf is in the postrm, you should make your package's postinst source /usr/share/debconf/confmodule, to give debconf a chance to load up your templates file into its database. Then the templates will be available when your package is being purged.
es: Tenga en cuenta que si el único uso que su paquete hace de debconf está en el script «postrm», debería comprobar que el script «postinst» del paquete carga «/usr/share/debconf/confmodule» para dar a debconf la oportunidad de cargar su fichero de plantillas en la base de datos. Así, las plantillas estarán disponibles al purgar su paquete.

note: type: Plain text
en: You can also use debconf in other, standalone programs. The issue to watch out for here is that debconf is not intended to be, and must not be used as a registry. This is unix after all, and programs are configured by files in /etc, not by some nebulous debconf database (that is only a cache anyway and might get blown away). So think long and hard before using debconf in a standalone program.
es: También puede usar debconf con otros programas independientes. La cuestión que debe cuidar es que debconf no pretende ser, y no se debería usar, como un registro. Al fin y al cabo, esto es Unix, y los programas se configuran mediante ficheros en «/etc», y no mediante alguna difusa base de datos de debconf (que es sólo un almacén susceptible de desaparecer). Así que reflexione antes de usar debconf con un programa independiente.

note: type: Plain text
en: There are times when it can make sense, as in the apt-setup program which uses debconf to prompt the user in a manner consistent with the rest of the debian install process, and immediately acts on their answers to set up apt's sources.list.
es: Hay situaciones en las que tiene sentido, por ejemplo con el programa apt-setup, que usa debconf para realizar preguntas al usuario de una forma consistente con el resto del proceso de instalación de Debian, y así actuar según las respuestas para configurar el fichero «sources.list» de apt.

note: type: SH
en: LOCALIZATION
es: LOCALIZACIÓN

note: type: Plain text
en: Debconf supports localization of templates files. This is accomplished by adding more fields, with translated text in them. Any of the fields can be translated. For example, you might want to translate the description into Spanish. Just make a field named 'Description-es' that holds the translation. If a translated field is not available, debconf falls back to the normal English field.
es: Debconf permite la localización de ficheros de plantilla. Esto se consigue añadiendo más campos que contienen el texto traducido. Se pueden traducir cualquiera de los campos. Por ejemplo, puede que desee traducir la descripción al español. Simplemente, cree un campo llamado «Description-es» para contener la traducción. Si no se dispone de la traducción de un campo, debconf usa el campo en inglés de forma predefinida.

note: type: Plain text
en: Besides the 'Description' field, you should translate the 'Choices' field of a select or multiselect template. Be sure to list the translated choices in the same order as they appear in the main 'Choices' field. You do not need to translate the 'Default' field of a select or multiselect question, and the value of the question will be automatically returned in English.
es: Además del campo «Description» también debería traducir el campo «Choices» de una plantilla «select» o «multiselect». Asegúrese de listar las opciones traducidas en el mismo orden en el que aparecen en el campo «Choices». No necesita traducir el campo «Default» de una pregunta «select» o «multiselect», y el valor del campo aparecerá automáticamente en inglés.

note: type: Plain text
en: You will find it easier to manage translations if you keep them in separate files; one file per translation. In the past, the B<debconf-getlang>(1)  and B<debconf-mergetemplate>(1)  programs were used to manage debian/template.ll files. This has been superseded by the B<po-debconf>(7)  package, which lets you deal with debconf translations in .po files, just like any other translations. Your translators will thank you for using this new improved mechanism.
es: Le resultará más fácil administrar las traducciones si las gestiona en ficheros separados; un fichero por traducción. En el pasado se usaban los programas B<debconf-getlang>(1) y B<debconf-mergetemplate>(1) para administrar los ficheros «debian/template.ll». Han quedado obsoletos por el paquete B<po-debconf>(7), que permite administrar traducciones de debconf en ficheros «.po», al igual que cualquier otra traducción. Sus traductores le estarán agradecidos por usar este nuevo y mejorado mecanismo.

note: type: Plain text
en: For the details on po-debconf, see its man page. If you're using debhelper, converting to po-debconf is as simple as running the B<debconf-gettextize>(1)  command once, and adding a Build-Dependency on po-debconf and on debhelper (E<gt>= 4.1.13).
es: Para más detalles acerca de po-debconf, consulte su página de manual. Si usa debhelper, pasar a po-debconf es tan fácil como ejecutar la orden B<debconf-gettextize>(1) una sola vez, y añadir una dependencia de construcción sobre po-debconf y debhelper (E<gt>= 4.1.13).

note: type: SH
en: PUTTING IT ALL TOGETHER
es: INTEGRAR LAS DIFERENTES PARTES

note: type: Plain text
en: So you have a config script, a templates file, a postinst script that uses debconf, and so on. Putting these pieces together into a debian package isn't hard. You can do it by hand, or can use B<dh_installdebconf>(1)  which will merge your translated templates, copy the files into the right places for you, and can even generate the call to PURGE that should go in your postrm script. Make sure that your package depends on debconf (E<gt>= 0.5), since earlier versions were not compatible with everything described in this manual. And you're done.
es: Así que tiene un script «config», un fichero de plantillas, un script «postinst» que usa debconf y así en adelante. Integrar todos estos elementos en un paquete debian no es muy difícil. Puede hacerlo a mano, o puede usar B<dh_installdebconf>(1), el cual fusionará sus plantillas traducidas, copiará los ficheros a las ubicaciones apropiadas, y puede incluso crear la invocación a «PURGE» que debería estar en su script «postrm». Compruebe que el paquete dependa de debconf (E<gt>= 0.5) ya que las versiones anteriores no son compatibles con todo lo descrito en este manual. Y esto es todo.

note: type: Plain text
en: Well, except for testing, debugging, and actually using debconf for more interesting things than asking a few basic questions. For that, read on..
es: Bueno, a excepción de probar, la depuración y en realidad usar debconf para cosas más interesantes que plantear unas pocas preguntas básicas. Para ello, siga leyendo...

note: type: SH
en: DEBUGGING
es: DEPURACIÓN

note: type: Plain text
en: So you have a package that's supposed to use debconf, but it doesn't quite work. Maybe debconf is just not asking that question you set up. Or maybe something weirder is happening; it spins forever in some kind of loop, or worse. Luckily, debconf has plenty of debugging facilities.
es: Así que tiene un paquete que debería usar debconf, pero que no llega a funcionar. Puede que debconf no plantee la pregunta que configuró. O puede que esté ocurriendo algo más raro; está atrapado en un especie de bucle, o peor. Afortunadamente, debconf ofrece muchas facilidades para su depuración.

note: type: Plain text
en: The first thing to reach for is the DEBCONF_DEBUG environment variable.  If you set and export DEBCONF_DEBUG=developer, debconf will output to stderr a dump of the debconf protocol as your program runs. It'll look something like this -- the typo is made clear:
es: La primera cosa que tiene que hacer es configurar la variable de entorno «DEBCONF_DEBUG». Si ejecuta un «set» y «export» de «DEBCONF_DEBUG=developer», debconf enviará por la salida estándar un volcado del protocolo de debconf a medida que el programa se ejecuta. Es similar a esto, la errata es evidente (--):

note: type: Plain text
en: It's rather useful to use debconf's readline frontend when you're debugging (in the author's opinion), as the questions don't get in the way, and all the debugging output is easily preserved and logged.
es: Es bastante útil usar la interfaz readline de debconf cuando realice la depuración (según la opinión del autor), ya que las preguntas no entorpecen la labor, y la salida de depuración se puede registrar y preservar con facilidad.

note: type: Plain text
en: If this environment variable is set to 'true', the frontend will display the values in Choices-C fields (if present) of select and multiselect templates rather than the descriptive values.
es: Si define esta variable de entorno como «true», la interfaz mostrará los valores en los campos «Choices-C» (de existir) de plantillas «select» y «multiselect» en lugar de los valores descriptivos.

note: type: Plain text
en: Another useful tool is the B<debconf-communicate>(1)  program. Fire it up and you can speak the raw debconf protocol to debconf, interactively. This is a great way to try stuff out on the fly.
es: Otra herramienta útil es el programa B<debconf-communicate>(1). Inícielo y podrá comunicarse con debconf mediante el protocolo de debconf de forma interactiva. Es una buena forma de probar cosas inmediatamente.

note: type: Plain text
en: If a user is reporting a problem, B<debconf-show>(1)  can be used to dump out all the questions owned by your package, displaying their values and whether the user has seen them.
es: Si un usuario informa de un problema puede usar B<debconf-show>(1) para mostrar todas las preguntas del que su paquete es propietario, mostrando sus valores y si el usuario las ha visto.

note: type: Plain text
en: To avoid the often tedious build/install/debug cycle, it can be useful to load up your templates with B<debconf-loadtemplate>(1)  and run your config script by hand with the B<debconf>(1)  command. However, you still have to do that as root, right? Not so good.  And ideally you'd like to be able to see what a fresh installation of your package looks like, with a clean debconf database.
es: Para evitar el ciclo, a menudo tedioso, de construir, instalar y depurar, puede ser útil cargar sus plantillas con B<debconf-loadtemplate>(1) y ejecutar su script «config» directamente con la orden B<debconf>(1). Sin embargo, tiene que hacer esto como el usuario «root», ¿no?. No es muy bueno. Y lo ideal es que pueda ver el comportamiento de una instalación nueva de su paquete, con una base de datos de debconf limpia.

note: type: Plain text
en: It turns out that if you set up a ~/.debconfrc file for a normal user, pointing at a personal config.dat and template.dat for the user, you can load up templates and run config scripts all you like, without any root access. If you want to start over with a clean database, just blow away the *.dat files.
es: Resulta que si configura un fichero «~/.debconfrc» para un usuario normal que apunta a unos ficheros «config.dat» y «template.dat» para el usuario, puede cargar plantillas y ejecutar scripts «config» cuanto desee sin permisos del usuario «root». Si desea iniciar todo con una base de datos limpia, simplemente borre los ficheros «*.dat».

note: type: Plain text
en: For details about setting this up, see B<debconf.conf>(5)B<,> and note that /etc/debconf.conf makes a good template for a personal ~/.debconfrc file.
es: Para detalles acerca de la configuración, consulte B<debconf.conf>(5)B<,> y tenga en cuenta que «/etc/debconf.conf» es una buena plantilla para un fichero «~/.debconfrc» personal.

note: type: SH
en: ADVANCED PROGRAMMING WITH DEBCONF
es: PROGRAMACIÓN AVANZADA CON DEBCONF

note: type: SS
en: Config file handling
es: Manipulación de ficheros de configuración

note: type: Plain text
en: Many of you seem to want to use debconf to help manage config files that are part of your package. Perhaps there is no good default to ship in a conffile, and so you want to use debconf to prompt the user, and write out a config file based on their answers. That seems easy enough to do, but then you consider upgrades, and what to do when someone modifies the config file you generate, and dpkg-reconfigure, and ...
es: Parece que muchos de vosotros queréis usar debconf para ayudar en la manipulación de los ficheros de configuración que son parte de su paquete. Puede que no exista un buen valor predefinido a incluir en un fichero de configuración, y por ello puede desear usar debconf para plantear preguntas al usuario y escribir un fichero de configuración en base a las respuestas. Puede parecer fácil, pero considere las actualizaciones, y qué hacer cuando alguien modifica el fichero de configuración que su paquete genera, cuando se usa dpkg-reconfigure, y más...

note: type: Plain text
en: There are a lot of ways to do this, and most of them are wrong, and will often earn you annoyed bug reports. Here is one right way to do it. It assumes that your config file is really just a series of shell variables being set, with comments in between, and so you can just source the file to "load" it.  If you have a more complicated format, reading (and writing) it becomes a bit trickier.
es: Existen varias formas de hacer esto, y la mayoría están equivocadas, generando a menudo molestos informes de fallo. Aquí tiene una de las formas correctas de hacerlo. Asume que su fichero de configuración es realmente sólo una serie de variables de entorno a definir («set»), con comentarios entre ellos, para que así pueda sólo leer el fichero para cargarlo. Si tiene un formato más complicado, leer y editar el fichero es más complicado.

note: type: Plain text
en: Your config script will look something like this:
es: Su script «config» puede tener un aspecto similar a este:

note: type: Plain text
en:  # Load config file, if it exists.
     if [ -e $CONFIGFILE ]; then
     	. $CONFIGFILE || true
es:  # Carga el fichero de configuración, si existe.
     if [ -e $CONFIGFILE ]; then
     	. $CONFIGFILE || true

note: type: Plain text
en:  	# Store values from config file into
     	# debconf db.
     	db_set mypackage/foo "$FOO"
     	db_set mypackage/bar "$BAR"
     fi
es:  	# Guarda los valores del fichero de
     	# configuración en la base de datos de debconf.
     	db_set mypackage/foo "$FOO"
     	db_set mypackage/bar "$BAR"
     fi

note: type: Plain text
en:  # Ask questions.
     db_input medium mypackage/foo || true
     db_input medium mypackage/bar || true
     db_go || true
es:  # Plantea preguntas.
     db_input medium mypackage/foo || true
     db_input medium mypackage/bar || true
     db_go || true

note: type: Plain text
en: And the postinst will look something like this:
es: Y el script «postinst» tendrá un aspecto similar al siguiente:

note: type: Plain text
en:  # Generate config file, if it doesn't exist.
     # An alternative is to copy in a template
     # file from elsewhere.
     if [ ! -e $CONFIGFILE ]; then
     	echo "# Config file for my package" E<gt> $CONFIGFILE
     	echo "FOO=" E<gt>E<gt> $CONFIGFILE
     	echo "BAR=" E<gt>E<gt> $CONFIGFILE
     fi
es:  # Genera el fichero de configuración, si no existe.
     # Una alternativa es copiar un fichero
     # de plantillas en otra ubicación.
    ¡ if [ ! -e $CONFIGFILE ]; then
     	echo "# Fichero de configuración para mi paquete " E<gt> $CONFIGFILE
     	echo "FOO=" E<gt>E<gt> $CONFIGFILE
     	echo "BAR=" E<gt>E<gt> $CONFIGFILE
     fi

note: type: Plain text
en:  # Substitute in the values from the debconf db.
     # There are obvious optimizations possible here.
     # The cp before the sed ensures we do not mess up
     # the config file's ownership and permissions.
     db_get mypackage/foo
     FOO="$RET"
     db_get mypackage/bar
     BAR="$RET"
     cp -a -f $CONFIGFILE $CONFIGFILE.tmp
es:  # Sustituye los valores de la base de datos de debconf
     # Aquí hay muchas optimizaciones posibles.
     # «cp» antes de «sed» asegura que no nos equivocamos
     # con el propietario y permisos del fichero de configuración.
     db_get mypackage/foo
     FOO="$RET"
     db_get mypackage/bar
     BAR="$RET"
     cp -a -f $CONFIGFILE $CONFIGFILE.tmp

note: type: Plain text
en:  # If the admin deleted or commented some variables but then set
     # them via debconf, (re-)add them to the conffile.
     test -z "$FOO" || grep -Eq '^ *FOO=' $CONFIGFILE || \e
     	echo "FOO=" E<gt>E<gt> $CONFIGFILE
     test -z "$BAR" || grep -Eq '^ *BAR=' $CONFIGFILE || \e
     	echo "BAR=" E<gt>E<gt> $CONFIGFILE
es:  # Si el administrador eliminó algunas variables pero después las
     # define («set») mediante debconf, las (re)añade al fichero de
     # configuración.
     test -z "$FOO" || grep -Eq '^ *FOO=' $CONFIGFILE || \e
     	echo "FOO=" E<gt>E<gt> $CONFIGFILE
     test -z "$BAR" || grep -Eq '^ *BAR=' $CONFIGFILE || \e
     	echo "BAR=" E<gt>E<gt> $CONFIGFILE

note: type: Plain text
en: Consider how these two scripts handle all the cases. On fresh installs the questions are asked by the config script, and a new config file generated by the postinst. On upgrades and reconfigures, the config file is read in, and the values in it are used to change the values in the debconf database, so the admin's manual changes are not lost. The questions are asked again (and may or may not be displayed). Then the postinst substitutes the values back into the config file, leaving the rest of it unchanged.
es: Considere como estos dos scripts gestionan todas las situaciones. Las preguntas se realizan por el script «config» durante una instalación nueva, y «postinst» genera un nuevo fichero de configuración. Este fichero se lee durante una actualización y reconfiguración, y los valores contenidos en él se usan para modificar los valores en la base de datos de debconf, de forma que no se pierden los cambios manuales del administrador. Las preguntas se plantean otra vez (y puede o no que se muestren). Por último, el script «postinst» sustituye los valores en el fichero de configuración, sin modificar el resto del contenido.

note: type: SS
en: Letting the user back up
es: Permitir retroceder al usuario

note: type: Plain text
en: Few things are more frustrating when using a system like debconf than being asked a question, and answering it, then moving on to another screen with a new question on it, and realizing that hey, you made a mistake, with that last question, and you want to go back to it, and discovering that you can't.
es: Pocas cosas son tan frustrantes al usar un sistema como debconf que responder a una pregunta, continuar a la siguiente pantalla con una pregunta nueva, descubrir que hizo una mala elección en la pregunta anterior, querer retroceder y descubrir que no puede.

note: type: Plain text
en: Since debconf is driven by your config script, it can't jump back to a previous question on its own but with a little help from you, it can accomplish this feat. The first step is to make your config script let debconf know it is capable of handling the user pressing a back button.  You use the CAPB command to do this, passing backup as a parameter.
es: Ya que el script «config» regula el comportamiento de debconf, este no puede saltar a una pregunta anterior por si mismo, aunque puede realizar este paso con un poco de su ayuda. El primer paso es permitir que el script «config» sepa que debconf permite que el usuario pulse un botón para retroceder. Para ello, use la orden «CAPB», introduciendo «backup» como parámetro.

note: type: Plain text
en: Then after each GO command, you must test to see if the user asked to back up (debconf returns a code of 30), and if so jump back to the previous question.
es: A continuación, después de cada orden «GO», debe comprobar si el usuario pidió retroceder (debconf devuelve un código de 30), y si es así, debe saltar a la pregunta anterior.

note: type: Plain text
en: There are several ways to write the control structures of your program so it can jump back to previous questions when necessary. You can write goto-laden spaghetti code. Or you can create several functions and use recursion. But perhaps the cleanest and easiest way is to construct a state machine. Here is a skeleton of a state machine that you can fill out and expand.
es: Existen varias formas de escribir las estructuras de control de su programa para que pueda retroceder a preguntas anteriores cuando sea necesario. Puede escribir un código complicado y confuso. O puede crear varias funciones y usar recursión. Pero quizás la forma más sencilla y limpia es crear una máquina de estado. Aquí tiene un boceto de una máquina de estado, que puede rellenar y expandir.

note: type: Plain text
en:  STATE=1
     while true; do
     	case "$STATE" in
      	1)
      		# Two unrelated questions.
     		db_input medium my/question || true
     		db_input medium my/other_question || true
     	;;
     	2)
     		# Only ask this question if the
     		# first question was answered in
     		# the affirmative.
            	db_get my/question
     		if [ "$RET" = "true" ]; then
     			db_input medium my/dep_question || true
     		fi
      	;;
     	*)
     		# The default case catches when $STATE is greater than the
     		# last implemented state, and breaks out of the loop. This
     		# requires that states be numbered consecutively from 1
     		# with no gaps, as the default case will also be entered
     		# if there is a break in the numbering
     		break # exits the enclosing "while" loop
      	;;
      	esac
es:  STATE=1
     while true; do
     	case "$STATE" in
      	1)
      		# Dos preguntas no relacionadas.
     		db_input medium my/question || true
     		db_input medium my/other_question || true
     	;;
     	2)
     		# Realiza esta pregunta sólo si
     		# se respondió afirmativamente
     		# a la primera.
            	db_get my/question
     		if [ "$RET" = "true" ]; then
     			db_input medium my/dep_question || true
     		fi
      	;;
     	*)
     		# El caso («case») predefinido se inicia cuando $STATE es
     		# mayor que el último «state» implementado, abandonando el bucle.
     		# Es necesario numerar los «states» consecutivamente desde el 1
     		# sin espacios, ya que el «case» predefinido también se introducirá
     		# si hay un espacio en la numeración.
     		break # exits the enclosing "while" loop
      	;;
      	esac

note: type: Plain text
en:  if [ $STATE -eq 0 ]; then
     	# The user has asked to back up from the first
     	# question. This case is problematical. Regular
     	# dpkg and apt package installation isn't capable
     	# of backing up questions between packages as this
     	# is written, so this will exit leaving the package
     	# unconfigured - probably the best way to handle
     	# the situation.
     	exit 10
     fi
es:  if [ $STATE -eq 0 ]; then
     	# El usuario pidió volver atrás a la primera
     	# pregunta. Este caso es problemático. La
     	# instalación regular de dpkg y apt no es capaz de
     	# retroceder a preguntas entre paquetes tal y como
     	# esto se escribe, así que esto cerraría dejando el
     	# paquete sin configurar - probablemente la mejor
     	# forma de tratar esta situación.
     	exit 10
     fi

note: type: Plain text
en: Note that if all your config script does is ask a few unrelated questions, then there is no need for the state machine. Just ask them all, and GO; debconf will do its best to present them all in one screen, and the user won't need to back up.
es: Tenga en cuenta que si todo lo que hace su script «config» es plantear unas pocas preguntas sin relación, no hay necesidad de una máquina de estado. Sólo plantee las preguntas, y «GO»; debconf lo hará lo mejor que pueda para mostrar todas en la misma pantalla, y así el usuario no tendrá que retroceder.

note: type: SS
en: Preventing infinite loops
es: Evitar bucles infinitos

note: type: Plain text
en: One gotcha with debconf comes up if you have a loop in your config script. Suppose you're asking for input and validating it, and looping if it's not valid:
es: Debconf puede encontrar problemas si su script «config» contiene un bucle. Suponga que su consulta requiere la entrada de datos y su validación, y su repetición en caso de que no sea válida:

note: type: Plain text
en: This looks ok at first glance. But consider what happens if the value of foo/bar is "" when this loop is entered, and the user has their priority set high, or is using a non-interactive frontend, and so they are not really asked for input. The value of foo/bar is not changed by the db_input, and so it fails the test and loops. And loops ...
es: Superficialmente, esto es correcto. Pero considere qué ocurre si el valor de «foo/bar» es «""» al entrar en este bucle, y si el usuario ha definido la prioridad de las preguntas a mostrar como alta, o si usa una interfaz no interactiva, de forma que en realidad no se pide ninguna entrada. El valor de «foo/bar» no se modifica mediante «db_input», fallando la prueba de validación y realizando el bucle una y otra vez...

note: type: Plain text
en: One fix for this is to make sure that before the loop is entered, the value of foo/bar is set to something that will pass the test in the loop. So for example if the default value of foo/bar is "1", then you could RESET foo/bar just before entering the loop.
es: Una forma de evitar esto es que antes de entrar en el bucle, el valor de «foo/bar» esté definido como algo que superaría la prueba en el bucle. Por ejemplo, si el valor predefinido de «foo/bar» es "1", entonces puede reiniciar («RESET») «foo/bar» antes de entrar en el bucle.

note: type: Plain text
en: Another fix is to check the return code of the INPUT command. If it is 30 then the user is not being shown the question you asked them, and you should break out of the loop.
es: Otra forma es comprobar el código de retorno de la orden «INPUT». Si es 30, el usuario no ve la pregunta que se les plantea, y debería salir del bucle.

note: type: SS
en: Choosing among related packages
es: Escoger entre paquetes relacionados

note: type: Plain text
en: Sometimes a set of related packages can be installed, and you want to prompt the user which of the set should be used by default. Examples of such sets are window managers, or ispell dictionary files.
es: A veces se pueden instalar un conjunto de paquetes relacionados, y desea consultar al usuario qué conjunto se debería usar por omisión. Ejemplos de tales conjuntos son gestores de ventanas o ficheros de diccionario ispell.

note: type: Plain text
en: While it would be possible for each package in the set to simply prompt, "Should this package be default?", this leads to a lot of repetitive questions if several of the packages are installed. It's possible with debconf to present a list of all the packages in the set and allow the user to choose between them. Here's how.
es: Aunque sea posible que cada paquete en el conjunto podría simplemente consultar «¿Debería ser este paquete el predefinido?», conllevaría a muchas preguntas repetitivas si se van a instalar varios paquetes. Debconf permite la presentación de una lista de todos los paquetes del conjunto, permitiendo al usuario seleccionar cuáles desea. Aquí tiene como hacerlo.

note: type: Plain text
en: Make all the packages in the set use a shared template. Something like this:
es: Haga que todos los paquetes en el conjunto usen una plantilla compartida (tipo «shared»). Algo como esto:

note: type: Plain text
en: Each package should include a copy of the template. Then it should include some code like this in its config script:
es: Cada paquete debería incluir una copia de esta plantilla. También debería incluir código parecido al siguiente en su script «config»:

note: type: Plain text
en: A bit of an explanation is called for. By the time your config script runs, debconf has already read in all the templates for the packages that are being installed. Since the set of packages share a question, debconf records that fact in the owners field. By a strange coincidence, the format of the owners field is the same as that of the choices field (a comma and space delimited list of values).
es: Esto requiere una explicación. Llegado el momento de ejecutar su script «config», debconf ya ha analizado todas las plantillas de los paquetes que se van a instalar. Ya que el conjunto de paquetes comparten una pregunta, debconf registra este hecho en el campo «owners» (propietarios). Por una extraña coincidencia, el formato del campo «owners» es el mismo que el del campo «choices» (elecciones), una lista de valores separados por comas y espacios.

note: type: Plain text
en: The METAGET command can be used to get the list of owners and the list of choices. If they are different, then a new package has been installed. So use the SUBST command to change the list of choices to be the same as the list of owners, and ask the question.
es: La orden «METAGET» se puede usar para obtener una lista de los propietarios y de las elecciones. Si son diferentes, se ha instalado un paquete nuevo. Use la orden «SUBST» para cambiar la lista de elecciones para que sea igual a la lista de propietarios, y plantee la pregunta.

note: type: Plain text
en: When a package is removed, you probably want to see if that package is the currently selected choice, and if so, prompt the user to select a different package to replace it.
es: Cuando se elimine un paquete probablemente querrá ver si ese paquete es la elección actualmente seleccionada, y si es así, querrá consultar al usuario para que seleccione un paquete diferente para reemplazarlo.

note: type: Plain text
en: This can be accomplished by adding something like this to the prerm scripts of all related packages (replacing E<lt>packageE<gt> with the package name):
es: Esto se puede lograr añadiendo algo similar a lo siguiente en los scripts «prerm» de todos los paquetes relacionados (reemplazando E<lt>paqueteE<gt> con el nombre del paquete).

note: type: Plain text
en:  if [ -e /usr/share/debconf/confmodule ]; then
     	. /usr/share/debconf/confmodule
     	# I no longer claim this question.
     	db_unregister shared/window-manager
es:  if [ -e /usr/share/debconf/confmodule ]; then
     	. /usr/share/debconf/confmodule
     	# No declara propiedad sobre esta pregunta.
     	db_unregister shared/window-manager

note: type: Plain text
en:  	# See if the shared question still exists.
     	if db_get shared/window-manager; then
     		db_metaget shared/window-manager owners
     		db_subst shared/window-manager choices $RET
     		db_metaget shared/window-manager value
     		if [ "E<lt>packageE<gt>" = "$RET" ] ; then
     			db_fset shared/window-manager seen false
     			db_input high shared/window-manager || true
     			db_go || true
     		fi
es:  	# Comprueba que la pregunta compartida aún existe.
     	if db_get shared/window-manager; then
     		db_metaget shared/window-manager owners
     		db_subst shared/window-manager choices $RET
     		db_metaget shared/window-manager value
     		if [ "E<lt>paqueteE<gt>" = "$RET" ] ; then
     			db_fset shared/window-manager seen false
     			db_input high shared/window-manager || true
     			db_go || true
     		fi

note: type: Plain text
en:  		# Now do whatever the postinst script did
     		# to update the window manager symlink.
     	fi
     fi
es:  		# Ahora haga lo que el script «postinst» hizo
     		# para actualizar el enlace simbólico del gestor
     		# de ventanas.
     	fi
     fi

note: type: SH
en: HACKS
es: ARREGLOS

note: type: Plain text
en: Debconf is currently not fully integrated into dpkg (but I want to change this in the future), and so some messy hacks are currently called for.
es: A día de hoy debconf no está completamente integrado en dpkg (pero quiero cambiar esto en el futuro), y por ello actualmente se usan unos arreglos poco elegantes.

note: type: Plain text
en: The worst of these involves getting the config script to run. The way that works now is the config script will be run when the package is pre-configured. Then, when the postinst script runs, it starts up debconf again. Debconf notices it is being used by the postinst script, and so it goes off and runs the config script. This can only work if your postinst loads up one of the debconf libraries though, so postinsts always have to take care to do that. We hope to address this later by adding explicit support to dpkg for debconf. The B<debconf>(1)  program is a step in this direction.
es: El peor de estos arreglos implica ejecutar el script «config». La forma en la que funciona ahora es ejecutar el script «config» al preconfigurar el paquete. Entonces, al ejecutar el script «postinst», inicia debconf otra vez. Debconf detecta que está en uso mediante el script «postinst», y por ello se desactiva y ejecuta el script «config». Sólo funciona si su script «postinst» carga una de las bibliotecas debconf por lo que todos los scripts «postinst» deben encargarse de ello. Esperamos cambiar esto en el futuro añadiendo la compatibilidad explicita para debconf a dpkg. El programa B<debconf>(1) es un paso en esta dirección.

note: type: Plain text
en: A related hack is getting debconf running when a config script, postinst, or other program that uses it starts up. After all, they expect to be able to talk to debconf right away. The way this is accomplished for now is that when such a script loads a debconf library (like /usr/share/debconf/confmodule), and debconf is not already running, it is started up, and a new copy of the script is re-execed. The only noticeable result is that you need to put the line that loads a debconf library at the very top of the script, or weird things will happen. We hope to address this later by changing how debconf is invoked, and turning it into something more like a transient daemon.
es: Otro arreglo relacionado es ejecutar debconf cuando un script «config», «postinst» u otro programa que lo usa se inicia. Después de todo, esperan poder comunicarse con debconf inmediatamente. La forma de lograr esto actualmente es que cuando un script carga una biblioteca de debconf (como «/usr/share/debconf/confmodule»), y debconf no está en ejecución, éste se inicia, y se ejecuta una nueva copia del script. La única diferencia notable es que necesita ubicar la línea que carga la biblioteca de debconf al principio del script o pueden ocurrir comportamientos raros. Esperamos poder cambiar en el futuro la forma en que se invoca debconf, transformándolo en un especie de demonio transitorio.

note: type: Plain text
en: It's rather hackish how debconf figures out what templates files to load, and when it loads them. When the config, preinst, and postinst scripts invoke debconf, it will automatically figure out where the templates file is, and load it. Standalone programs that use debconf will cause debconf to look for templates files in /usr/share/debconf/templates/progname.templates.  And if a postrm wants to use debconf at purge time, the templates won't be available unless debconf had a chance to load them in its postinst. This is messy, but rather unavoidable. In the future some of these programs may be able to use debconf-loadtemplate by hand though.
es: La forma en que debconf averigua qué ficheros de plantillas cargar y cuándo es también un arreglo poco elegante. Cuando los scripts «config», «preinst», y «postinst» invocan debconf, éste averiguará automáticamente dónde está el fichero de plantilla, y lo cargará. Los programas independientes que usan debconf provocarán que debconf busque ficheros de plantilla en «/usr/share/debconf/templates/progname.templates». Y si un «postrm» desea usar debconf al purgar, las plantillas no estarán disponibles a menos que debconf tenga la oportunidad de cargarlo a través de «postinst». Esto es algo confuso, pero inevitable. En el futuro, puede que algunos de estos programas sean capaces de usar debconf-loadtemplate directamente.

note: type: Plain text
en: /usr/share/debconf/confmodule's historic behavior of playing with file descriptors and setting up a fd #3 that talks to debconf, can cause all sorts of trouble when a postinst runs a daemon, since the daemon ends up talking to debconf, and debconf can't figure out when the script terminates. The STOP command can work around this. In the future, we are considering making debconf communication happen over a socket or some other mechanism than stdio.
es: El comportamiento histórico de «/usr/share/debconf/confmodule» de manipular los descriptores de ficheros, configurando un descriptor de fichero 3 para comunicarse con debconf, puede causar varios tipos de problema cuando un «postinst» se comunica con debconf ya que el script finaliza la comunicación pero debconf no puede averiguar cuándo finaliza el script. Puede usar la orden «STOP» como un arreglo. En el futuro, estamos considerando hacer que la comunicación con debconf se realice a través de un «socket» o algún otro mecanismo además de la entrada y salida estándar.

note: type: Plain text
en: Debconf sets DEBCONF_RECONFIGURE=1 before running postinst scripts, so a postinst script that needs to avoid some expensive operation when reconfigured can look at that variable. This is a hack because the right thing would be to pass $1 = "reconfigure", but doing so without breaking all the postinsts that use debconf is difficult. The migration plan away from this hack is to encourage people to write postinsts that accept "reconfigure", and once they all do, begin passing that parameter.
es: Debconf define «DEBCONF_RECONFIGURE=1» antes de ejecutar scripts «postinst», de forma que un script «postinst» que deba evitar alguna operación compleja al reconfigurarse puede examinar esa variable. Este es sólo un arreglo ya que lo correcto sería introducir «$1 = "reconfigure"», pero hacerlo sin romper todos los «postinst» que usan debconf es difícil. La vía para abandonar este arreglo es animar a la gente a que escriban ficheros «postinst» que acepten «reconfigure», y una vez que todos lo hagan, empezar a introducir ese parámetro.

note: type: Plain text
en: B<debconf>(7)  is the debconf user's guide.
es: B<debconf>(7) es la guía de usuario de debconf.

note: type: Plain text
en: The debconf specification in debian policy is the canonical definition of the debconf protocol. /usr/share/doc/debian-policy/debconf_specification.txt.gz
es: La especificación de debconf en las normas de Debian (debian-policy) es la definición estándar del protocolo de debconf. Puede encontrarlo en«/usr/share/doc/debian-policy/debconf_specification.txt.gz».

note: type: Plain text
en: B<debconf.conf>(5)  has much useful information, including some info about the backend database.
es: B<debconf.conf>(5) contiene mucha información útil, incluyendo algo de información acerca del sistema de la base de datos.
