Подготовка сервера Astra Linux

Для того чтобы подготовить сервер на Astra Linux для развертывания FindFace Multi, следуйте приведенным ниже инструкциям, соблюдая последовательность. Данная инструкция актуальна для версии Astra Linux Special Edition 1.8.1.

В этом разделе:

Важно

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

Для того чтобы сделать IP-адрес статическим, откройте файл /etc/network/interfaces и измените текущую запись для основного сетевого интерфейса так, как показано в примере ниже. Не забудьте заменить адреса в примере на актуальные с учетом настроек сети.

sudo vi /etc/network/interfaces

iface eth0 inet static
address 192.168.112.144
netmask 255.255.255.0
gateway 192.168.112.254
dns-nameservers 192.168.112.254

Перезапустите сетевые интерфейсы.

sudo service networking restart

Если для конфигурации сети используется утилита Netplan, внесите изменения в *.yaml файл, расположенный в директории /etc/netplan/.

sudo vi /etc/netplan/*.yaml

network:
  version: 2
  renderer: networkd
  ethernets:
    eth0:
      dhcp4: no
      addresses: [192.168.112.144/24]
      gateway4: 192.168.112.254
      nameservers:
        addresses: [192.168.112.254]

Примените настройки с помощью команды:

sudo netplan apply

Редактируйте файлы конфигурации сети только если вы уверены в том, что делаете.

GPU: Установка драйверов NVIDIA

Первым шагом подготовки сервера является установка драйвера NVIDIA. Данный шаг актуален только для конфигурации GPU. Если ваша конфигурация использует CPU-ускорение, можно переходить к установке Docker.

  1. Добавьте репозитории Astra Linux в список репозиториев /etc/apt/sources.list.

    sudo vi /etc/apt/sources.list
    
    # Основной репозиторий, включающий актуальное оперативное или срочное обновление
    deb https://dl.astralinux.ru/astra/stable/1.8_x86-64/main-repository/ 1.8_x86-64 main contrib non-free non-free-firmware
    # Расширенный репозиторий, соответствующий актуальному оперативному обновлению
    deb https://dl.astralinux.ru/astra/stable/1.8_x86-64/extended-repository/ 1.8_x86-64 main contrib non-free non-free-firmware
    
  2. Обновите индекс пакетов.

    sudo apt update
    
  3. Установите необходимые пакеты. Пакет build-essential является обязательным для установки. Вам также могут понадобиться утилиты администрирования ОС. Самостоятельно примите решение о необходимости их установки.

    sudo apt install fuse ca-certificates curl gnupg linux-headers-$(uname -r) build-essential
    
  4. Получите список доступных драйверов NVIDIA в репозиториях.

    sudo apt policy nvidia-driver*
    
  5. Установите актуальную версию драйвера. В данной инструкции мы устанавливаем версию драйвера 580.

    sudo apt install nvidia-driver-580
    
  6. Выполните перезагрузку.

    sudo reboot
    

Установка продуктов Docker

Продукты Docker должны быть установлены как на CPU-, так и на GPU-серверах. Выполните следующие действия:

  1. Добавьте на сервер официальный ключ GPG для Docker (ключ GNU Privacy Guard).

    sudo install -m 0755 -d /etc/apt/keyrings
    curl -fsSL https://download.docker.com/linux/debian/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
    sudo chmod a+r /etc/apt/keyrings/docker.gpg
    
  2. Выполните настройку репозитория Docker.

    echo "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/debian bullseye stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
    
  3. Обновите индекс пакетов.

    sudo apt update
    
  4. Установите последние версии продуктов Docker.

    sudo apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin
    

    Примечание

    Последними версиями docker-ce и docker-ce-cli, с которыми была протестирована данная инструкция, являются версии 28.*. Использование более поздних версий пакетов Docker, если таковые имеются, остается на ваше усмотрение.

    Чтобы установить 28.* версии docker-ce и docker-ce-cli, выполните следующую команду:

    sudo apt-get install docker-ce=5:28* docker-ce-cli=5:28* containerd.io docker-buildx-plugin
    
  5. Проверьте успешность установки Docker.

    sudo docker run hello-world
    

    Эта команда загружает тестовый образ и запускает его в контейнере. Когда контейнер запускается, он печатает подтверждающее сообщение и завершает работу.

  6. Установите docker-compose. Предварительно загрузите скрипт docker-compose-linux-x86_64 и поместите его в любой каталог на сервере установки (например, /home/username).

    sudo cp /home/username/docker-compose-linux-x86_64 /usr/local/bin/docker-compose
    sudo chmod +x /usr/local/bin/docker-compose
    sudo ln -s /usr/local/bin/docker-compose /usr/bin/docker-compose
    
  7. Выполните процедуры после установки Docker Engine, чтобы упростить свою будущую работу с контейнерами Docker и FindFace Multi. Как только вы сможете управлять Docker от имени пользователя, не являющегося root, вам больше не понадобится применять sudo в командах, связанных с Docker.

    sudo groupadd docker
    sudo usermod -aG docker $USER
    newgrp docker
    
  8. Внесите изменения в конфигурационный файл сервиса Docker для настройки сети.

    BIP=10.$((RANDOM % 256)).$((RANDOM % 256))
    sudo tee /etc/docker/daemon.json <<EOF
    {
       "default-address-pools":
            [
                    {"base":"$BIP.0/16","size":24}
            ],
        "bip": "$BIP.1/24",
        "fixed-cidr": "$BIP.0/24"
    }
    EOF
    
  9. Перезапустите сервис Docker.

    sudo systemctl restart docker
    

GPU: Установка NVIDIA Container Runtime

  1. Перед развертыванием NVIDIA Container Runtime необходимо создать символическую ссылку для обеспечения корректной работы и установки NVIDIA Container Runtime из deb-пакетов.

    sudo ln -s /sbin/ldconfig /sbin/ldconfig.real
    
  2. Примечание

    Установка NVIDIA Container Runtime из репозиториев может быть затруднительной из-за отсутствия некоторых корневых сертификатов, что ведет к проблемам с работой GPG-ключей. Рекомендуется скачать пакеты NVIDIA Container Runtime из репозитория и установить их вручную.

    Скачайте из репозитория все пакеты актуальной версии и перенесите архив с пакетами на сервер установки. Распакуйте архив, перейдите в каталог, где содержатся пакеты (например, /home/username/nvidia-deb-pkgs), и установите их. Рекомендуется установить следующие пакеты в актуальных версиях:

    • libnvidia-container1_*_amd64.deb

    • libnvidia-container1-dbg_*_amd64.deb

    • libnvidia-container-dev_*_amd64.deb

    • libnvidia-container-tools_*_amd64.deb

    • nvidia-container-runtime_*_all.deb

    • nvidia-container-toolkit-base_*_amd64.deb

    • nvidia-container-toolkit_*_amd64.deb

    • nvidia-docker2_*_all.deb

    cd /home/username/nvidia-deb-pkgs
    sudo dpkg -i *.deb
    

    Примечание

    При ручной установке из .deb пакетов установщик может выдать ошибку о неразрешённых зависимостях. Для пакетов с зависимостями рекомендуется соблюдать последовательность установки. Например, следует установить nvidia-container-toolkit-base_*_amd64.deb перед nvidia-container-toolkit_*_amd64.deb.

  3. Внесите изменения в конфигурационный файл сервиса Docker для настройки сети и использования среды NVIDIA Container Runtime, установленной вместе с NVIDIA Container Toolkit.

    BIP=10.$((RANDOM % 256)).$((RANDOM % 256))
    sudo tee /etc/docker/daemon.json <<EOF
    {
       "default-address-pools":
            [
                    {"base":"$BIP.0/16","size":24}
            ],
        "bip": "$BIP.1/24",
        "fixed-cidr": "$BIP.0/24",
        "runtimes": {
             "nvidia": {
                 "path": "nvidia-container-runtime",
                 "runtimeArgs": []
             }
        },
        "default-runtime": "nvidia"
    }
    EOF
    
  4. Перезапустите сервис Docker.

    sudo systemctl restart docker
    
  5. Проверьте работу NVIDIA Container Runtime с помощью запуска Sample CUDA container.

    sudo docker run --rm --runtime=nvidia --gpus all ubuntu nvidia-smi
    

    Ожидаемый вывод – таблица с информацией о GPU. Успешный вывод nvidia‑smi подтверждает, что NVIDIA Container Toolkit настроен корректно.

    $ sudo docker run --rm --runtime=nvidia --gpus all ubuntu nvidia-smi
    Mon Feb  9 13:46:14 2026
    +-----------------------------------------------------------------------------------------+
    | NVIDIA-SMI 580.65.06              Driver Version: 580.65.06      CUDA Version: 13.0     |
    +-----------------------------------------+------------------------+----------------------+
    | GPU  Name                 Persistence-M | Bus-Id          Disp.A | Volatile Uncorr. ECC |
    | Fan  Temp   Perf          Pwr:Usage/Cap |           Memory-Usage | GPU-Util  Compute M. |
    |                                         |                        |               MIG M. |
    |=========================================+========================+======================|
    |   0  Tesla T4                       Off |   00000000:00:05.0 Off |                    0 |
    | N/A   28C    P8             13W /   70W |       0MiB /  15360MiB |      0%      Default |
    |                                         |                        |                  N/A |
    +-----------------------------------------+------------------------+----------------------+
    
    +-----------------------------------------------------------------------------------------+
    | Processes:                                                                              |
    |  GPU   GI   CI              PID   Type   Process name                        GPU Memory |
    |        ID   ID                                                               Usage      |
    |=========================================================================================|
    |  No running processes found                                                             |
    +-----------------------------------------------------------------------------------------+
    

Теперь все готово для установки FindFace Multi. См. следующие разделы:

Важно

Для того чтобы сохранить совместимость FindFace Multi со средой установки, настоятельно рекомендуется отключить автоматическое обновление Astra Linux. В этом случае вы сможете обновлять ОС вручную, контролируя процесс обновления отдельных пакетов. Для отключения автоматического обновления Astra Linux выполните следующие команды:

sudo apt-get remove unattended-upgrades
sudo systemctl stop apt-daily.timer
sudo systemctl disable apt-daily.timer
sudo systemctl disable apt-daily.service
sudo systemctl daemon-reload