Продолжаю рассматривать отечественные дистрибутивы Linux на роль домашней и рабочей системы. На этот раз посмотрим на RED ОС.

НЕМНОГО ОБ RED ОС
Разработчиков RED ОС является компания РЕД СОФТ. На текущий момент выпущено три версии RED ОС:
7.1,
7.2,
7.3.
Мне не удалось найти убедительных источников но похоже RED ОС ведет свою родословную от ГосЛинукс, дистрибутива Linux ,специально созданного, для использования в гос. учреждениях РФ, изначально для ФСИН. В свою очередь ГосЛинукс разработан на базе CentOS 6.
Дистрибутивы RED ОС
Операционная система доступна в 2-х вариантах:
Рабочая станция,
Сервер.
Для версии 7.3 оба варианта доступны для архитектур x86-64, aarch64 (Байкал-M, Raspberry Pi), e2k v4 (Эльбрус).
Каждый из вариантов доступен в 2-х редакциях: стандартная или сертифицированная. Имеется свой репозиторий Docker-образов. Стандартные версии дистрибутивов доступны для скачивания с сайта. Физическим лицам для некоммерческого использования продукт предоставляется бесплатно, юридическим лицам необходимо приобретать лицензию.
Документация
Для RED ОС доступны руководство пользователя и администратора полностью на русском языке. Кроме этого на сайте доступна обширная база знаний в которой содержится просто огромное кол-во довольно подробных инструкций от настроек ОС и различного ПО (такого как Squid, Samba, Zabbix) до инструкций по сборке RPM пакетов. Объем базы знаний вызывает восторг, лет 10 - 15 назад когда я только начинал изучать Linux о таком можно было только мечтать. Opennet и другие ресурсы никто не отменял, но ТАКОЕ кол-во информации в одном месте да еще и на русском лично у меня даже сейчас вызывает удивление. В Базе знаний RED ОС содержится огромное кол-во материалов о настройке как рабочей станции так и сервера, и в дополнении к этому инструкции по установке различных CAD-систем, мессенджеров и даже Steam, Port Wine и многое другое. В дополнении к базе знаний есть канал на YouTube на котором тоже довольно много информации и канал в Telegram. Также на сайте доступен список совместимого ПО с возможностью поиска и список доступных в репозитории пакетов.
Установка пакетов
Для меня оказалось неожиданностью, но в RED ОС в качестве графического инструмента установки пакетов применяется dnfdragora.

