Alteratorctl: различия между версиями

Материал из ALT Linux Wiki
Нет описания правки
Нет описания правки
 
(не показано 10 промежуточных версий этого же участника)
Строка 13: Строка 13:


=== Назначение ===
=== Назначение ===
Программа ADT предназначена для:
Программа '''alteratorctl''' предназначена для:
#Cистемных администраторов.
# Системных администраторов.
#Опытных пользователей.
# Опытных пользователей.


'''alteratorctl''' является компонентом новой реализации проекта Альтератор, [[Alterator на D-Bus]].
'''alteratorctl''' является компонентом новой реализации проекта Альтератор, [[Alterator на D-Bus]].
=== Модули alteratorctl ===
Приложение имеет модульную структуру. Каждый модуль предназначен для работы с определенным интерфейсом объектов на D-Bus.
В настоящий момент реализовано 3 модуля:
* '''manager''' - работает с интерфейсом <tt>org.altlinux.alterator.manager</tt> объекта <tt>/org/altlinux/alterator</tt>.
* '''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> соответственно.
* '''components''' - использует интерфейс <tt>org.altlinux.alterator.component1</tt> установленных компонент.


= Установка =
= Установка =
Строка 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 -m
$ alteratorctl <имя_модуля> <команда_модуля>
</pre>
</pre>


= Запуск =
Команда <code>$ alteratorctl <имя_модуля> --help</code> отображает возможности модулей.


=== Запуск модуля ===
Посмотреть список модулей можно при помощи команды <code>$ alteratorctl -m</code>:
<pre>
 
alteratorctl <имя_модуля> <команда_модуля>
[[Файл:Alteratorctl-editions1.png|безрамки|alteratorctl-editions1.png]]
</pre>
 
 
В настоящий момент реализовано 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]


Команда help отображает возможности модуля.
=== systeminfo ===
Использует интерфейс <tt>org.altlinux.alterator.systeminfo1</tt> объекта <tt>org/altlinux/alterator/systeminfo</tt>.



Например, запуск модуля manager с командой help
Более подробную информацию о возможностях модуля можно найти на соответствующей странице: [https://www.altlinux.org/Alteratorctl/systemctl_module Модуль Alteratorctl — systemctl]
<pre>
alteratorctl manager help
</pre>


= Спецификация =
= Спецификация =
Строка 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


Stub.png
Данная страница находится в разработке.
Эта страница ещё не закончена. Информация, представленная здесь, может оказаться неполной или неверной.

alteratorctl — консольное приложение, предназначенное для вызова методов интерфейсов, разработанных в рамках Alterator на D-Bus.

Назначение

Программа alteratorctl предназначена для:

  1. Системных администраторов.
  2. Опытных пользователей.

alteratorctl является компонентом новой реализации проекта Альтератор, Alterator на D-Bus.

Установка

Для установки alteratorctl из задания (таски), воспользуйтесь поиском.

Команды установки

# apt-repo add <номер_задания>
# apt-get update
# apt-get install alteratorctl

Описание модулей

Приложение имеет модульную структуру. Каждый модуль предназначен для работы с определенным интерфейсом объектов на D-Bus. Запуск модулей осуществляется при помощи команды

$ alteratorctl <имя_модуля> <команда_модуля>

Команда $ alteratorctl <имя_модуля> --help отображает возможности модулей.

Посмотреть список модулей можно при помощи команды $ alteratorctl -m:

alteratorctl-editions1.png


В настоящий момент реализовано 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. Принимает указатель на экземпляр класса внутреннего модуля, ресурсы которого будут освобождены.

Создание контекста модуля

  1. Метод run_with_args
    Этот метод запускает модуль, передавая ему параметры командной строки. Обычно в этом методе происходит парсинг аргументов командной строки, создается контекст модуля. И этот контекст передается в метод run.
  2. Метод run
    Метод run принимает контекст модуля и непосредственно выполняет необходимые запросы на D-Bus. Модуль должен быть выполнен таким образом, чтобы его можно было вызвать из другого модуля при инициализации контекста модуля. После выполнения метода run, контекст необходимо освободить специализированной функцией.
  3. Метод print _help
    Выводит в stdout описание команд и параметров командной строки модуля.