Alterator/module/debug

Материал из ALT Linux Wiki


Отладка модулей

Работа с модулем без установки в систему

Все компоненты alterator используют особые переменные среды для определения местоположения основных рабочих каталогов:

Переменная Значение по умолчанию Описание
ALTERATOR_LIBDIR /usr/lib/alterator бэкенды и иные архитектурно-зависимые компоненты.
ALTERATOR_DATADIR /usr/share/alterator описания интерфейсов и иные архитектурно-независимые компоненты.
ALTERATOR_DEBUG сигнализирует что система находится в режиме отладки

Для обоих переменных допустимо перечисление нескольких каталогов через двоеточие - в этом случае поиск производится последовательно в порядке указания имён. Например, если ALTERATOR_DATADIR="/a:/b", то файл ui.scm будет искаться сначала по адресу /a/ui.scm, а потом /b/ui.scm.

Для удобства использования у утилит командной строки alterator существует ключ '-l', который добавляет текущий каталог в начало списка в переменные ALTERATOR_LIBDIR и ALTERATOR_DATADIR.

Таким образом, находясь в модуле, можно отлаживать и запускать его не устанавливая в систему.

Интерфейс Команда запуска
Командная строка alterator-cmdline -l <запрос>
Графический интерфейс /usr/sbin/alterator-standalone -l <имя desktop-файла описания>
Web-интерфейс /usr/sbin/configd -l

В последнем варианте сервер configd не будет отцепляться от терминала и будет работать с локальными бэкендами и файлами шаблонов. Для старой системы шаблонов (template-*), дополнительно существует переменная ALTERATOR_HTMLDIR, которая модифицируется при использовании '-l' аналогично остальным переменным.

alterator-standalone следует запускать с указанием /usr/sbin, поскольку утилита consolehelper (/usr/bin/alterator-standalone ссылается на неё) изменяет состав переменных окружения.

Интерфейс командной строки

Утилита alterator-cmdline служит для выполнения запросов к бакендам из интерфейса командой строки и может с успехом использоваться для написания скриптов. Параметр -l позволяет работать с локальными бакендами, а параметр -k указывает выводить значения конкретного параметра.

Пример:

# alterator-cmdline /users/stas action read

gecos:Stanislav I. Ievlev
home:/home/stas
shell:/bin/bash
allow_su:#t

# alterator-cmdline /users/stas action read -k home
/home/stas

#alterator-cmdline /net-eth action list 

name:eth0
label:eth0

name:eth1
label:eth1
# alterator-cmdline /net-eth action list -k name
eth0
eth1