Я ожидал увидеть gnome-software-center, интересно почему решили от него отказаться? В плане кол-ва доступных пакетов RED ОС оказывается довольно аскетичной, возможно сказывается родство с CentOS. Проявляется это в том что в репозиториях много различного свободного ПО, скажем так, для работы а вот современных мессенджеров, эмуляторов и игр вы там не найдете. Я смог найти всего два пакета пригодных для игр - один из них это Steam а второй DosBox. В процессе поиска и установки различных приложений на RED ОС я с удивлением обнаружил, что большое кол-во ПО предоставляет для установки на Linux пакеты deb-формата, и намного реже rpm-формата. Причем это касается не только закрытого и\или коммерческого ПО но и свободного тоже так, например, ScummVM не предоставляет rpm. И даже наличие пакетов для CentOS-based дистрибутивов не всегда спасает, но об этом чуть позже. Так что при использовании RED ОС часто придется пользоваться либо Flatpak пакетами либо архивами с бинарной сборкой, что подтверждает “База знаний” RED ОС, в которой VS Code рекомендуется устанавливать используя flatpak, Telegram и Discord из tar.gz архива, а AnyDesk предлагается ставить из rpm пакета для RHEL 8.
Пакет | Способ установки |
|---|---|
viber | Flatpak |
Yandex Disk | rpm |
Skype | rpm |
Telegram | архив |
Discord | архив |
VS Code | rpm |
Впрочем наличие rpm-пакета не всегда решает проблему установки, например, установка Viber из rpm проходит успешно но запускаться программа отказывается “вываливая” список ошибок:
[manul@localhost ~]$ /opt/viber/Viber /opt/viber/Viber: /lib64/libm.so.6: version `GLIBC_2.29' not found (required by /opt/viber/Viber) /opt/viber/Viber: /lib64/libstdc++.so.6: version `GLIBCXX_3.4.26' not found (required by /opt/viber/Viber) /opt/viber/Viber: /lib64/libm.so.6: version `GLIBC_2.29' not found (required by /opt/viber/lib/libicui18n.so.66) /opt/viber/Viber: /lib64/libm.so.6: version `GLIBC_2.29' not found (required by /opt/viber/lib/libicuuc.so.66) /opt/viber/Viber: /lib64/libm.so.6: version `GLIBC_2.29' not found (required by /opt/viber/lib/libQt6Widgets.so.6) /opt/viber/Viber: /lib64/libstdc++.so.6: version `GLIBCXX_3.4.26' not found (required by /opt/viber/lib/libQt6Widgets.so.6) /opt/viber/Viber: /lib64/libstdc++.so.6: version `GLIBCXX_3.4.28' not found (required by /opt/viber/lib/libQt6Widgets.so.6) /opt/viber/Viber: /lib64/libm.so.6: version `GLIBC_2.29' not found (required by /opt/viber/lib/libQt6Multimedia.so.6) /opt/viber/Viber: /lib64/libm.so.6: version `GLIBC_2.29' not found (required by /opt/viber/lib/libQt6WebEngineCore.so.6) /opt/viber/Viber: /lib64/libstdc++.so.6: version `GLIBCXX_3.4.26' not found (required by /opt/viber/lib/libQt6WebEngineCore.so.6) /opt/viber/Viber: /lib64/libc.so.6: version `GLIBC_2.30' not found (required by /opt/viber/lib/libQt6WebEngineCore.so.6) /opt/viber/Viber: /lib64/libm.so.6: version `GLIBC_2.29' not found (required by /opt/viber/lib/libQt6Quick.so.6) /opt/viber/Viber: /lib64/libstdc++.so.6: version `GLIBCXX_3.4.26' not found (required by /opt/viber/lib/libQt6Quick.so.6) /opt/viber/Viber: /lib64/libstdc++.so.6: version `GLIBCXX_3.4.28' not found (required by /opt/viber/lib/libQt6Quick.so.6) /opt/viber/Viber: /lib64/libm.so.6: version `GLIBC_2.29' not found (required by /opt/viber/lib/libQt6Gui.so.6) /opt/viber/Viber: /lib64/libstdc++.so.6: version `GLIBCXX_3.4.26' not found (required by /opt/viber/lib/libQt6Gui.so.6) /opt/viber/Viber: /lib64/libstdc++.so.6: version `GLIBCXX_3.4.28' not found (required by /opt/viber/lib/libQt6Gui.so.6) /opt/viber/Viber: /lib64/libm.so.6: version `GLIBC_2.29' not found (required by /opt/viber/lib/libQt6Qml.so.6) /opt/viber/Viber: /lib64/libm.so.6: version `GLIBC_2.29' not found (required by /opt/viber/lib/libQt6Core.so.6) /opt/viber/Viber: /lib64/libstdc++.so.6: version `GLIBCXX_3.4.26' not found (required by /opt/viber/lib/libQt6Core.so.6) /opt/viber/Viber: /lib64/libstdc++.so.6: version `GLIBCXX_3.4.28' not found (required by /opt/viber/lib/libQt6Core.so.6) /opt/viber/Viber: /lib64/libm.so.6: version `GLIBC_2.29' not found (required by /opt/viber/lib/libQt6Positioning.so.6) /opt/viber/Viber: /lib64/libm.so.6: version `GLIBC_2.29' not found (required by /opt/viber/lib/libpng16.so.16) /opt/viber/Viber: /lib64/libm.so.6: version `GLIBC_2.29' not found (required by /opt/viber/lib/libwebp.so.6) /opt/viber/Viber: /lib64/libm.so.6: version `GLIBC_2.29' not found (required by /opt/viber/lib/libQt6OpenGL.so.6)
Честно скажу что поленился разбираться и искать решение проблемы, плюс меня интересует сценарий использования Отечественных дистрибутивов обычным пользователем без знания подробностей функционирования Linux дистрибутивов. Таким образом Viber пришлось ставить из Flatpak.

Приключения с установк��й ПО на этом не заканчиваются, по какой-то причине файловый менеджер в RED ОС отказывается запускать исполняемые файлы с ошибкой вида:

При этом если запускать из терминала то запуск проходит успешно.
Игры
Если бы для RED ОС существовал маскот по образу и подобию OS-tan то это была бы строгая учительница или педантичная коллега в офисном дресс-коде. Душа ее суха как страницы книг воздух в офисах. В репозиториях RED ОС мне не удалось найти никаких пакетов с играми за исключением установщика Steam. Ни the Battle for Wesnoth, ни свободных движков Doom, ни эмуляторов по типу SVUMMVM - ничего! Справедливости ради стоит сказать что я проверил сайты нескольких проектов (the Battle for Wesnoth, fheroes, SCUMMVM, Xonotic, RetroArch) и обнаружил что почти все ПО нынче распространяется либо в формате tar.gz с скомпилированными бинарными файлами, либо через flatpak. Для многих проектов есть пакеты для Debian\Ubuntu и крайне редко для есть пакеты для CentOS\Fedora.
Steam

Установка Steam на RED ОС выполняется из репозитория и не вызывает проблем. Установка и запуск нативных для Linux игр работает без нареканий, а вот в случае использования Proton все уже не так просто и зависит от оборудования и от игры. Некоторые запускаются без проблем, некоторые требуют дополнительной настройки, а некоторые вовсе не удается запустить.
ION Storm запущенная нативно:

Ex Machine запущенная через Proton:

Wine
Из репозиториев RED ОС можно выполнить установку WINE версии 8.2, что на мой взгляд достаточно свежея версия и позволит использовать некоторое количество Windows приложений.
DevOps
Здесь наблюдается та же проблема как и с любыми не “mainline” (Debian\Ubuntu\CentOS\Fedora) дистрибутивами. Многие ansible-роли не будут работать т.к. не пройдут проверку ansible_distribution. Но в отличие от ALT Linux правки будут намного проще т.к. RED ОС родственник CentOS, так например для роли geerlingguy.nginx мне пришлось внести лишь пару правок вида “or (ansible_distribution == “REDOS”)”. В документации RED ОС есть статья по установке Kubernetes версии 1.24, если нужна версия поновее то придется разбираться самому или искать помощи на просторах Интернета. В репозитории есть пакеты docker версии 20.10.24 и VirtualBox версии 6.1.42, также в наличии и podman. minikube работает без проблем как с docker так и c VirtualBox драйверами:

Софт в репозиториях RED ОС не “bleeding edge” но и не такой старый как у CentOS 7 (хм… интересная строка выводы версии для gcc):
- docker-ce-20.10.24 - Python 3.8.2 - gcc версия 8.3.1 20191121 (Red Hat 8.3.1-6) (GCC) - go version go1.19.5 - VirtualBox Версия 6.1.42_REDSOFT - openjdk version "1.8.0_275" - java-17-openjdk-1:17.0.1.0.12 - Linux 5.15.87 - wine-8.2 (Staging) - openssl-1.1.1q-7.el7.3.x86_64 - openssh-server-8.9p1-7.el7.x86_64 - glibc-2.28-8.el7.x86_64 - ansible-2.9.27-3.el7.noarch - kernel 5.15.87-1 - wine-8.2-2.el7.x86_64
Также в репозиторих есть Zabbix 6-ой версии, множество различных экспортеров для Prometheus, а вот самого Prometheus нету:
[manul@localhost ~]$ dnf search prometheus Последняя проверка окончания срока действия метаданных: 0:01:16 назад, Вс 05 ноя 2023 10:58:16. ======================================================================= Имя и Краткое описание совпадение: prometheus ======================================================================== ceph-prometheus-alerts.noarch : Prometheus alerts for a Ceph deplyoment collectd-write_prometheus.i686 : Prometheus output plugin for collectd collectd-write_prometheus.x86_64 : Prometheus output plugin for collectd golang-github-grpc-ecosystem-prometheus-devel.noarch : Prometheus monitoring for your gRPC Go servers and clients golang-github-m3db-prometheus-client-devel.noarch : Prometheus instrumentation library for Go applications golang-github-m3db-prometheus-client-model-devel.noarch : Data model artifacts for Prometheus golang-github-prometheus.i686 : Prometheus monitoring system and time series database golang-github-prometheus.x86_64 : Prometheus monitoring system and time series database golang-github-prometheus-alertmanager.i686 : Prometheus Alertmanager golang-github-prometheus-alertmanager.x86_64 : Prometheus Alertmanager golang-github-prometheus-alertmanager-devel.noarch : Prometheus Alertmanager golang-github-prometheus-client-devel.noarch : Prometheus instrumentation library for Go applications golang-github-prometheus-client-model-devel.noarch : Data model artifacts for prometheus golang-github-prometheus-common-devel.noarch : Go libraries shared across prometheus components and libraries golang-github-prometheus-common-promlog-devel.noarch : Go libraries shared across prometheus components and libraries golang-github-prometheus-devel.noarch : Prometheus monitoring system and time series database golang-github-prometheus-log-devel.noarch : Prometheus Logging Library nginx-prometheus-exporter.i686 : NGINX Prometheus Exporter for NGINX and NGINX Plus nginx-prometheus-exporter.x86_64 : NGINX Prometheus Exporter for NGINX and NGINX Plus prometheus-jmx-exporter.noarch : Prometheus JMX Exporter prometheus-jmx-exporter-openjdk11.noarch : OpenJDK 11 binding for prometheus-jmx-exporter prometheus-jmx-exporter-openjdk17.noarch : OpenJDK 17 binding for prometheus-jmx-exporter prometheus-jmx-exporter-openjdk8.noarch : OpenJDK 1.8.0 binding for prometheus-jmx-exporter prometheus-postgres_exporter.i686 : A PostgreSQL metric exporter for Prometheus prometheus-postgres_exporter.x86_64 : A PostgreSQL metric exporter for Prometheus python3-celery-prometheus-exporter.i686 : Exporter for Celery related metrics in order to get picked up by Prometheus python3-celery-prometheus-exporter.x86_64 : Exporter for Celery related metrics in order to get picked up by Prometheus python3-django-prometheus.noarch : Django middlewares to monitor your application with Prometheus python3-prometheus-client.noarch : Python client for the Prometheus monitoring system rubygem-prometheus-client-doc.noarch : Documentation for rubygem-prometheus-client ================================================================================= Имя совпадение: prometheus ================================================================================= golang-github-prometheus-exporter-toolkit-devel.noarch : Utility package to build exporters golang-github-prometheus-procfs-devel.noarch : Retrieve system, kernel and process metrics from proc prometheus-node_exporter.i686 : Exporter for machine metrics prometheus-node_exporter.x86_64 : Exporter for machine metrics rubygem-prometheus-client.noarch : A suite of instrumentation metric primitivesthat can be exposed through a web services interface ========================================================================== Краткое описание совпадение: prometheus =========================================================================== clickhouse-exporter.i686 : Clickhouse Exporter for Prometheus clickhouse-exporter.x86_64 : Clickhouse Exporter for Prometheus golang-github-clickhouse-exporter-devel.noarch : Clickhouse Exporter for Prometheus golang-github-danielqsj-kafka-exporter-devel.noarch : Kafka exporter for Prometheus golang-github-msiedlarek-nifi-exporter-devel.noarch : Apache NiFi metrics exporter for Prometheus golang-github-mwitkow-conntrack-devel.noarch : Go middleware for net.conn tracking (prometheus/trace) kafka-exporter.i686 : Kafka exporter for Prometheus kafka-exporter.x86_64 : Kafka exporter for Prometheus nifi-exporter.i686 : Apache NiFi metrics exporter for Prometheus nifi-exporter.x86_64 : Apache NiFi metrics exporter for Prometheus python3-starlette-exporter.i686 : Prometheus exporter for Starlette and FastAPI python3-starlette-exporter.x86_64 : Prometheus exporter for Starlette and FastAPI systemtap-exporter.i686 : Systemtap-prometheus interoperation mechanism systemtap-exporter.x86_64 : Systemtap-prometheus interoperation mechanism tomcat_exporter.i686 : A Prometheus exporter for Apache Tomcat tomcat_exporter.x86_64 : A Prometheus exporter for Apache Tomcat
Итог
RED ОС подобен CentOS но только это RED ОС. На мой взгляд для домашнего использования лучше взглянуть на тот же ALT Linux или другие более распространенные дистрибутивы, например, Linux Mint. В случае использования на серверах RED ОС не плохой выбор - получаем в меру консервативную и стабильную ОС, особенно если есть потребность использовать ПО из реестра Отечественного ПО. Обширная русскоязычная документация и база знаний будет весьма полезна как начинающим так и опытным пользователям и администраторам. Я в своей практике это уже оценил - вместо тысячи строк в Telegram и кучи созвонов можно отправить ссылку на базу знаний и снабдить комментариями для конкретного случая.
