Alteratorctl: различия между версиями
Savelevsa (обсуждение | вклад) Нет описания правки |
Savelevsa (обсуждение | вклад) Нет описания правки |
||
(не показано 10 промежуточных версий этого же участника) | |||
Строка 13: | Строка 13: | ||
=== Назначение === | === Назначение === | ||
Программа | Программа '''alteratorctl''' предназначена для: | ||
# | # Системных администраторов. | ||
#Опытных пользователей. | # Опытных пользователей. | ||
'''alteratorctl''' является компонентом новой реализации проекта Альтератор, [[Alterator на D-Bus]]. | '''alteratorctl''' является компонентом новой реализации проекта Альтератор, [[Alterator на D-Bus]]. | ||
= Установка = | = Установка = | ||
Строка 31: | Строка 24: | ||
Команды установки | Команды установки | ||
<pre> | <pre> | ||
# apt-repo add < | # apt-repo add <номер_задания> | ||
# apt-get update | # apt-get update | ||
# apt-get install alteratorctl | # apt-get install alteratorctl | ||
</pre> | </pre> | ||
= Описание модулей = | |||
Приложение имеет модульную структуру. Каждый модуль предназначен для работы с определенным интерфейсом объектов на D-Bus. | |||
Запуск модулей осуществляется при помощи команды | |||
<pre> | <pre> | ||
$ alteratorctl | $ alteratorctl <имя_модуля> <команда_модуля> | ||
</pre> | </pre> | ||
Команда <code>$ alteratorctl <имя_модуля> --help</code> отображает возможности модулей. | |||
=== | Посмотреть список модулей можно при помощи команды <code>$ alteratorctl -m</code>: | ||
< | |||
[[Файл:Alteratorctl-editions1.png|безрамки|alteratorctl-editions1.png]] | |||
</ | |||
В настоящий момент реализовано 6 модулей: | |||
=== manager === | |||
Использует интерфейс <tt>org.altlinux.alterator.manager</tt> объекта <tt>/org/altlinux/alterator</tt>. | |||
Более подробную информацию о возможностях модуля можно найти на соответствующей странице: [https://www.altlinux.org/Alteratorctl/manager_module Модуль Alteratorctl — manager] | |||
=== editions === | |||
Более подробную информацию о возможностях модуля можно найти на соответствующей странице: [https://www.altlinux.org/Alteratorctl/editions_module Модуль Alteratorctl — editions] | |||
=== components === | |||
Более подробную информацию о возможностях модуля можно найти на соответствующей странице: [https://www.altlinux.org/Alteratorctl/components_module Модуль Alteratorctl — components] | |||
=== diag === | |||
Использует интерфейс <tt>org.altlinux.alterator.diag1</tt> объектов установленных инструментов диагностики. | |||
Более подробную информацию о возможностях модуля можно найти на соответствующей странице: [https://www.altlinux.org/Alteratorctl/diag_module Модуль Alteratorctl — diag] | |||
=== packages === | |||
Использует интерфейсы <tt>org.altlinux.alterator.rpm1, org.altlinux.alterator.apt1, org.altlinux.alterator.repo</tt> объектов <tt>org/altlinux/alterator/rpm, /org/altlinux/alterator/apt, /org/altlinux/alterator/repo </tt> соответственно. | |||
Более подробную информацию о возможностях модуля можно найти на соответствующей странице: [https://www.altlinux.org/Alteratorctl/packages_module Модуль Alteratorctl — packages] | |||
=== systeminfo === | |||
Использует интерфейс <tt>org.altlinux.alterator.systeminfo1</tt> объекта <tt>org/altlinux/alterator/systeminfo</tt>. | |||
Более подробную информацию о возможностях модуля можно найти на соответствующей странице: [https://www.altlinux.org/Alteratorctl/systemctl_module Модуль Alteratorctl — systemctl] | |||
= Спецификация = | = Спецификация = | ||
Строка 91: | Строка 106: | ||
Конструктор модуля - функция, возвращающая указатель на AlteratorCtlComponentsModule. Конструктор модуля принимает в виде параметров: | Конструктор модуля - функция, возвращающая указатель на AlteratorCtlComponentsModule. Конструктор модуля принимает в виде параметров: | ||
*указатель на AlteratorCtlApp, в котором зарегистрирован модуль; | * указатель на AlteratorCtlApp, в котором зарегистрирован модуль; | ||
*указатель на структуру типа alteratorctl_arguments_t, которая содержит общие для всех модулей параметры. | * указатель на структуру типа alteratorctl_arguments_t, которая содержит общие для всех модулей параметры. | ||
'''Деструктор''' | '''Деструктор''' | ||
Строка 100: | Строка 115: | ||
=== Создание контекста модуля === | === Создание контекста модуля === | ||
#'''Метод run_with_args''' | # '''Метод run_with_args''' | ||
#:Этот метод запускает модуль, передавая ему параметры командной строки. Обычно в этом методе происходит парсинг аргументов командной строки, создается '''контекст модуля'''. И этот контекст передается в метод run. | #: Этот метод запускает модуль, передавая ему параметры командной строки. Обычно в этом методе происходит парсинг аргументов командной строки, создается '''контекст модуля'''. И этот контекст передается в метод run. | ||
#'''Метод run''' | # '''Метод run''' | ||
#:Метод run принимает контекст модуля и непосредственно выполняет необходимые запросы на D-Bus. Модуль должен быть выполнен таким образом, чтобы его можно было вызвать из другого модуля при инициализации контекста модуля. После выполнения метода run, контекст необходимо освободить специализированной функцией. | #: Метод run принимает контекст модуля и непосредственно выполняет необходимые запросы на D-Bus. Модуль должен быть выполнен таким образом, чтобы его можно было вызвать из другого модуля при инициализации контекста модуля. После выполнения метода run, контекст необходимо освободить специализированной функцией. | ||
#'''Метод print _help''' | # '''Метод print _help''' | ||
#:Выводит в stdout описание команд и параметров командной строки модуля. | #: Выводит в stdout описание команд и параметров командной строки модуля. |
Текущая версия от 16:18, 4 апреля 2025
alteratorctl — консольное приложение, предназначенное для вызова методов интерфейсов, разработанных в рамках Alterator на D-Bus.
Назначение
Программа alteratorctl предназначена для:
- Системных администраторов.
- Опытных пользователей.
alteratorctl является компонентом новой реализации проекта Альтератор, Alterator на D-Bus.
Установка
Для установки alteratorctl из задания (таски), воспользуйтесь поиском.
Команды установки
# apt-repo add <номер_задания> # apt-get update # apt-get install alteratorctl
Описание модулей
Приложение имеет модульную структуру. Каждый модуль предназначен для работы с определенным интерфейсом объектов на D-Bus. Запуск модулей осуществляется при помощи команды
$ alteratorctl <имя_модуля> <команда_модуля>
Команда $ alteratorctl <имя_модуля> --help
отображает возможности модулей.
Посмотреть список модулей можно при помощи команды $ alteratorctl -m
:
В настоящий момент реализовано 6 модулей:
manager
Использует интерфейс org.altlinux.alterator.manager объекта /org/altlinux/alterator.
Более подробную информацию о возможностях модуля можно найти на соответствующей странице: Модуль Alteratorctl — manager
editions
Более подробную информацию о возможностях модуля можно найти на соответствующей странице: Модуль Alteratorctl — editions
components
Более подробную информацию о возможностях модуля можно найти на соответствующей странице: Модуль Alteratorctl — components
diag
Использует интерфейс org.altlinux.alterator.diag1 объектов установленных инструментов диагностики.
Более подробную информацию о возможностях модуля можно найти на соответствующей странице: Модуль Alteratorctl — diag
packages
Использует интерфейсы org.altlinux.alterator.rpm1, org.altlinux.alterator.apt1, org.altlinux.alterator.repo объектов org/altlinux/alterator/rpm, /org/altlinux/alterator/apt, /org/altlinux/alterator/repo соответственно.
Более подробную информацию о возможностях модуля можно найти на соответствующей странице: Модуль Alteratorctl — packages
systeminfo
Использует интерфейс org.altlinux.alterator.systeminfo1 объекта org/altlinux/alterator/systeminfo.
Более подробную информацию о возможностях модуля можно найти на соответствующей странице: Модуль Alteratorctl — systemctl
Спецификация
Документация представлена на странице проекта.
Пример
Опишем типовой внутренний модуль alteratorctl и архитектуру модуля.
Внутренний клиентский модуль - объект класса, реализующего интерфейс AlteratorCtlModuleInterface по принципу, принятому в GLib для объектно-ориентированного программирования.
Интерфейс AlteratorCtlModuleInterface предполагает, что в модуле должны быть реализованы 3 метода:
- run_with_args - запуск модуля с параметрами командной строки;
- run - запуск модуля с контекстом;
- print_help - вывод справки об использовании модуля.
Регистрация модуля
Модуль в alteratorctl необходимо зарегистрировать перед его использованием. Регистрация модуля осуществляется вызовом метода alterator_ctl_register_module() у объекта app типа AlteratorCtlApp в функции main.
В функцию передается указатель на объект типа AlteratorCtlApp, где происходит регистрация, и на структуру типа alterator_ctl_module_t, в которой есть указатели на конструкторы, деструкторы и id модуля.
Id модуля
Id модуля представляет собой указатель на строку, содержащую имя модуля. Именно по имени модуля alteratorctl понимает, какой модуль запустить. Модуль указывается первым после общих ключей alteratorctl в командной строке.
Например,
$ alteratorctl -v manager help где * -v - общий для модулей параметр * manager - имя (id) запускаемого модуля * help - подкоманда для модуля manager.
Конструктор модуля
Конструктор модуля - функция, возвращающая указатель на AlteratorCtlComponentsModule. Конструктор модуля принимает в виде параметров:
- указатель на AlteratorCtlApp, в котором зарегистрирован модуль;
- указатель на структуру типа alteratorctl_arguments_t, которая содержит общие для всех модулей параметры.
Деструктор
Деструктор - функция в структуре alterator_ctl_module_t. Принимает указатель на экземпляр класса внутреннего модуля, ресурсы которого будут освобождены.
Создание контекста модуля
- Метод run_with_args
- Этот метод запускает модуль, передавая ему параметры командной строки. Обычно в этом методе происходит парсинг аргументов командной строки, создается контекст модуля. И этот контекст передается в метод run.
- Метод run
- Метод run принимает контекст модуля и непосредственно выполняет необходимые запросы на D-Bus. Модуль должен быть выполнен таким образом, чтобы его можно было вызвать из другого модуля при инициализации контекста модуля. После выполнения метода run, контекст необходимо освободить специализированной функцией.
- Метод print _help
- Выводит в stdout описание команд и параметров командной строки модуля.