Provided by: debconf-doc_1.5.27ubuntu2_all bug

НАЗВАНИЕ

       debconf.conf - файл настройки debconf

ОПИСАНИЕ

       Debconf    --    это    система   настройки   пакетов   Debian.   Файлы
       /etc/debconf.conf и ~/.debconfrc являются  файлами  настройки,  которые
       debconf  использует  для  определения  какие  базы  данных  должны быть
       задействованы. Эти базы данных используются  для  хранения  двух  типов
       информации; динамически настраиваемых данных, которые ввёл пользователь
       и статических данных шаблонов. Debconf предлагает  гибкую,  расширяемую
       среду хранения базы данных. С минимальными затратами могут быть созданы
       новые драйверы, и их любые  комбинации  могут  объединяться  различными
       путями.

СИНТАКСИС

         # Это пример файла настройки, которого
         # достаточно для использования debconf.
         Config: configdb
         Templates: templatedb

         Name: configdb
         Driver: File
         Filename: /var/cache/debconf/config.dat

         Name: templatedb
         Driver: File
         Mode: 644
         Filename: /var/cache/debconf/templates.dat

ФОРМАТ ФАЙЛА

       Форматом  файла  является  серия  строф,  отделённых  друг от друга как
       минимум одной полностью пустой строкой. Строки комментариев  начинаются
       с символа "#" и игнорируются.

       Первая  строфа  файла  имеет  особое  значение,  она  используется  для
       настройки всего debconf. В первой строфе должны быть два поля:

              Config Задаёт имя базы данных, из которой загружаются  данные  о
                     настройке.

              Templates
                     Задаёт   имя   базы   данных,  которая  используется  для
                     кеширования шаблонов.

       Могут быть указаны дополнительные поля:

              Frontend
                     Используемая  интерфейсная  программа  Debconf,  заменяет
                     любое  установленное значение интерфейсной программы базы
                     данных debconf.

              Priority
                     Приоритет, который должен использовать Debconf,  заменяет
                     любой  заданный  приоритет,  установленный  в базе данных
                     debconf.

              Admin-Email
                     Адрес электронной почты,  куда  Debconf  должен  посылать
                     сообщения,  если  требуется,  чтобы администратор получил
                     важные замечания. По умолчанию, всё направляется  "root",
                     но  может  быть  задан  любой  рабочий  адрес электронной
                     почты. Если вы предпочитаете выключить отправку  почты  в
                     debconf,  укажите  пустой  адрес. Он может быть заменён в
                     ходе    работы     значением     переменной     окружения
                     DEBCONF_ADMIN_EMAIL.

              Debug  Если  установлено,  то  debconf будет выводить отладочную
                     информацию в стандартный поток ошибок.  Значениями  могут
                     быть   что-нибудь  типа  "user",  "developer",  "db"  или
                     регулярное выражение.  Обычно  вместо  указания  в  файле
                     настройки,   для   временного  включения  режима  отладки
                     устанавливайте переменную окружения DEBCONF_DEBUG.

              NoWarnings
                     Если  установлено,   то   debconf   не   будет   выводить
                     предупреждения  о  различных  событиях.  Такое  поведение
                     можно изменить на лету  с  помощью  переменной  окружения
                     DEBCONF_NOWARNINGS.

              Log    Заставить   debconf  сохранять  отладочную  информацию  в
                     syslog.  Значение  контролирует,   что   протоколировать.
                     Смотрите  описание Debug ранее, какие значения могут быть
                     заданы для протоколирования.

              Terse  Если установлено  в  "true",  то  некоторые  интерфейсные
                     программы  debconf  активируют  специальный краткий режим
                     вывода, чтобы выдавать как можно  меньше  информации.  По
                     умолчанию   false.  Краткий  режим  может  быть  временно
                     включён с помощью переменной окружения DEBCONF_TERSE.

       Например, первая строфа может выглядеть так:
         Config: configdb
         Templates: templatedb

       Остальные строфы в файле настраивают базу данных.  Строфа  базы  данных
       начинается с имени базы:
         Name: configdb

       Затем  задаётся  какой  драйвер  базы  данных должен использоваться для
       базы.  Доступные драйверы описаны далее в разделе ДРАЙВЕРЫ.
         Driver: File

       Вы можете указать,  что  база  данных  неважна  для  нормальной  работы
       debconf  сделав её необязательной. Debconf будет действовать без плана,
       если база данных недоступна по какой-то причине.
         Required: false

       Вы можете пометить любую базу данных как доступную только для чтения  и
       debconf не будет ничего в неё писать.
         Readonly: true

       Также  вы можете ограничить типы данных, которые будут храниться в базе
       с помощью строк Accept- и Reject-; описание смотрите  далее  в  разделе
       УПРАВЛЕНИЕ ДОСТУПОМ.

       Остальная  часть  строфы  каждой  базы данных используется для указания
       специальных для каждого драйвера параметров.  Например,  драйверу  Text
       требуется  указать  каталог  где  лежит  база  данных,  для этого нужно
       указать:
         Filename: /var/cache/debconf/config.dat

