Alteratorctl: различия между версиями
Savelevsa (обсуждение | вклад) (Добавлено описание для модуля editions. Немного изменена структура страницы.) |
Savelevsa (обсуждение | вклад) (Обновлена информация о модуле components) |
||
(не показана 1 промежуточная версия этого же участника) | |||
Строка 40: | Строка 40: | ||
Посмотреть список модулей можно при помощи команды <code>$ alteratorctl -m</code>: | Посмотреть список модулей можно при помощи команды <code>$ alteratorctl -m</code>: | ||
[[Файл:Alteratorctl-editions1.png|безрамки| | [[Файл:Alteratorctl-editions1.png|безрамки|alteratorctl-editions1.png]] | ||
Строка 55: | Строка 55: | ||
==== Информация по редакциям ==== | ==== Информация по редакциям ==== | ||
Редакция — набор компонентов в составе дистрибутива. Каждая редакция содержит индивидуальный набор предустановленных и доступных для установки компонентов. | Редакция — набор компонентов в составе дистрибутива. Каждая редакция содержит индивидуальный набор предустановленных и доступных для установки компонентов. | ||
Список доступных редакций на данный момент: | Список доступных редакций на данный момент: | ||
Строка 119: | Строка 117: | ||
==== Примеры использования модуля ==== | ==== Примеры использования модуля ==== | ||
< | # Отображение имени текущей редакции. | ||
#* Команда <code>alteratorctl editions</code> выведет список доступных редакций и покажет текущую: | |||
</ | #: [[Файл:Alteratorctl-editions2.png|безрамки|alteratorctl-editions2.png]] | ||
::Команда <code>alteratorctl editions</code> | # Отображение только имени объекта текущей редакции. | ||
#* Команда <code>alteratorctl editions get</code> покажет имя объекта текущей редакции: | |||
#: [[Файл:Alteratorctl-editions3.png|безрамки|alteratorctl-editions3.png]] | |||
# Установка выбранной редакции. | |||
#* Команда <code>alteratorctl editions set edition_domain</code> установит редакцию Альт Домен: | |||
#: [[Файл:Alteratorctl-editions4.png|безрамки|alteratorctl-editions4.png]] | |||
# Получение информации о лицензии выбранной редакции. | |||
#* Команда <code>alteratorctl editions license edition_domain</code> покажет информацию о лицензии редакции Альт Домен: | |||
#: [[Файл:Alteratorctl-editions5.png|900px|alteratorctl-editions5.png]] | |||
#: Конкретно в данном случае вывод команды <code>alteratorctl editions license edition_domain</code> не будет отличаться от вывода команды <code>alteratorctl editions license</code>. | |||
=== components === | |||
Использует интерфейс <tt>org.altlinux.alterator.component1</tt> объектов установленных компонентов. | |||
Модуль позволяет: | |||
* Просматривать список компонентов; | |||
* Просматривать информацию о компонентах (статус, описание, состав); | |||
* Устанавливать/удалять компоненты. | |||
Для работы некоторых команд модуля могут потребоваться права администратора. | |||
==== Информация по компонентам ==== | |||
Компонент — набор пакетов, предоставляющих определённую функциональность, и некоторую последовательность действий (deploy) для их конфигурации. | |||
==== Структура компонента ==== | |||
Подробнее про состав и структуру компонентов можно прочитать на соответствующей станице [[alt-components]]. Также здесь можно прочитать про аналог alteratorctl в виде графического приложения для работы с компонентами — '''alterator-application-components'''. | |||
==== Использование модуля ==== | |||
Модуль предусматривает использование следующих команд и опций: | |||
< | <pre> | ||
: | Формат использования: | ||
alteratorctl components вывести все компоненты в виде дерева с псевдографикой. | |||
alteratorctl components [КОМАНДА [аргументы]] [ОПЦИИ] [ПАРАМЕТРЫ <аргументы…>] | |||
[[ | Команды: | ||
description <название компонента> получить описание выбранного компонента. | |||
list [ОПЦИИ] [ПАРАМЕТРЫ <аргументы…>] вывести все компоненты с категориями. | |||
info <название компонента> получить информацию о выбранном компоненте. | |||
install <название компонента> установить выбранный компонент. | |||
remove <название компонента> удалить выбранный компонент. | |||
status <название компонента> узнать статус установки компонента (установлен/не установлен). | |||
:: | Параметры: | ||
-c, --category <название категории> вывести список всех компонентов выбранной категории. | |||
Опции: | |||
--draft выводить черновые компоненты и категории. | |||
-I, --ignore-sections игнорировать секции редакции при выводе компонентов. | |||
-L, --ignore-legend игнорировать вывод условных обозначений при выводе компонентов. | |||
-g, --graphic-tree вывести компоненты и категории в виде дерева с псевдографикой. | |||
-t, --simple-tree вывести компоненты и категории в виде простого дерева. | |||
-l, --list вывести компоненты и категории в виде списка. | |||
для вывода отображаемых имён можно использовать опцию --show-display-name | |||
(опция используется только в данном представлении вывода компонентов). | |||
--no-update не обновлять списки пакетов перед установкой или удалением компонента. | |||
-p, --path-only отобразить пути объектов компонентов на D-Bus. | |||
-d, --display-name-only показать только отображаемые имена компонентов и категорий. | |||
-D, --no-display-name скрыть отображаемые имена компонентов и категорий. | |||
-s, --show-display-name показывать отображаемые имена компонентов и категорий. | |||
-n, --name-only отобразить только имена объектов компонентов. | |||
-N, --no-name скрыть отображение имён компонентов и категорий. | |||
-i, --installed отображать только установленные компоненты. | |||
-u, --uninstalled отображать только неустановленные компоненты. | |||
-h, --help вызвать справку модуля components. | |||
</pre> | |||
==== Примеры использования модуля ==== | |||
# Отображение категорий и компонентов. | |||
#* Команда <code>alteratorctl components -g</code> выведет компоненты в виде дерева с псевдографикой: | |||
#: [[Файл:Alteratorctl-components1.png|600px|alteratorctl-components1.png]] | |||
#: В данном случае команда <code>alteratorctl components -g</code> будет аналогичная команде <code>alteratorctl components</code> | |||
#* Команда <code>alteratorctl components -t</code> выводит компоненты в виде простого дерева: | |||
#: [[Файл:Alteratorctl-components2.png|600px|alteratorctl-components2.png]] | |||
#* Команда <code>alteratorctl components -l</code> выводит компоненты в виде списка: | |||
#: [[Файл:Alteratorctl-components3.png|600px|alteratorctl-components3.png]] | |||
#* Также можно вывести список компонентов с отображением их имён, а не только имён объектов при помощи команды <code>alteratorctl components -l —show-display-name</code>: | |||
#: [[Файл:Alteratorctl-components4.png|600px|alteratorctl-components4.png]] | |||
#* Команда <code>alteratorctl components list -p</code> выводит пути объектов компонентов на D-Bus в виде дерева с псевдографикой: | |||
#: [[Файл:Alteratorctl-components5.png|600px|alteratorctl-components5.png]] | |||
# Отображение статусов компонентов. | |||
#* Команда <code>alteratorctl components list -l -i</code> выведет список установленных на данный момент компонентов: | |||
#: [[Файл:Alteratorctl-components9.png|600px|alteratorctl-components9.png]] | |||
#* Команда <code>alteratorctl components list -l -u</code> выведет список не установленных компонентов: | |||
#: [[Файл:Alteratorctl-components6.png|600px|alteratorctl-components6.png]] | |||
# Установка и удаление компонентов. | |||
#* Команда <code>alteratorctl components description</code> samba-dc позволит посмотреть описание компонента samba-dc, а команда <code>alteratorctl components install samba-dc</code> позволит его установить: | |||
#: [[Файл:Alteratorctl-components7.png|600px|alteratorctl-components7.png]] | |||
#* Команда <code>alteratorctl components remove samba-dc</code> позволит удалить компонент samba-dc: | |||
#: [[Файл:Alteratorctl-components8.png|600px|alteratorctl-components8.png]] | |||
=== diag === | === diag === | ||
Использует интерфейс <tt>org.altlinux.alterator.diag1</tt> объектов установленных инструментов диагностики. | Использует интерфейс <tt>org.altlinux.alterator.diag1</tt> объектов установленных инструментов диагностики. |
Текущая версия от 17:55, 25 марта 2025
alteratorctl — консольное приложение, предназначенное для вызова методов интерфейсов, разработанных в рамках Alterator на D-Bus.
Назначение
Программа ADT предназначена для:
- Системных администраторов.
- Опытных пользователей.
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.
editions
Использует интерфейс org.altlinux.alterator.edition1 объектов из пакетов с редакциями.
Модуль предоставляет возможность выбора редакции и получения информации о составе доступных к выбору редакций.
Для работы некоторых команд модуля могут потребоваться права администратора.
Информация по редакциям
Редакция — набор компонентов в составе дистрибутива. Каждая редакция содержит индивидуальный набор предустановленных и доступных для установки компонентов.
Список доступных редакций на данный момент:
- Альт Сервер (edition_server)
- Альт Домен (edition_domain)
Структура редакции
Структура редакции представляется в формате TOML и имеет следующий вид:
type = "Edition" name = "имя редакции" display_name.en = "Отображаемое имя редакции на английском" display_name.ru = "Отображаемое имя редакции на русском" license = "Имя лицензии/Релиз" arches = [ "Архитектура 1", "Архитектура 2" ] desktop_environment = "Графическое окружение" kflavours = { default = "Версия ядра по умолчанию", options = [ "Версия ядра 1", "Версия ядра 2" ] } languages = { default = "Язык по умолчанию", options = [ "Язык 1", "Язык 2" ] } [sections.base] display_name.en = "Имя базовой секции компонентов, входящих в образ на английском" display_name.ru = "Имя базовой секции компонентов, входящих в образ на русском" components = [ "Компонент 1", "Компонент 2", "…", "Компонент N" ] [sections.main] display_name.en = "Имя секции компонентов, доступных к установке на английском" display_name.ru = "Имя секции компонентов, доступных к установке на русском" components = [ "Компонент 1", "Компонент 2", "…", "Компонент N" ]
Использование модуля
Модуль предусматривает использование следующих команд и опций:
Команды: description [название редакции] получить описание выбранной редакции. get получить название текущей редакции. info [название редакции] вывести информацию о выбранной редакции. license [название редакции] вывести информацию о лицензии выбранной редакции. list [опции] вывести список доступных редакций. set [название редакции] установить выбранную редакцию. Опции: -d, --display-name-only показать только отображаемые имена редакций. -D, --no-display-name скрыть отображаемые имена редакций. -p, --path-only отобразить пути объектов редакций на D-Bus. -n, --name-only отобразить только имена объектов редакций. -N, --no-name скрыть отображение имён объектов редакций. -h, --help показать справку модуля editions.
Примеры использования модуля
- Отображение имени текущей редакции.
- Команда
alteratorctl editions
выведет список доступных редакций и покажет текущую:
- Команда
- Отображение только имени объекта текущей редакции.
- Команда
alteratorctl editions get
покажет имя объекта текущей редакции:
- Команда
- Установка выбранной редакции.
- Команда
alteratorctl editions set edition_domain
установит редакцию Альт Домен:
- Команда
- Получение информации о лицензии выбранной редакции.
- Команда
alteratorctl editions license edition_domain
покажет информацию о лицензии редакции Альт Домен:
- Команда
components
Использует интерфейс org.altlinux.alterator.component1 объектов установленных компонентов.
Модуль позволяет:
- Просматривать список компонентов;
- Просматривать информацию о компонентах (статус, описание, состав);
- Устанавливать/удалять компоненты.
Для работы некоторых команд модуля могут потребоваться права администратора.
Информация по компонентам
Компонент — набор пакетов, предоставляющих определённую функциональность, и некоторую последовательность действий (deploy) для их конфигурации.
Структура компонента
Подробнее про состав и структуру компонентов можно прочитать на соответствующей станице alt-components. Также здесь можно прочитать про аналог alteratorctl в виде графического приложения для работы с компонентами — alterator-application-components.
Использование модуля
Модуль предусматривает использование следующих команд и опций:
Формат использования: alteratorctl components вывести все компоненты в виде дерева с псевдографикой. alteratorctl components [КОМАНДА [аргументы]] [ОПЦИИ] [ПАРАМЕТРЫ <аргументы…>] Команды: description <название компонента> получить описание выбранного компонента. list [ОПЦИИ] [ПАРАМЕТРЫ <аргументы…>] вывести все компоненты с категориями. info <название компонента> получить информацию о выбранном компоненте. install <название компонента> установить выбранный компонент. remove <название компонента> удалить выбранный компонент. status <название компонента> узнать статус установки компонента (установлен/не установлен). Параметры: -c, --category <название категории> вывести список всех компонентов выбранной категории. Опции: --draft выводить черновые компоненты и категории. -I, --ignore-sections игнорировать секции редакции при выводе компонентов. -L, --ignore-legend игнорировать вывод условных обозначений при выводе компонентов. -g, --graphic-tree вывести компоненты и категории в виде дерева с псевдографикой. -t, --simple-tree вывести компоненты и категории в виде простого дерева. -l, --list вывести компоненты и категории в виде списка. для вывода отображаемых имён можно использовать опцию --show-display-name (опция используется только в данном представлении вывода компонентов). --no-update не обновлять списки пакетов перед установкой или удалением компонента. -p, --path-only отобразить пути объектов компонентов на D-Bus. -d, --display-name-only показать только отображаемые имена компонентов и категорий. -D, --no-display-name скрыть отображаемые имена компонентов и категорий. -s, --show-display-name показывать отображаемые имена компонентов и категорий. -n, --name-only отобразить только имена объектов компонентов. -N, --no-name скрыть отображение имён компонентов и категорий. -i, --installed отображать только установленные компоненты. -u, --uninstalled отображать только неустановленные компоненты. -h, --help вызвать справку модуля components.
Примеры использования модуля
- Отображение категорий и компонентов.
- Команда
alteratorctl components -g
выведет компоненты в виде дерева с псевдографикой:
- В данном случае команда
alteratorctl components -g
будет аналогичная командеalteratorctl components
- Команда
alteratorctl components -t
выводит компоненты в виде простого дерева:
- Команда
alteratorctl components -l
выводит компоненты в виде списка:
- Также можно вывести список компонентов с отображением их имён, а не только имён объектов при помощи команды
alteratorctl components -l —show-display-name
:
- Команда
alteratorctl components list -p
выводит пути объектов компонентов на D-Bus в виде дерева с псевдографикой:
- Команда
- Отображение статусов компонентов.
- Команда
alteratorctl components list -l -i
выведет список установленных на данный момент компонентов:
- Команда
alteratorctl components list -l -u
выведет список не установленных компонентов:
- Команда
- Установка и удаление компонентов.
- Команда
alteratorctl components description
samba-dc позволит посмотреть описание компонента samba-dc, а командаalteratorctl components install samba-dc
позволит его установить:
- Команда
alteratorctl components remove samba-dc
позволит удалить компонент samba-dc:
- Команда
diag
Использует интерфейс org.altlinux.alterator.diag1 объектов установленных инструментов диагностики.
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 соответственно.
systeminfo
Использует интерфейс org.altlinux.alterator.systeminfo1 объекта org/altlinux/alterator/systeminfo.
Спецификация
Документация представлена на странице проекта.
Пример
Опишем типовой внутренний модуль 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 описание команд и параметров командной строки модуля.