Hcl-get usage

Материал из ALT Linux Wiki

Описание

Эта статья написана Сергеем Котляровым (https://www.altlinux.org/%D0%A3%D1%87%D0%B0%D1%81%D1%82%D0%BD%D0%B8%D0%BA:Sb) и её первый оригинал находится на [[1]]

hcl-get клиент для базы данных проб оборудования, который позволяет как загрузку своих данных на сервер, так и получение данных от сервера (как данных об оборудовании, так и данных, загруженных самими пользователями - комментариев к их данным об оборудовании/софте).

Использование hcl-get

"Заливка" пробы на сервер

Предположим, что созрело решение поделиться своими данными об оборудовании/системе с другими пользователями системы. Для этого надо дать команду

hcl-get -r

при выполнении которой будет запрошен пароль root, после чего скрипт запустит несколько утилит, которые в фоновом режиме соберут всю необходимую информацию. По успешному завершению сбора, данные будут упакованы, зашифрованы и отправлены на сервер для обработки. По результатам обработки сервер выдаст сообщение

  • либо об успешном добавлении данных и выдаст номер, который присвоен сервером пробе оборудования, а также сохранит архив в домашнюю директорию пользователя hcl-get (~/.hcl-get)
  • либо об ошибке.


Получение информации о пробе

После того, как данные добавлены на сервер и им присвоен номер, можно обратиться за содержимым этих данных командой

hcl-get -r номер

где номер - числовой код присвоенный пробе в хранилище. Может случиться так, что отправляемых данных будет много, а часть архивов могут быть переименованы произвольным образом и их названия (hcl-get сохраняет успешно отправленные данные в архив ~/номер.tar.bz2) не будут соответствовать внутренней нумерации сервера. В этом случае можно проверить, имеются ли данные некоторого архива в хранилище (и у них есть номер) либо нет. Это можно сделать командой


hcl-get -r имя_архива.tar.bz2

если файл располагается в домашней директории ~/.hcl-get или


hcl-get -r /полный/путь/архив.tar.bz2

если файл располагается вне пределов домашней директории.

Работа с комментариями

Теперь, когда проба оборудования успешно загружена на сервер, хотелось бы написать несколько строк о работоспособности имеющегося оборудования. Другими словами, мы хотим прокомментировать сухой язык статистики, которым составлены отчеты о нашем оборудовании (то, что можно увидеть в выводе команды hcl-get -r номер). Для этого нужно сделать два действия:

    • Собственно, написать сам комментарий на тему отправленных ранее данных. Здесь есть три условия его составления (использование любого текстового редактора на выбор и применяемого форматирования не являются частью условий):
    • длина комментария ограничена тремя килобайтами (на мой взгляд, этого вполне достаточно, однако, этот лимит может быть пересмотрен)
    • кодировка комментария может быть либо utf-8 либо ascii для удобства манипулирования комментарием, лучше всего его сохранить рядом с архивом пробы в файл ~/.hcl-get/номер.txt, где номер соответствует номеру пробы, для которой составляется комментарий
    • Отправить комментарий на сервер, делается это командой

hcl-get -c номер, если файл комментария располагается в домашней директории ~/.hcl-get и называется номер.txt (и при этом номер соответствует номеру, присвоенному сервером пробе оборудования) либо hcl-get -c файл_с_расширением, если файл комментария располагается в домашней директории ~/.hcl-get и называется файл_с_расширением (в этом случае и в случае, описанном ниже, будет запрошено на выбор:

  • номер пробы, если файлом пробы является архив ~/.hcl-get/номер.tar.bz2
  • имя архивного файла с расширением, если файл располагается в ~/.hcl-get
  • полный путь к архиву с пробой, если файл располагается вне каталога ~/.hcl-get), или

hcl-get -c /полный/путь/файл_с_расширением, если файл комментария располагается вне пределов домашней директории ~/.hcl-get по пути /полный/путь/файл_с_расширением. После того, как комментарий успешно добавлен к данным пробы, к его содержимому можно обратиться командой

hcl-get -rc номер где номер равен номеру, присвоенному пробе оборудования сервером

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

Поиск среди данных

Поиск среди данных пробы делается командой

hcl-get -q что_ищем

к примеру, мы хотим посмотреть, есть ли что-нибудь в базе от AMD: hcl-get -q AMD

Поиск среди комментариев

Поиск среди комментариев делается командой

hcl-get -qc что_ищем

Однако на данный момент этот функционал пока не реализован.

Про параметры {cmd|-h|--help и -v|--version}} думаю не надо объяснять. Единственное, что нужно добавить, что при вызове


hcl-get -v

или

hcl-get --version

в дополнение к версии клиента будет выведена и версия сервера.