...
Настройками пакета artix-upgrade-system2
предусмотрено ограничение скорости скачивания обновлений. Время для начала загрузки обновлений на кассе выбирается случайным образом в пределах определенного интервала. Такие настройки позволяют исключить возможность высокой нагрузки на сеть.
Настройки Puppet
Настройки периодичности выхода на связь с Puppet задаются в конфигурационном файле /etc/puppet/puppet.conf
в секции [agent]
.
Наименование | Тип данных | Возможные значения | Описание | Примечания |
---|---|---|---|---|
runinterval | строковый | Время в секундах выхода на Puppet сервер | Может задаваться в:
| |
splay | логический |
| Спать перед первым выходом на связь сервером |
По умолчанию |
splaylimit | строковый | Максимальное время задержки перед первым запуском агента при включенном splay | Может задаваться в:
По умолчанию используется |
Code Block | ||
---|---|---|
| ||
...
[agent]
...
runinterval = 10
splay = false
splaylimit = 7200
... |
Code Block | ||||
---|---|---|---|---|
| ||||
puppet agent --configprint runinterval |
Info |
---|
Полный перечень настроек можно найти на сайте Puppet. |
Запуск обновления через Puppet вручную
Для обновления через Puppet вручную необходимо выполнить команду:
Code Block | ||
---|---|---|
| ||
puppet agent -t |
Автоматическое обновление через Puppet
Для работы сервиса Puppet в фоновом режиме необходимо:
Создать файл:
Code Block language text touch /etc/default/puppet
Настроить периодический выход на связь с Puppet в конфигурационном файле
/etc/puppet/puppet.conf
.Выполнить команды:
Code Block language text systemctl enable puppet systemctl start --no-block puppet
Info |
---|
После перезагрузки кассового ПО сервис Puppet продолжит свою работу. |
Механизм обновления
Механизм обновления программного обеспечения построен таким образом, чтобы минимизировать время простоя кассового узла. Экономия времени на выполнение обновления достигается за счет того, что обновление ПО производится только после загрузки всех требуемых модулей на кассу.
...
В файле
/etc/apt/sources.list.d/artix.list
указывается номер сборки, до которой требуется обновиться/откатиться:Code Block language text deb http://update.artix.su/lucidbionic artix-4.6.15244-3 artix main contrib
Для получения информации о новых/обновлённых пакетах выполняется команда:
Code Block language text aptitude update
Необходимая версия пакета
artix-upgrade-system2
устанавливается командойaptitude install artix-upgrade-system2=версия-номер_сборки
, где версия и номер сборки должны совпадать с версией и номером сборки, указанными в/etc/apt/sources.list.d/artix.list
.Code Block language text aptitude install artix-upgrade-system2=4.6.15244-3
При установке пакета
artix-upgrade-system2
на кассе создается директория/linuxcash/cash/data/upgrade-system
, в которой будут размещены следующие файлы:artix-packages.version
- – включает список всех пакетов в сборке, до которой необходимо обновиться/откатиться;artix-packages.instlist
- – включает список пакетов с номерами версий, которые были загружены на кассу;new-install
- – файл-флаг, который необходимо создать для того, чтобы началась загрузка пакетов;downloaded
- – файл-флаг, будет создан после загрузки новых версий пакетов;status.code
-code
– будет создан после загрузки пакетов, отражает информацию о статусе загрузки/установки пакетов в виде соответствующего кода;status.text
- будет – будет создан после загрузки пакетов, отражает информацию о статусе загрузки/установки пакетов в виде текста.
В директории
/linuxcash/cash/data/upgrade-system
создается файл-флаг с именемnew-install
.Code Block touch /linuxcash/cash/data/upgrade-system/new-install
В конфигурационный файл
/linuxcash/cash/conf/artix-packages.list
добавляетсяlist
добавляется список пакетов, которые будут установлены при обновлении. Запись выполняется в формате: одна строка - – один пакет. Пакеты указываются без версий.Code Block language text artix-pos artix45-nes2
- Скачивание и установка заданных пакетов выполняется при помощи скрипта
/linuxcash/cash/bin/artix-upgrade.sh
.
Параметры скрипта задаются в файле/linuxcash/cash/conf/artix-upgrade.conf
.runsleep
- – интервал времени в минутах, в котором случайным образом задается начало обновления;download_limit = 25
- – ограничение пропускной способности при скачивании обновлений, в кБ/с.
Касса перезапускается, после чего выполняется установка пакетов.
...
Для оповещения об обновлении и задания действия используется файл /linuxcash/cash/data/tmp/notification.json
. Он представляет собой файл формата json
, создаваемый модулем artix-upgrade-system2
, после скачивания всех необходимых пакетов.
Code Block | ||||
---|---|---|---|---|
| ||||
{ "message": "Доступны обновления", "action": "restart" } |
...