29. Обслуживание

29.1. Общие сведения

ПО ПАК “Фортикс” представлено в виде файлов с расширением .fors, используемых для обновления установленных прошивок ПО на платформе. На одной платформе возможна одновременная установка нескольких прошивок ПО ПАК “Фортикс”. Далее по тексту для установленных прошивок применяются термины система или software.

Для каждой системы возможно выделение собственной закреплённой за ней области для хранения данных. Данная область называется слот данных или data-slot. Возможно наличие системы без слота данных в пассивном режиме на устройстве хранения данных, при этом функционирование данной системы не осуществляется. Для вновь установленной системы слот данных выделяется автоматически при загрузке или привязывается вручную к уже существующему слоту данных.

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

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

Для систем ПАК “Фортикс” предусмотрены следующие загрузочные признаки:

  • default – система, загружаемая по-умолчанию;

  • fallback – система, загружаемая в случае невозможности загрузки default системы (например, из-за аппаратного или программного сбоя);

  • current – активная система.

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

> show system software

В выводе команды указываются следующие загрузочные признаки в круглых скобках:

  • D – default: после перезагрузки система с флагом D загружается по умолчанию;

  • F – fallback: при возникновении проблем с загрузкой системы по умолчанию (с флагом D) осуществляется откат к резервной системе (с флагом F);

  • C – current: загруженная в данный момент система;

  • d – user default: система помечена администратором как система по умолчанию, но произошёл откат к резервной системе по какой-либо причине.

29.2. Управление прошивками и системами

Для установки новой прошивки ПО ПАК “Фортикс” с указанным именем из fors-файла применяется команда:

> system software install <file-name> [<system-name>]

где

  • <file-name> – полное имя fors-файла или имя файла относительно домашней директории пользователя;

  • <system-name> – строка.

Для настройки загрузочного признака системы применяется команда:

> system software boot default|fallback <system-name>

где

  • default|fallback – загрузочный признак системы;

  • <system-name> – имя существующей системы.

Для удаления существующей системы применяется команда:

> system software remove <system-name> [with-data-slot]

где

  • <system-name> – имя существующей системы;

  • with-data-slot – параметр, при указании которого система удаляется с привязанным к ней слотом данных.

Возможно удаление только той системы, у которой нет ни одного признака успешной загрузки (default, fallback, current).

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

> system software rename <system-name> <new-system-name>

где

  • <system-name> – текущее имя системы;

  • <new-system-name> – строка.

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

> system software bind <system-name> [<dataslot-name>]

где

  • <system-name> – имя существующей системы;

  • <dataslot-name> – имя существующего слота данных.

Если параметр <dataslot-name> не указан, система отвязывается от её текущего слота данных (невозможно для активной системы). Привязка для активной системы или для уже привязанного к какой-либо системе слота данных невозможна.

Для осуществления миграции применяется команда:

> system software migrate <system-name> [force] [reboot]

где

  • <system-name> – имя существующей системы, на которую осуществляется миграция;

  • force – параметр, при указании которого миграция осуществляется даже в случае, если система <system-name> привязана к другому слоту данных (при этом система <system-name> предварительно отвязывается от указанного слота данных и привязывается к текущему);

  • reboot – параметр, при указании которого осуществляется перезагрузка после успешной миграции.

Миграция подразумевает установку загрузочного признака default на систему <system-name>, привязку к ней текущего слота данных и перезагрузку на новую default-систему <system-name>. Данный механизм применим после обновления системы при необходимости использования текущей конфигурации.

Для осуществления безопасной миграции применяется команда:

> system software safe-migrate <system-name> [force]

где

  • <system-name> – имя существующей системы, на которую осуществляется миграция;

  • force – параметр, при указании которого миграция осуществляется даже в случае, если система <system-name> привязана к другому слоту данных (при этом система <system-name> предварительно отвязывается от указанного слота данных и привязывается к клонированному слоту данных).

29.3. Управление слотами данных

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

> system data-slot create <dataslot-name>

где <dataslot-name> – строка.

Для клонирования слота данных применяется команда:

> system data-slot clone <dataslot-name> <new-dataslot-name>

где

  • <dataslot-name> – имя существующего слота данных, содержимое которого дублируется в новый слот данных;

  • <new-dataslot-name> – строка.

Для переименования существующего слота данных применяется команда:

> system data-slot rename <dataslot-name> <dataslot-new-name>

где

  • <dataslot-name> – текущее имя слота данных;

  • <dataslot-new-name> – строка.

Для удаления существующего слота данных применяется команда:

> system data-slot remove <dataslot-name>

где <dataslot-name> – имя существующего слота данных.

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

29.4. Информационные команды

Для просмотра информации о версии системы применяется команда:

> show version

Пример вывода команды для просмотра информации о версии системы:

Software: Fortics 1.0d-250825
Version: 1.0
Revision: r1.d0cc757757
Date: 2025.08.25 12:55:20
Kernel: 5.10.226 x86_64 console=ttyS0,115200
Status: cer r1 debug
HWID: 010-00001
Hash (kernel): 921c3f947945a49b2a91daec2c23056b4c242493df967e7c7f828e0df1d73700
Hash (rootfs): 0e375df2f4ae7df399178312cec21087fe5ef551998e554bee43f70a9a99cb66
Hash (loader): 60b4acc007dc982e1874dddf642d212fadb9cb0f32ff061b6da94db5e7f97d32
Hash (crypto): b418266bcdd7b2ac8fc6d98b7e0e9e437c30416dcb9486cdc426a8a85a804879

