Hcl-get usage
Описание
Эта статья написана Сергеем Котляровым и её первый оригинал находится на форуме ALT Linux
hcl-get это клиент для базы данных проб оборудования, который позволяет как загрузку своих данных на сервер, так и получение данных от сервера (как данных об оборудовании, так и данных, загруженных самими пользователями - комментариев к их данным об оборудовании/софте).
Использование hcl-get
"Заливка" пробы на сервер
Предположим, что созрело решение поделиться своими данными об оборудовании/системе с другими пользователями системы. Для этого надо дать команду
hcl-get -r
если на машине, с которой отправляются данные, имеется доступ в Сеть. Если такового доступа по какой-либо причине на машине нет, то и это не беда - можно подготовить необходимые для отправки данные командой
hcl-get -p
которая создаст два файла:
1. Зашифрованный .gpg файл для отправки с другой машины посредством команды
hcl-get -r имя.gpg
если файл скопировать в ~/.hcl-get/gpg (если директория не существует, то её нужно создать вручную) или
hcl-get -r /полный/путь/до/файла.gpg
если файл располагается по другому пути. Также можно отправить пробу (сохраненный .gpg файл) и посредством браузера через форму загрузки файлов на странице сервиса http://hcl.arenet.ru.
2. Архив .tar.(xz|bz2|gz), который предназначен в настоящее время только для управления комментарием (а в будущем, возможно, и для других функций) к пробе, должен быть скопирован на рабочую машину (или любую другую, с которой манипуляции удобнее производить) в директорию ~/.hcl-get, если предполагается в будущем использовать возможность сервиса по добавлению комментария.
При выполнении команд (hcl-get -r, hcl-get -p) будет запрошен пароль root, после чего скрипт запустит несколько утилит, которые в фоновом режиме соберут всю необходимую информацию. По успешному завершению сбора, данные будут упакованы, зашифрованы и отправлены на сервер для обработки (hcl-get -r). По результатам обработки сервер выдаст сообщение
- либо об успешном добавлении данных и выдаст номер, который присвоен сервером пробе оборудования, а клиент сохранит архив в домашнюю директорию пользователя ~/.hcl-get
- либо об ошибке (если имеют место быть несоответствия отправляемых данных требованиям сервера, некоторую информацию об ограничениях можно посмотреть на странице http://hcl.arenet.ru).
После успешной загрузки пробы на сервер может пройти до 3 минут, прежде, чем информация пробы будет доступна для обзора. Это связано с тем, что обработка данных вновь загруженных проб происходит по расписанию независимо от процессов загрузки пробы или добавления комментариев.
Рекомендуемая к использованию минимальная версия hcl-get - 0.3.99.33, пакеты для которой можно взять на форуме https://forum.altlinux.org/index.php?topic=36472.msg280549#msg280549 (должно работать на системах, базирующихся на бранче p5.1 и младше, также возможна работа на более старых бранчах, но должно быть обеспечено наличие в системе пакета system-report версии не ниже 0.0.6). Владельцам p8/сизифа следует иметь ввиду ошибку altbug #32222.
Получение информации о пробе
После того, как данные добавлены на сервер и им присвоен номер, можно обратиться за содержимым этих данных командой
hcl-get -gr номер
где номер - числовой код присвоенный пробе в хранилище. Данные пробы вместе с комментарием (если он добавлен), можно получить командой
hcl-get -g номер
Проверка проб на наличие в базе сервера
Может случиться так, что отправляемых данных будет много, а часть архивов может быть переименована произвольным образом и их названия (hcl-get сохраняет успешно отправленные данные в архив ~/.hcl-get/номер.tar.(xz/bz2/gz)) не будут соответствовать внутренней нумерации сервера. В этом случае можно проверить, имеются ли данные некоторого архива в хранилище (и у них есть номер) либо нет. В простейшем случае это можно сделать, вызвав диалоговый режим командой
hcl-get -t
Если требуется проверить какой-то один файл и известно его имя и расположение (~/.hcl-get), то это можно сделать командой
hcl-get -r имя.tar.(xz/bz2/gz)
Если файл располагается вне пределов домашней директории ~/.hcl-get, то проверить файл можно командой
hcl-get -r /полный/путь/имя.tar.(xz/bz2/gz)
Работа с комментариями
Теперь, когда проба оборудования успешно загружена на сервер (дожидаться обработки данных пробы прежде, чем добавлять комментарий, вовсе необязательно: если проба была успешно загружена на сервер и ей был присвоен номер, то комментарий можно добавлять сразу после этого события), хотелось бы написать несколько строк о работоспособности имеющегося оборудования. Другими словами, мы хотим прокомментировать сухой язык статистики, которым составлены отчеты о нашем оборудовании (то, что можно увидеть в выводе команды hcl-get -gr номер). Для этого нужно сделать два действия:
1. Собственно, написать либо мысленно набросать сам комментарий на тему отправленных ранее данных. Здесь есть три условия его составления (использование любого текстового редактора на выбор и применяемого форматирования не являются частью условий):
- длина комментария ограничена (информацию об ограничениях можно посмотреть на странице http://hcl.arenet.ru) пятью килобайтами (на мой взгляд, этого вполне достаточно, однако, этот лимит может быть пересмотрен)
- кодировка комментария может быть либо utf-8 либо ascii и это должен быть обычный txt файл (но не .doc и т.п.) с произвольным расширением (например, это может быть и .log файл, если он является обычным файлом типа txt) либо вообще без расширения
- для удобства манипулирования комментарием, лучше всего его сохранить рядом с архивом пробы в файл ~/.hcl-get/номер.txt, где номер соответствует номеру пробы, для которой составляется комментарий
- если комментарий не планируется слишком большим и умещается на одной строке, то файл с комментарием можно не создавать, а перейти сразу ко второму действию
2. В простейшем случае, чтобы отправить комментарий достаточно запустить диалоговый режим добавления комментария к пробе оборудования
hcl-get -c
Можно несколько конкретизировать запрос, например, указав номер пробы
hcl-get -c номер
или файл комментария, располагающийся в домашней директории ~/.hcl-get и имеющий имя с расширением
hcl-get -c имя.расширение
в этом случае и в случае, описанном ниже, будет выдан список имеющихся в домашней директории ~/.hcl-get проб и запрошено на выбор:
- номер строки, содержащую информацию о нужном файле пробы в списке обнаруженных файлов из ~/.hcl-get
- имя архива с расширением, если файлом пробы является архив из домашней директории ~/.hcl-get или полный путь к архиву с пробой, если файл располагается вне домашнего каталога ~/.hcl-get), также данный запрос будет выдан в случае, если не удалось обнаружить файлов проб в ~/.hcl-get
hcl-get -c /полный/путь/имя.расширение
если файл комментария располагается вне пределов домашней директории ~/.hcl-get по пути /полный/путь/имя.расширение.
См. справку по программе для полного представления о возможностях конкретизировать запрос на добавление комментария.
Получение содержимого комментария
После того, как комментарий успешно добавлен к данным пробы, к его содержимому можно обратиться командой
hcl-get -gc номер
где "номер" равен номеру, присвоенному пробе оборудования сервером
Поиск
После добавления данных в базу, можно поискать что-нибудь запоминающееся (если, конечно, в базе присутствуют данные, которые кто-либо загружал). Поиск не чувствителен к регистру, а также разделен на поиск среди данных пробы, на поиск среди комментариев, на поиск среди проб и комментариев.
1) Поиск среди данных проб делается командой
hcl-get -qr что_ищем
2) Поиск среди комментариев делается командой
hcl-get -qc что_ищем
3) Поиск среди данных проб и комментариев делается командой
hcl-get -q что_ищем
Статистика сервера
Количество загруженных на сервер проб и количество добавленных комментариев можно узнать, выполнив команду
hcl-get -a
Получить количество добавленных комментариев
hcl-get -ac
Получить количество загруженных проб
hcl-get -ar
Прямые запросы на получение данных
Поскольку получение данных основано на определенном формате запросов к серверу, у клиента есть возможность отправить подобный запрос безотносительно поведения опций -g/-gr/-gc. Для этого режима команда получения данных будет следующая
hcl-get -gq проба~комментарий
где "проба" и "комментарий" - числа, назначенные соответственно пробе и комментарию пробы. В данном случае номер получаемой пробы и номер пробы, для которой хотелось бы получить комментарий, могут быть различными. Также имеется шаблон для получения содержимого всех проб и/или комментариев. Для этого следует вместо номера (числа) применить дефис (например, получить все пробы и все комментарии "-~-", получить все комментарии "~-" или все пробы "-").