Программное обеспечение на российской ОС

Никогда не думал, что буду писать статьи, но наболело…

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

И так вышло, что для старта процесса перехода на отечественный ИТ-продукт выбрали систему мониторинга Zabbix, которую завершили внедрять буквально в декабре прошлого года, как раз отказавшись от ряда иностранных проприетарных аналогов.

Посмотрев рынок и послушав разных менеджеров по продажам высшее ИТ-руководство приняло решение выбрать к внедрению в качестве российской Linux системы — Astra Linux CE. Им еще ИТ-архитекторы поддакивали, а технический персонал никто слушать не стал. В итоге, технари взялись за работу и начался бег по граблям с энтузиазмом.

1. Попытка все сделать из родного

Первоначально пошли по правильному пути и поставив Astra Linux CE решили установить Zabbix из родного репозитория. Все хорошо, Zabbix в репозитории есть. Postgres присутствует то же, но…все ужасно старых версий.

1136a159f1b6f432a31ac43d841c7a48.png

У нас уже было развернуто порядка двадцати серверов Zabbix версии 6.0.3 на Postgres 12, да еще и с подключенными временными рядами. А тут 4.0.3 и 9.6 версии соответсвенно. Нас такая «древность» в родном репозитории никак не устраивала.

В силу того, что разработчик Astra Linux разрешает к редакции CE подключать внешние репозитории и даже есть официальные рекомендации на сайте самого разработчика, то именно эти рекомендации мы и выполнили. Пришлось немного помучиться с выбором какой релиз подключать. В итоге остановились на версии buster, соответствующей Debian 10. Тут мы точно не натыкаемся на проблемы версии библиотеки libc6.

Добавили в /etc/apt/source.list ссылку на репозиторий debian который на Yandex живет:

deb http://mirror.yandex.ru/debian/ buster main contrib non-free

Увы, результат нас особенно не порадовал:

802f65ef467bc18a9e1060406290a5a5.png

2. Что Zabbix предлагает

Устав от родных рекомендаций Astra Linux и экспериментов с ними обратили свой взор на сайт Zabbix. На сайте очень удобно устроен выбор инструкций в зависимости от версии операционной системы. Лучик надежды, что сейчас нам скажут как под Debian 9 можно поставить Zabbix 6 сразу рухнул. Не поддерживается из нативных репозиториев Zabbix. Тогда пошли уже изведанным путем и посмотрели настройки для Debian 10. Вроде бы удача, поддерживается

6235a2f932a54a407adfa4d204927709.png

Пошли по инструкциям от разработчика Zabbix, которые представлены на том же сайте:

# wget https://repo.zabbix.com/zabbix/6.0/debian/pool/main/z/zabbix-release/zabbix-release_6.0-1+debian10_all.deb# dpkg -i zabbix-release_6.0-1+debian10_all.deb# apt update

Все проходит на отлично. После обновления смотрим версию Zabbix сервера и снова разочарование — только надстройка для отладки версии 6.0.4. Установить необходимую нам версию ПО невозможно.

aa663466e6eaac47794f09bad1fda32a.png

3. Собираем сами

Собрав очередные грабли прибегаем к испробованному, хотя и не совсем правильному в масштабах солидной корпорации, способу — установка из исходников.

Определились, что хотим: Zabbix север версии 6.0.х на Postgres версии 12.х и начинали работать. Как мы уже выяснили ранее, Postgres мы поставит версии 12 не можем из родных или подключенных репозиториев.

Ничего страшного, подключили репозиторий PostgreSQL по рекомендациям с сайта производителя СУБД. Обновили пакеты и получили полный список доступных версий, включая необходимую нам 12-ю.

e8e81fd7360b5687d6ef2ffaba2f6704.png

Воодушевленные запускаем процесс установки и снова неудача. Несовместимость вспомогательных библиотек. Опять во всех репозиториях они старые! Возвращаемся к компиляции и PostgreSQL. Скачиваем сами исходники с родного сайта (https://www.postgresql.org/ftp/source/v12.11/) и не забываем установить несколько необходимых пакетов. Указано сразу и для Postgres и для Zabbix:

apt-get -y install libreadline-dev zlib1g-dev libevent-dev libpcre3-dev

Ну и далее идем строго по инструкции из файла INSTALL и получаем установленный Postgres версии 12.х

Далее так же компилируем Zabbix и в итоге имеем

6c3e6ea3bbb7ec5ab7ed8031032009dd.png

К чему весь этот пост. Увы, наши отечественные ОС не готовы к внедрению в крупных корпорациях. Не могут они обеспечить корректную поддержку популярного прикладного софта. И популярность у отечественных ОС не такая высокая, чтоб вендоры софта на них ровнялись и поддерживали. Предположу, что такая ситуация продлиться еще три-пять лет, а может и вовсе никогда не исправится. При этом Zabbix один из самых безобидных сервисов. А постоянно все компилировать из исходников, да еще на достаточном объеме серверов то еще веселье, которое однозначно увеличит трудозатраты на сопровождение и повысит вероятность появления ошибки в процессе обновления.

© Habrahabr.ru