#Установка программы
#Версия Astra Linux
Компиляция приложения, сборка debian пакета и тестирование проводилось в Astra Linux версии v1.7.3
:
#Установка программы и ee зависимостей
Для установки программы необходимо распокавать полученный архив:
В архиве находятся следующие файлы:
- kinematic_X.Y.Z_amd64.deb - debian пакет с программой где
X.Y.Z
версия программы - license.json - файл с лицензией на программу
- license.json.sig - цифровая подпись лицензии на прогрмму
- install.sh - скрипт, который производит установку программы на компьютере пользователя
- uninstall.sh - скрипт, который удаляет программу с компьютера пользователя
Устанавливаемая программа зависит от следующих пакетов:
- pcscd - сервис для доступа к смарткартами через PC/SC
- opensc-pkcs11 - библиотеки для работы со сматр картами по протоколу PKCS#11
- libwebkit2gtk-4.0-37 - WebKit движок для отображения веб страниц
- libgtk-3-0 - графическая библиотека для создания оконных приложений
Узнать зависимости устанавливаемого пакета можно с помощью следующей комманды:
Для установки программы нужно задать права на исполнение скрипту install.sh
и запустить его из папки распакованного архива.
Инсталяционный скрипт загрузит и установит пакеты от которых зависит программа, после чего установит пакет приложения. Так же будет создана папка с идентификатором приложения внутри папки .config
, расположенной в домашней директории пользователя. В этой папке будет создан файл с конфигурацией приложения, а также скопированы файл с лицензией и цифровой подписью.
Установщик поместит исполняемую программу по пути usr/bin/kinematic
, что сделает ее доступной для запуска из терминала. Также установщик создаст *.desktop
файл по пути usr/share/applications/kinematic.desktop
, что даст возможность искать и запускать программу через графическое окружение операционной системы.
#Подготовка перед запуском программы
Для работы приложения необходим лицензионный usb токен.
Не смотря на то, что usb токен похож на флэш карту, он таковой не является. В usb токене не хранятся файлы которые можно скопировать на компьютер.
Перед запуском приложения следует вставить лицензионный токен в usb порт компьютера. Чтобы убедиться, что токен доступен для работы можно выполнить следующую команду:
Выше показан приблизительный вывод команды из которой следует, что лицензионный usb токен определился компьютером и готов к работе.
Для работы программы не важно в какой из usb портов вставлен токен.
При запуске приложения из под виртуальной машины необходимо предпринять дополнительные шаги, чтобы usb токен был доступен приложению. Подробнее описано в Запуск в виртуальной машине
#Запуск программы
Запустить программу можно как из командой строки, так и через графическую оболочку Fly операционной системы. Ниже будут показаны оба способа.
При первом запуске рекомендуется запускать приложение с помощью терминала, т.к. в версии 0.16
логирование реализовано только в поток стандартного вывода ошибок (stderr), т.е. в терминал, а не файл для логов.
#Запуск из консоли
Запуск приложения через терминал:
Если при запуске программы лицензионный токен не определяется системой, то программа аварийно завершится. Также программа аварийно завершит работу если извлечь лицензионный токен в процессе ее работы. Ниже показан пример аварийного завершения программы при отсутствии лицензионного токена.
#Запуск через ярлык
Для запуска приложения с рабочего стола нужно создать ярлык. Ниже приведены скриншоты как это сделать.




#Офлайн установка
Для офлайн установки программы нужно подключить локальный репозиторий из которого будут скачиваться пакеты от которых зависит приложение. Чаще всего папку с локальным репозиторием можно найти на диске с которого производилась установка операционной системы Astra Linux. Предположим, что папка с локального резпозитория скопирована в систему по пути /srv/local_repo/
:
Чтобы подключить локальный репозиторий нужно добавить следующую запись в файл /etc/apt/sources.list
:
После чего нужно получить последние версии пакетов:
После этого можно установить программу. Инсталятор скачает зависимые пакеты из локального репозитория, который расположен по пути /srv/local_repo/
.
Дополнительно о структуре Debian репозитория можно почитать в англоязычной статье Debian Package Repository HOWTO.
#Отладка
#Запуск в виртуальной машине
При запуске программы в виртуальной машине могут возникнуть проблемы с недоступностью лицензионного токена внутри виртуальной машины. Поэтому нужно предпринять дополнительные шаги, чтобы лицензионный токен был доступен внутри гостевой ОС. Если этого не сделать то программа аварийно завершится сразу после запуска с ошибкой показанной ниже.
При работе из виртуальной машины, настройки по-умолчанию не дают доступа к usb устройствам подключенным к компьютеру из гостевой ОС. Инструкции как предоставить доступ к usb устройству из гостевой ОС зависят от используемого гипервизора. Ниже приведены ссылки на документации популярных гипервизоров:
- QEMU и virt-manager: Assigning Host USB device to a Guest VM
- VirtualBox: USB basics and troubleshooting
После того как в настройках гипервизора гостевой ОС был предоставлен доступ к usb токену нужно проверить, что токен определяется как usb устройство в системе:
На текущий момент используются токены производителя Yubico
. Если в выводе команды lsusb
нет упоминания Yubico.com Yubikey
, то это означает, что usb токен не определился системой. Это может быть связано как с настройками гипервизора, так и с работоспособностью usb порта.
После того как usb устройство определяется в гостевой ОС нужно убедиться, что в usb устройсве присутствует логический кард-ридер и смарт-карта. В терминах стандарта pkcs#11 кард-ридер и смарт-карта называются слот и токен соответственно. Для просмотра подключенных кард-ридеров и вставленных в них смарт-карт необходимо установить пакет opensc
:
В пакет opensc
входит консольная программа с помощью которой можно узнать какие кард-ридеры подключены к системе:
Вывод команды показывает, что в системе определился один кард-ридер под названием Yubico YubiKey OTP+FIDO+CCID
. В этот кард-ридер вставлена смарт-карта с названием app auth key
.
Если в системе не определился кард-ридер, то вывод программы будет как показано ниже:
Такая проблема может наблюдаться когда программа или сервис (служба) хостовой ОС использует кард-ридер, что делает его недоступным в виртуальном машине. В Debian подобных операционных системах, как Astra Linux или Ubuntu примером такого сервиса, который мешает сделать доступным кард-ридер гостевой ОС, является pcscd
. Его необходимо временно отключить в хостовой OC.