В данном разделе рассмотрим подготовку к инсталляции С-Терра Клиент А с помощью системы управления настройками пакетов debconf. Предварительная настройка средствами debconf и установка С-Терра Клиент А может выполняться как в интерактивном, так и в неинтерактивном режиме.
С помощью debconf в обоих режимах выставляются следующие настройки:
· Ввод лицензии на Продукт.
· Включение инициализации ДСЧ. (По умолчанию отключено, поскольку это может быть интерактивным процессом.) Включать можно в одном из двух случаев:
· когда точно известно, что это не интерактивный процесс, например, при использовании файла с данными контейнера в качестве гаммы;
· когда интерактивность во время установки Продукта не является проблемой.
· Ввод транспортного пароля (если тот был задан).
· Включение/Выключение службы Local Management.
Допускается установка Продукта без ввода лицензии и инициализации ДСЧ. Однако такой Продукт не будет активным и работоспособным. Для его активизации следует провести процедуру инициализации (команда для запуска процедуры инициализации: dpkg-reconfigure sterraclient).
В пакетах, которые используют debconf, добавляется файл templates, содержащий набор вопросов, которые могут быть заданы пользователю, а также сообщений об ошибках и информационных сообщений. Файл можно извлечь из deb-файла с помощью команды:
dpkg -I <путь_к_deb_файлу> templates
Ключевые параметры каждой настройки
Имя в формате (Template:):
<packagename>/<something>
<packagename> обычно совпадает с именем пакета. Однако это не является строго обязательным. Более того, при необходимости одной и той же настройкой могут управлять несколько различных пакетов.
Примеры:
sterraclient/lic_license_code
sterraclient/err_msg_lic_required
Тип (Type:).
Примеры:
boolean – могут принимать два возможных значения, иногда называемых истиной (true) и ложью (false).
error – сообщение об ошибке.
note – информационное сообщение.
password – создание пароля (требуется ввести пароль).
select – выбор из нескольких вариантов (как фиксированный, так и настраиваемый из скрипта). Варианты задаются в настройке Choices.
string – требуется ввести запрашиваемую информацию.
Значение по умолчанию (Default:)
Иногда используется если в Type: выставлен параметр boolean. В настройке указывается одно из двух значений по умолчанию true или false.
Выбор (Choices:):
Используется если в Type: выставлен параметр select. В таком случае настраиваются варианты ответа, фиксированные путем перечисления вариантов через запятую или настраиваемые из скрипта.
Пример:
Template: sterraclient/default_driver_policy
Type: select
Choices: passall, passdhcp, dropall, 7, 8, 9
Description: Default Driver Policy
Description-ru: Политика
драйвера по
умолчанию (DDP)
Сообщение или вопрос EN (Description).
Сообщение или вопрос RU (Description-ru).
Для настройки Продукта в пакет добавляется сценарий config, который управляет настройками через debconf – как интерактивными, так и не интерактивными. Файл сценария config можно извлечь из deb-файла с помощью команды:
dpkg -I <путь_к_deb_файлу> config
Настройки хранятся в общей базе. Для каждой настройки хранится значение и дополнительные флаги. Флаг – seen обозначает, что данный вопрос уже задавался или информационное сообщение уже показывалось. Если этот флаг выставлен, в следующий раз этот вопрос задаваться не будет. Если необходимо выдать этот вопрос еще раз, необходимо сбросить этот флаг.
При запросе настройки из скрипта config обязательно задается один из возможных уровней:
· low – выставление значения, отличного от стандартного, происходит в редких случаях;
· medium – есть разумное значение по умолчанию;
· high – нет разумного значения по умолчанию;
· critical – настройка, без ввода которой возможно разрушение системы.
Уровень настройки сравнивается с текущим уровнем, который зависит от вызванной утилиты и выставленных опций. Большинству утилит текущий уровень можно задать с помощью специальных опций, обычно используются опции -p или -priority. Также, текущий уровень можно задать с помощью переменной окружения DEBIAN_PRIORITY.
Если не задавать уровень явно, большинство утилит берет его из настроек debconf. По умолчанию выставляется уровень high. Для dpkg-reconfigure уровень по умолчанию – low.
Настройки можно задавать разными способами: интерактивно и неинтерактивно.
Также выставить настройки можно, комбинируя данные способы. Т.е. выставить некоторые настройки интерактивно, а затем выставить дополнительные неинтерактивно.