ДРАЙВЕРЫ

       Уже созданы несколько драйверов, нужные  можно  написать  с  небольшими
       усилиями.  Драйверы  бывают  двух  типов. Первый, настоящие драйверы --
       драйверы, которые на самом деле обеспечивают доступ и хранение данных в
       какой-то базе данных, которая может располагаться на локальной файловой
       системе или на удалённой  машине.  Второй  --  мета  драйверы,  которые
       объединяют  другие  драйверы  вместе  образуя более интересные системы.
       Начнём с первых.

       File
              Данный драйвер базы данных позволяет debconf хранить  всю
              информацию в одном простом текстовом файле. Это позволяет
              легко архивировать,  переносить  с  машины  на  машину  и
              редактировать   базу   данных.   Это   один  из  наиболее
              компактных форматов  базы  данных  в  смысле  занимаемого
              места   на  диске.  Он  также  является  одним  из  самых
              медленных.

              Отрицательные качества: при  запуске  debconf  этот  файл
              должен быть прочитан целиком и его сохранение медленно.

              Настройки драйвера:

                     Filename
                             Имя  файла базы данных. Обязательное поле.

                      Mode   Права доступа  с  которыми  нужно  создать
                             файл,  если он не существует. По умолчанию
                             -- 600, так  как  в  файл  могут  хранятся
                             пароли в некоторых случаях.

                      Format Формат   файла.  Смотрите  раздел  ФОРМАТЫ
                             далее. По умолчанию  используется  rfc-822
                             подобный формат.

                      Backup Нужно  ли  делать  резервную  копию  перед
                             изменением. По умолчанию включено.

              Пример строфы с  настройками  базы  данных,  использующей
              этот драйвер:

                Name: mydb
                Driver: File
                Filename: /var/cache/debconf/mydb.dat

       DirTree
              Этот драйвер базы данных позволяет debconf хранить данные
              в виде иерархической структуры каталогов. Имена различных
              шаблонов  debconf  и  вопросов  используются как есть для
              образования каталогов с файлами в них. Такой формат  базы
              данных самый лёгкий для просмотра и изменения вручную. Он
              имеет хорошую скорость загрузки и записи. Для него  также
              типично   занимать  много  места,  так  как  он  содержит
              множество  маленьких  файлов  и   подкаталогов,   которые
              занимают дополнительное пространство.

              Настройки драйвера:

                     Directory
                             Каталог размещения файлов. Обязателен.

                     Extension
                             Расширение,  которое прибавляется к именам
                             файлов.  Должна  указываться   не   пустая
                             строка; по умолчанию -- ".dat"

                      Format Формат   файла.  Смотрите  раздел  ФОРМАТЫ
                             далее. По умолчанию  используется  rfc-822
                             подобный формат.

                      Backup Нужно  ли  делать  резервную  копию  перед
                             изменением. По умолчанию включено.

              Пример строфы с  настройками  базы  данных,  использующей
              этот драйвер:

                Name: mydb
                Driver: DirTree
                Directory: /var/cache/debconf/mydb
                Extension: .txt

       PackageDir
              Данный  драйвер  базы данных является компромиссным между
              File и DirTree. Здесь  используется  каталог,  в  котором
              располагаются (приблизительно) один файл на каждый пакет,
              использующий  debconf.  Он   довольно   быстр,   хотя   и
              использует  немного больше места, чем драйвер базы данных
              File.

              Данный драйвер настраивается теми же  параметрами  как  и
              драйвер DirTree, а также:

              Mode   Права  доступа  с  которыми нужно создать файл. По
                     умолчанию -- 600, так как в файл могут сохраняться
                     пароли в некоторых случаях.

              Пример  строфы  с  настройками  базы данных, использующей
              этот драйвер:

                Name: mydb
                Driver: PackageDir
                Directory: /var/cache/debconf/mydb

       LDAP
              ПРЕДУПРЕЖДЕНИЕ:  Данный  драйвер  базы  данных   является
              экспериментальным. Используйте с осторожностью.

              Данный   драйвер   базы   данных  позволяет  использовать
              каталоги LDAP  для  хранения  данных  debconf.  По  своей
              природе  каталоги LDAP обычно доступны только для чтения.
              Это  результат  влияния   множественного   одновременного
              доступа,  и это обычно лучше для целостности данных, если
              никто   не   пытается   изменять   данные   одновременно.
              Естественно,  поддерживается режим записи для тех случаев
              когда вам нужно обновить данные настройки в каталоге.

              О том как настроить LDAP сервер  для  debconf  читайте  в
              /usr/share/doc/debconf-doc/README.LDAP     (из     пакета
              debconf-doc).

              Чтобы использовать данный драйвер базы данных  вы  должны
              установить  пакет  libnet-ldap-perl.  Debconf  предлагает
              данный пакет, но не зависит от него.

              Внимательно  отнеситесь  к  вопросам   безопасности   при
              использовании  удалённой  базы данных debconf. Если вы не
              доверяете источнику  или  сети  доставки,  безопасней  не
              использовать данный драйвер.

              Настройки драйвера:

                      server Имя  хоста  или  IP  адрес LDAP сервера, к
                             которому нужно подключаться.

                      port   Порт  LDAP  сервера,  к   которому   нужно
                             подключаться.    Если    не    задан,   то
                             используется значение порта по  умолчанию.

                      basedn DN,  под  которым  хранятся  все  элементы
                             настройки.  Предполагается,   что   каждый
                             элемент   расположен   в  DN  как  cn=<имя
                             элемента>,<корневой  элемент   DN>.   Если
                             такая структура не соблюдается, тады ой.

                      binddn DN   для   подключения  к  каталогу.  Если
                             указано none,  то  используется  анонимное
                             подключение.

                     bindpasswd
                             Пароль       для      использования      в
                             аутентификационном             подключении
                             (используется  вместе  с binddn, описанном
                             ранее). Если не  указан,  то  используется
                             анонимное подключение.

                             Этот  параметр  не должен использоваться в
                             общем случае. Анонимное подключение должно
                             использоваться  большую  часть времени для
                             доступа  только  на  чтение.  Указание  DN
                             подключения    и    пароля   должно   быть
                             зарезервировано для редких случаев,  когда
                             вы  хотите  обновить  данные  о  настройке
                             debconf.

                     keybykey
                             Включить  доступ  к  отдельным  записям  в
                             LDAP, а не получать их все сразу в начале.
                             Это очень полезно при мониторинге журналов
                             LDAP   при   запросе  определённых  ключей
                             debconf. В этом  случае  вы  также  можете
                             записать пользовательский код обработки на
                             серверной части LDAP.

                             Заметим, что когда этот параметр  включён,
                             соединение   с   сервером   LDAP  остаётся
                             активным на всё время работы Debconf.  Это
                             слегка   отличается   от   поведения   при
                             получении   всего   за   один   раз,   где
                             производятся  два  подключения  к  LDAP: в
                             начале при получении  всех  записей,  и  в
                             конце для записи произошедших изменений.

              Пример  строфы  с  настройками  базы данных, использующей
              этот драйвер; предполагается, что используется  удалённая
              база данных на example.com и она доступна анонимно:

                Name: ldapdb
                Driver: LDAP
                Readonly: true
                Server: example.com
                BaseDN: cn=debconf,dc=example,dc=com
                KeyByKey: 0

              Другой  пример: база данных LDAP установлена на локальной
              машине(localhost) и в неё разрешена запись:

                Name: ldapdb
                Driver: LDAP
                Server: localhost
                BaseDN: cn=debconf,dc=domain,dc=com
                BindPasswd: secret
                KeyByKey: 1

       Pipe
              Специальный драйвер базы данных для чтения и записи  базы
              данных   со  стандартного  ввода/вывода.  Он  может  быть
              полезным в нестандартных ситуациях.

              Настройки драйвера:

                      Format Формат чтения и  записи.  Смотрите  раздел
                             ФОРМАТЫ  далее.  По умолчанию используется
                             rfc-822 подобный формат.

                      Infd   Номер  файлового  дескриптора  чтения.  По
                             умолчанию  для  чтения используется stdin.
                             Если указано значение "none", то  из  базы
                             данных    при    запуске   чтение   данных
                             проводиться не будет.

                      Outfd  Номер  файлового  дескриптора  записи.  По
                             умолчанию  для записи используется stdout.
                             Если  указано  значение  "none",  то  база
                             данных при выходе будет выброшена.

       Это все реальные драйверы, теперь переходим к мета-драйверам..

       Stack
              Данный  драйвер  объединяет  в  стек несколько разных баз
              данных (любых типов), и позволяет обращаться к ним как  к
              одной.   Когда   у   debconf   запрашивают  значение,  то
              возвращается  значение  из  первой  базы  данных   стека,
              которая  его  содержит.  Если debconf записывает что-то в
              базу  данных,  то  запись  обычно   производится   первым
              драйвером  стека,  который  содержит  изменяемое  debconf
              значение,  и  если  такого   нет,   то   новое   значение
              добавляется  в  первую  доступную  для записи базу данных
              стека.

              Более интересной становится ситуация, если  одна  из  баз
              данных  стека доступна только для чтения. Рассмотрим стек
              с базами данных foo, bar и baz, где foo  и  baz  доступны
              только для чтения. Debconf хочет изменить значение, и это
              значение имеется только в baz, но она доступна только для
              чтения.  Драйвер stack достаточно сообразителен, чтобы не
              пытаться туда писать, и копирует элемент из baz в bar,  и
              сохраняет  изменения bar. Теперь значение в baz перекрыто
              значением из bar, и более не видно для debconf.

              Такое поведение полезно, если вы хотите  настроить  много
              систем  из  центральной,  доступной только на чтение базы
              данных, но хотите заменить некоторые значения для  каждой
              системы.  Если  рассматривать  ещё и контроль доступа, то
              стеки позволяют выполнять много других интересных  вещей,
              типа  перенаправления  всех паролей в одну базу данных, в
              то время как близлежащая база данных хранит что-то ещё.

              Только один параметр настройки  требуется  для  настройки
              стека:

                      Stack  В  ней  нужно  указать  список  других баз
                             данных, по имени, чтобы показать  из  чего
                             состоит стек.

              Например:

                Name: megadb
                Driver: stack
                Stack: passworddb, configdb, companydb

              ПРЕДУПРЕЖДЕНИЕ:   Драйвер   stack   пока  не  был  хорошо
              протестирован. Используйте на свой страх и риск.

       Backup
              Данный драйвер передаёт все запросы другому драйверу базы
              данных.  Но  он  также  копирует  все  запросы  на запись
              драйверу резервной базы данных.

              Для настройки драйвера вы должны указать следующие поля:

                      Db     База данных для чтения и записи.

                     Backupdb
                             Имя базы  данных,  куда  посылаются  копии
                             запросов на запись.

              Например:

                Name: backup
                Driver: Backup
                Db: mydb
                Backupdb: mybackupdb

       Debug
              Этот  драйвер  передаёт все запросы другому драйверу базы
              данных, выводя подробную информацию для отладки о запросе
              и результате.

              Для настройки драйвера вы должны указать следующие поля:

                      Db     База данных для чтения и записи.

