ОРГАНИЗАЦИЯ ПРОЦЕССА ОБНОВЛЕНИЯ СЕРВЕРНОГО ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ В СРЕДЕ LINUX (НА ПРИМЕРЕ СИСТЕМЫ NETBOX)

ОРГАНИЗАЦИЯ ПРОЦЕССА ОБНОВЛЕНИЯ СЕРВЕРНОГО ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ В СРЕДЕ LINUX (НА ПРИМЕРЕ СИСТЕМЫ NETBOX)

Авторы публикации

Рубрика

Информационные технологии

Просмотры

1

Журнал

Журнал «Научный лидер» выпуск # 29 (282), Июль ‘26

Поделиться

В статье рассматривается процесс обновления серверного программного обеспечения в ОС Linux на примере системы Netbox. Описывается полный цикл работ: подготовка среды, настройка прокси, загрузка и компиляция зависимостей (Python), установка новой версии Netbox, настройка символических ссылок и перезапуск сервисов. Приводятся команды и пояснения к ним.

Регулярное обновление серверного ПО необходимо для получения новых функций и устранения уязвимостей. В среде Linux этот процесс часто требует компиляции из исходных кодов. В статье рассматривается практический опыт обновления системы управления инфраструктурой Netbox.

Netbox – веб-приложение с открытым исходным кодом для управления IP-адресами (IPAM) и инфраструктурой ЦОД (DCIM). Система написана на Python с использованием Django и требует PostgreSQL и Redis.

При работе в корпоративной сети доступ к интернету часто осуществляется через прокси-сервер. Для загрузки файлов через терминал необходимо экспортировать переменную окружения https_proxy:

export https_proxy=http://адрес_прокси:порт

После выполнения этой команды все последующие запросы через HTTPS будут направляться через указанный прокси-сервер.

Система Netbox требует определенной версии Python. Если в репозиториях дистрибутива Linux отсутствует нужная версия, её можно загрузить и скомпилировать из исходных кодов. Для загрузки используется команда wget — это утилита командной строки для скачивания файлов из интернета. [2]:

wget https://www.python.org/ftp/python/3.12.9/Python-3.12.9.tgz

Загруженный архив имеет расширение .tgz, что означает сжатый tar-архив. Для распаковки используется команда tar: tar -xvf Python-3.12.9.tgz

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

Конфигурация: ./configure проверяет наличие необходимых библиотек и генерирует Makefile – файл, содержащий инструкции для сборки.

Сборка (компиляция): make -j$(nproc) выполняет компиляцию с использованием всех ядер процессора.

Установка:

- make install копирует файлы в системные директории.

- Загрузка новой версии Netbox выполняется непосредственно на сервер с помощью wget: wget https://github.com/netbox community/netbox/archive/refs/tags/vX.Y.Z.tar.gz

- После загрузки архив распаковывается с использованием tar.

- Обновление выполняется с помощью команды:

- Sudo LD_LIBRARY_PATH=/путь/к/библиотекам/бд PYTHON=/путь/к/python3.12 ./upgrade.sh

В этой команде использовались: sudo – выполняет команду с правами суперпользователя. Суперпользователь (superuser или root) может читать и писать все файлы в системе, что необходимо для изменения системных конфигураций, LD_LIBRARY_PATH – для указания библиотек базы данных Tantor, PYTHON – для указания пути к требуемой версии Python.

Одним из вариантов привязки файлов является символическая ссылка (symbolic link): ln -s /opt/netbox-X.Y.Z/ /opt/netbox

Она позволяет нескольким именам ссылаться на одни и те же данные. Это делает процесс обновления более безопасным и удобным.

После обновления необходимо перезапустить сервис: sudo systemctl restart netbox

Фоновые процессы называются демонами. Утилита systemctl позволяет управлять этими демонами. Для проверки состояния сервиса используется команда: sudo systemctl status netbox. В ответ отображается информация о сервисе.

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

Список литературы

  1. Официальная документация Netbox. – URL: https://docs.netbox.dev/.
  2. Официальная документация GNU Wget. – URL: https://www.gnu.org/software/wget/manual/.
  3. Таненбаум Э., Бос Х. Современные операционные системы. – 4-е изд. – СПб.: Питер, 2024. – 1120 с.