Для просмотра информации об установленных системах, их загрузочных признаках, слотах данных применяется команда:

> show system software

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

> show system software list

Для просмотра подробной информации об установленной системе применяется команда:

> show system software info [<system-name>|*]

где

  • <system-name> – имя системы, о которой выводится информация;

  • * – параметр, при указании которого отображается информация о всех системах.

Для просмотра списка слотов данных применяется команда:

> show system data-slot

29.5. Лицензия системы

Доступный функционал в системе определяется лицензией, которая содержит описание разрешённых и запрещённых возможностей. Предусмотрены следующие типы лицензии:

  • built-in – встроенная (предустановленная) лицензия, добавленная при создании дистрибутива (в системе допустимо наличие только одной лицензии данного типа);

  • installed – лицензия, установленная из fors-файла (в системе допустимо наличие нескольких лицензий данного типа);

  • user – лицензия, установленная пользователем командой из системы (в системе допустимо наличие только одной лицензии данного типа).

Для просмотра текущей лицензии применяется команда:

> show system software license

Пример вывода команды для просмотра текущей лицензии:

Info: License type: installed (valid)
Info: License data: {
        "license": {
                "ALL": true,
                "DESCRIPTION": "Full"
        }
}

Для описания лицензии по умолчанию используются слудующие поля:

  • ALL: признак, используемый по умолчанию для всего функционала системы (возможные значения: true – всё разрешено, false – всё запрещено);

  • LIMITS: ограничения для системы, на которую устанавливается лицензия (опционально);

  • DESCRIPTION: описание лицензии.

Поле LIMITS задаёт ограничения для системы, на которую устанавливается лицензия, по следующим параметрам:

  • ncpu – область допустимых значений числа CPU;

  • memsz – область допустимых значений объёма памяти в байтах;

  • version – область допустимых значений версий системы (версия системы указывается в формате x.y или x.y[-z], где x,y,z – числа);

  • variant – допустимый вариант системы (“d” – отладочная система, “vm” – система для виртуальных машин, «” – система без варианта);

  • validtime – период действия лицензии (время указывается в формате yyyy.mm.dd).

Ограничения в поле LIMITS задаются с помощью критериев min и max (кроме ограничения variant, которое задаётся строкой), определяющих область допустимых значений ограничения:

  • если min и max не указаны – ограничений нет;

  • если указан только min – допустимые значения определяются областью [min; UNLIMITED];

  • если указан только max – допустимые значения определяются областью [UNLIMITED; max];

  • если указан min и max – допустимые значения определяются областью [min; max].

Остальные поля лицензии определяют разрешённый (true) или запрещённый (false) функционал системы.

Пример описания лицензии:

"ALL" : false,
"dns" : true,

В этом примере запрещён весь функционал, кроме dns.

Для добавления лицензии применяется команда:

> system software license add <license-file>

где <license-file> – полное имя файла лицензии или имя файла относительно домашней директории пользователя.

При добавлении лицензии проверяется, удовлетворяет ли система, на которую устанавливается лицензия, ограничениям поля LIMITS устанавливаемой лицензии. Для ограничений ncpu, memsz, version, validtime проверяется соответствие характеристик системы области допустимых значений ограничений поля LIMITS устанавливаемой лицензии (при этом значение version системы в формате, отличном от принятого в области допустимых значений ограничения version поля LIMITS устанавливаемой лицензии, считается неудовлетворительным); для ограничения variant вариант системы проверяется на равенство заданному в устанавливаемой лицензии ограничению. В случае несоответствия характеристик системы ограничениям поля LIMITS устанавливаемой лицензии добавление лицензии из файла <license-file> невозможно.

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

  1. Проверяется лицензия типа user. Если система удовлетворяет огранмчениям user-лицензии, применяется данная лицензия, иначе – п.2.

  2. Проверяются лицензии типа installed. Применяется первая лицензия, ограничениям которой удовлетворяет система. Если применимых лицензий типа installed нет – п.3.

  3. Проверяется лицензия типа build-in. Данная лицензия всегда применима.

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

> system software license remove

29.6. Контроль целостности

Для осуществления контроля целостности основных компонентов системы, которые находятся на системном диске, применяется команда:

> show system software integrity

Данная команда демонстрирует соответствие посчитанного хэш ядра, корневой файловой системы и загрузчика эталонным значениям. При успешной проверке выводится сообщение Software integrity: OK. При несоответствии посчитанных значений эталонным выводятся некорректное значение хэш компонента системы с маркером (wrong) и сообщение о нарушении целостности Software integrity: ERROR.

Пример применения команды для осуществления контроля целостности (успешный):

root@Fortics> show system software integrity
Software integrity: OK

В данном примере все хэш соответствуют эталонным значениям.

Пример применения команды для осуществления контроля целостности (неуспешный):

root@Fortics> show system software integrity
LOADER: 3f539a213e97c802cc229d474c6aa32a825a360b2a933a949fd925208d9ce1bb (wrong)
Software integrity: ERROR

В данном примере файл загрузчика повреждён, т.е. целостность файла нарушена.

В ПАК “Фортикс” предусмотрен механизм контроля целостности по расписанию.

Для запуска проверки целостности с указанной частотой применяется команда:

# set system software-integrity <software-integrity-value>

где <software-integrity-value> – число минут от 1 до 1440.

При нарушении целостности в период проверки выводится сообщение уровня ALERT и осуществляется принудительный перезапуск системы.

Также данная настройка определяет период проведения динамического контроля физического датчика случайных чисел (см. подраздел 31.8 Динамический и регламентный контроль ФДСЧ).