УПРАВЛЕНИЕ ДОСТУПОМ

       При настройке базы данных, помимо прочего вы можете использовать
       некоторые поля  для  управления  доступом.  Вы  можете  указать,
       например,  что  база  данных  хранит только пароли, или сделать,
       чтобы база данных хранила только данные  в  имени  которых  есть
       выражение "foo".

       Readonly
              Как  уже  упоминалось,  данное  управление доступом, если
              установлено в "true", то база данных становится доступной
              только  для чтения. Debconf будет читать значения из неё,
              но не никогда не будет что-либо писать.

       Accept-Name
              Текст в этом поле должен быть perl-совместимым регулярным
              выражением,  с  которым  сравниваются  имена  при запросе
              данных из базы. База данных  позволяет  debconf  получить
              доступ  или  изменять данные, только если имена элементов
              подпадают под регулярное выражение.

       Reject-Name
              Подобно  Accept-Name,  за  исключением  того,  что  любое
              подпадающее под регулярное выражение имя будет отклонено.

       Accept-Type
              Другое  регулярное  выражение,  с  ним  сравнивается  тип
              элемента,  к которому осуществляется доступ. Доступ будет
              разрешён  только  если  тип  подпадает   под   регулярное
              выражение.

       Reject-Type
              Подобно  Accept-Type,  за  исключением  того,  что  любой
              подпадающий под регулярное выражение тип будет  отклонён.

