Alterator/module/debug
Отладка модулей
Работа с модулем без установки в систему
Все компоненты alterator используют особые переменные среды для определения местоположения основных рабочих каталогов:
- ALTERATOR_LIBDIR -- бакенды и иные архитектурно-зависимые компоненты. Значение по умолчанию - /usr/lib/alterator
- ALTERATOR_DATADIR -- описания интерфейсов и иные архитектурно-независимые компоненты. Значение по умолчанию - /usr/share/alterator.
Для обоих переменных допустимо перечисление нескольких каталогов через двоеточие - в этом случае поиск производится последовательно в порядке указания имён. Например, если ALTERATOR_DATADIR="/a:/b", то файл ui.scm будет искаться сначала по адресу /a/ui.scm, а потом /b/ui.scm.
Для удобства использования у утилит командной строки alterator существует ключ '-l', который добавляет текущий каталог в начало списка каталогов в ALTERATOR_LIBDIR и ALTERATOR_DATADIR.
Таким образом, находясь в модуле, можно отлаживать и запускать его не устанавливая в систему.
- командная строка: alterator-cmdline -l <запрос>
- GUI интерфейс: /usr/sbin/alterator-standalone -l <имя>
- HTML интерфейс: /usr/sbin/configd -l
Во последнем варианте сервер configd не будет отцепляться от терминала и будет работать с локальными бакендами и файлами шаблонов. Для старой системы шаблонов (template-*), дополнительно существует переменная ALTERATOR_HTMLDIR, которая модифицируется при использовании '-l' аналогично остальным переменным.
alterator-standalone лучше всего запускать с указанием /usr/sbin, поскольку утилита consolehelper (/usr/bin/alterator-standalone ссылается на неё) может менять состав переменных окружения.
Обратите также внимание на то, что с локальными desktop-файлами будет работать только 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