2. Консольный клиент утилит Calculate

Введение

Клиент утилит Calculate Console служит для сетевого доступа по протоколу https к функциям сервера утилит Calculate 3 (calculate-core). Установить клиент можно при помощи пакета sys-apps/calculate-console.

Создание сертификата

Для работы с сервером утилит необходимы секретный ключ и сертификат, подписанный сервером утилит.

Для генерации секретного ключа и создания запроса на подпись сертификата, используйте ключ --gen-cert-by <хост> и ключ --port <порт> для указания номера порта (по умолчанию порт 8888), например:

cl-console --gen-cert-by 192.168.0.56 --port 8888

Если по адресу 192.168.0.56 порт 8888 прослушивает сервер утилит, то пользователю будет предложено создать запрос на подпись сертификата.

Первым действием является установка пароля для дополнительного шифрования секретного ключа. Введённый пароль будет запрашиваться для установки соединения с сервером утилит. Чтобы не зашифровывать секретный ключ, оставьте поле пароль пустым.

Также необходимо ввести некоторые данные, необходимые для создания сертификата. В квадратных скобках будут показаны значения по умолчанию, например:

Имя хоста [iivanov@iivanov.company.ru]:
Имя пользователя [Иван Иванов]:

Большая часть данных, кроме названия организации и города, будет заполнена автоматически. Не меняйте автоматически подставленные значения, если не уверены, что значения неверны.

После отправления запроса на сервер утилит, пользователю будет сообщён номер, под которым запрос находится на текущем сервере утилит.

Подписать запрос можно на сервере утилит через клиента или с помощью команды:

cl-core --sign-client <n>

где <n> - номер запроса.

После подписания сертификата на сервере, его необходимо забрать, используя ключ --get-cert-from <хост> и ключ --port <порт>, например:

cl-console --get-cert-from 192.168.0.56 --port 8888

Если запрос ещё не подписан или отвергнут, то появится соответствующее сообщение.

Для указания пути к файлам сертификата и секретного ключа (при нахождении их не в стандартной директории) используйте ключ --cert-path <путь>:

cl-console --cert-path /media/flash/cert_dir

Выполнение методов на сервере утилит

Для просмотра доступных методов на сервере утилит используйте команду

cl-console --host <хост> --port <порт>

По умолчанию клиент соединяется с локальным сервером утилит и 8888 портом, например:

cl-console
cl-console --host 192.168.0.56 --port 9999

Первая команда выведет все доступные методы на локальном сервере утилит, прослушивающем порт 8888, вторая - на сервере утилит, находящемуся по адресу 192.168.0.56:9999.

Для запуска метода используйте ключ --method <метод>, например:

cl-console --method install --iso /path_to_image/cld-x86_64.iso -d /dev/sda1:swap -d /dev/sda2:/:ext4:on

Для просмотра справки метода используйте ключ -h, --help:

cl-core --method install --help

Ключ -f, --force устанавливает режим, при котором пользователю не задаются вопросы и не отображаются предварительные параметры.

Ключ --no-progress отключает отображение прогрессбаров (текущего прогресса выполнения задачи).

Действия с клиентом

Работа с сессией

Для просмотра информации о сессии и сертификате используйте ключ --session-info:

cl-console --session-info

Для просмотра списка активных сессий на сервере утилит используйте ключ --session-list:

cl-console --session-list

Для просмотра информации о конкретной сессии, используйте ключ --session-num-info <sid>, например, команда

cl-core --session-num-info 5474

выведет информацию о сессии с номером 5474.

Для очистки кэша своей сессии используйте ключ --session-clean:

cl-console --session-clean

Работа с процессами

Каждый запущенный метод на сервере утилит является процессом, результат работы которого можно просмотреть.
Для просмотра списка запущенных процессов текущей сессии, используйте ключ --list-pid:

cl-core --list-pid

Для более подробного вывода совместно с ключом --list-pid используйте ключ -d, --dump:

cl-core --list-pid --dump

Для просмотра результатов работы процесса, используйте ключ --pid-result <pid>, например

cl-core --pid-result 1234

выведет результат работы процесса с номером 1234.

Если необходимо прервать работающий процесс, используйте ключ --pid-kill <pid>, например

cl-core --pid-kill 1234

сообщит серверу утилит, что необходимо завершить процесс с номером 1234.

cl-consoled

Если пользователем используется пароль для дополнительного шифрования секретного ключа, то консольным клиентом используется демон cl-consoled.

cl-consoled предназначен для кратковременного хранения введённых паролей, чтобы пользователю не было необходимо при каждом соединении вводить пароль. Пароль к секретному ключу сервера утилит выдаётся только при совпадении ряда данных.

Для остановки cl-consoled используйте команду

cl-console --stop-consoled

В этом случае при следующем запуске cl-console заново потребует пароль и запустит cl-consoled.

При необходимости обновить список отзыва сертификатов, используйте ключ --update-crl:

cl-console --update-crl
Спасибо!