ФОРМАТЫ

       Некоторые  драйверы  баз  данных  используют  модули формата для
       управления реальным форматом, в котором база данных хранится  на
       диске. Поддерживаемые форматы:

       822    Данный формат файла основан на формате rfc-822 заголовков
              почтовых сообщений. Похожие форматы широко используются в
              Debian; например в файле status программы dpkg и т.д.

ПРИМЕР

       Вот более сложный пример файла debconf.conf.

         # Эта строфа используется для общей настройки debconf.
         Config: stack
         Templates: templates
         Log: developer
         Debug: developer

         # Это моя собственная локальная база данных.
         Name: mydb
         Driver: DirTree
         Directory: /var/cache/debconf/config

         # Это другая база данных, которую я использую только для
         # хранения настройки X сервера.
         Name: X
         Driver: File
         Filename: /etc/X11/debconf.dat
         Mode: 644
         # Это сложно -- определить какие вопросы
         # принадлежат X; здесь должна использоваться сложная
         #  древовидная  структура,  чтобы  я  мог  просто  сравнить  с
       выражением ^X/
         # Уф.
         Accept-Name: xserver|xfree86|xbase

         # Это наша глобальная база данных debconf всей компании,
         # доступная только на чтение (для меня!).
         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
         # Я не хочу, чтобы пароли брались
         # откуда-то ещё.
         Reject-Type: password
         # Если эта db недоступна по какой-то причине --
         # продолжать работать.
         Required: false

         # Я использую эту базу данных для хранения
         # паролей невредимыми и в безопасности.
         Name: passwords
         Driver: File
         Filename: /etc/debconf/passwords
         Mode: 600
         Accept-Type: password

         # Сложим все их вместе
         # в стек базы данных.
         Name: stack
         Driver: Stack
         Stack: passwords, X, mydb, company
         # Итак, все пароли хранятся в базе данных паролей.
         # Большинство настроек X берутся из базы данных X,
         # а всё остальное берётся из моей главной базы
         # данных. Значения ищутся в каждой из них по очереди,
         # и если значение не находится, то просматривается
         # LDAP база данных компании
         # (за исключением значений паролей).

         # В базе данных также хранятся шаблоны. Тут
         # нам не нужно ничего изобретать.
         Name: templates
         Driver: File
         Mode: 644
         Format: 822
         Filename: /var/cache/debconf/templates

ЗАМЕЧАНИЯ

       Если вы задействуете что-то типа ${HOME} в этом  файле,  то  оно
       будет заменено значением с именем переменной окружения.

       Переменные  окружения  также  могут использоваться для изменения
       базы данных на лету, смотрите debconf(7).

       Имена полей  (часть  строки  перед  двоеточием)  не  зависят  от
       регистра символов. Но значения зависят от регистра символов.

ПЛАНИРУЕМЫЕ УЛУЧШЕНИЯ

       Ещё  драйверов  и  форматов.  Есть  идея включить: драйвер SQL с
       возможностью доступа к  удалённой  базе  данных,  драйвер  DHCP,
       который сделает доступными некоторые специальные вещи типа имени
       машины, IP адрес  и  DNS  серверы,  драйвер,  который  стягивает
       значения из публичных DNS записей полей TXT, формат, совместимый
       с выводом cdebconf, драйвер override,  который  сможет  заменять
       значения  поля  или  флагов  во  всех запросах, переданных через
       него.

ФАЙЛЫ

       /etc/debconf.conf

       ~/.debconfrc

СМОТРИТЕ ТАКЖЕ

       debconf(7)

АВТОР

       Joey Hess <joeyh@debian.org>

                                                               DEBCONF.CONF(5)