Введение
Мое первое знакомство с ALT Linux состоялось в 2008г. с версии ALT Linux 4.1. Чуть позже я опробовал 5-ую версию Альта. Дистрибутив оставил приятное впечатление и выделялся качественной локализацией. В то время я только начинал пользоваться Linux и часто менял дистрибутивы. Поэтому Альт не задержался надолго на жестком диске моего ПК и вскоре был заменен. Впоследствии я периодически возвращался к ALT Linux, как говорится, «на посмотреть». Каждый раз дистрибутив оставлял приятные впечатления и через некоторое время заменялся на очередную версию Ubuntu. Основной причиной было предубеждение, что для работы лучше взять дистрибутив «мирового» уровня, а с «местечковым» будет больше проблем. С ростом опыта я понял, что каждый дистрибутив имеет свои особенности.
Очередной раз посмотреть в сторону ALT меня побудили статьи на Хабре с краткими обзорами отечественных дистрибутивов Linux. Обзоры эти были, на мой взгляд, слишком уж краткими, и я решил самостоятельно посмотреть, что может предложить линуксоиду отечественный производитель. Начать решил с Simply Linux.
Методика испытаний
Пожалуй «методика испытаний» в данном случае звучит слишком гордо, но определиться с тестами и желаемыми результатами все же стоит. В процессе испытаний буду рассматривать дистрибутивы с двух точек зрения: со стороны домашнего использования и со стороны использования в качестве рабочего места devops'а.
Домашнее использование — проверим установку и работоспособность офисных пакетов, различных мессенджеров, установку игр из Steam и GOG.
Использование в качестве рабочего дистрибутива для devops'а — проверим установку и работу различных инструментов VS Code, Docker, Minikube, ansible.
Немного об ALT Linux
Разработчиком ALT Linux является российская кампания «Базальт СПО». Дистрибутив начал развиваться в 1999 — 2000 годах на основе ныне почившего Mandrake Linux. Вскоре из-за разногласий с техническими решениями, принимаемыми командой Mandrake, в ALT Linux начинают появляются пакеты собственной сборки и компоненты собственной разработки. Постепенно дистрибутив отделяется и становится полностью независимым, вместе с независимостью появляются и специфичные особенности:
Использование пакетного менеджера apt совместно с форматом пакетов rpm,
Система управления настройками Alterator,
Собственные инструменты для сборки специализированных дистрибутивов — mkimage,
Несколько вариантов ядер (не всегда понятно, чем один вариант отличается от другого и какая пользователю от этого выгода),
Своя система управления паролями пользователей TCB,
Своя система управления сетевыми интерфейсами etcnet (похоже, уже неактуально так как в документации используется NetworkManager),
Собственный репозиторий пакетов — Sysiphus,
Стартеркиты — специальные сборки с «альтернативными» менеджерами окон и системами инициализации или под специфичные архитектуры процессоров,
Регистр с docker образами на основе ALT Linux, также образы выкладываются на https://hub.docker.com/_/alt/,
Версия дистрибутива для запуска приложений в контейнерах — ALT Container OS (ALTCOS).
Дистрибутивы ALT Linux
Альт СП — дистрибутив операционной системы для серверов и рабочих станций со встроенными программными средствами защиты информации, сертифицированный ФСТЭК России,
Альт Рабочая станция — универсальная операционная система для компьютеров и ноутбуков. Она включает в себя расширенный набор программ и драйверы современных устройств. Содержит графическую оболочку MATE,
Альт Рабочая станция К — операционная система для дома и офиса. Может использоваться как для решения стандартных рабочих задач, так и в качестве мультимедийной станции, для игр и профессионального творчества. «Альт Рабочая станция К» входит в реестр Минцифры и подходит для государственных учреждений и крупных компаний,
Альт Сервер — серверный дистрибутив на базе ядра Linux с широкой функциональностью, позволяющий поддерживать корпоративную инфраструктуру, а также различное дополнительное оборудование,
Альт Образование — российская операционная система для тех, кто учится и учит. Решает повседневные задачи всех участников образовательного процесса и административно‑хозяйственной деятельности учреждения,
Альт Сервер Виртуализации — серверный дистрибутив на базе ядра Linux для предоставления функций виртуализации и контейнеризации в корпоративной инфраструктуре,
Simply Linux — бесплатная операционная система для персональных компьютеров. Стильная и функциональная, нетребовательная к ресурсам.
Большинство дистрибутивов, за исключением сертифицированных ФСТЭК, можно свободно загрузить с сайта компании разработчика. Также большинство дистрибутивов доступно для нескольких процессоррных архитектур и различных аппаратных платформ, таких как:
x86
x86_64
aarch64
PowerPC (8,9)
Mips
e2k
Raspberri PI 3/4.
Документация
Когда-то (впрочем и сейчас тоже) при аргументации за использование ALT Linux активно использовался факт хорошей локализации как самого дистрибутива, так и документации. С тех пор много воды утекло, и локализация ПО в составе дистрибутивов стала намного лучше, большинство обзавелось документацией на русском языке (более или менее сносного качества и актуальности), появилось множество русскоязычных статей, блогов и форумов. Использовать Linux без знания английского языка стало намного проще, но все же основная документация и материалы для большинства дистрибутивов и других OpenSource продуктов написаны на английском языке. Документации, wiki и форум ALT Linux изначально на русском языке, что является хорошим подспорьем для тех пользователей, чьё знание английского языка недостаточно для изучения оригинальной документации. Ссылки на полезные материалы по ALT Linux собраны на специальной странице на сайте компании Базальт СПО, что довольно удобно.
Установка пакетов
ALT Linux использует формат пакетов rpm и apt для управления пакетами. В большинстве случаев для установки в ALT Linux подходят пакеты, собранные для Fedora или CentOS. Для тех случаев, когда установить пакет не удается, есть специальная утилита «Установка сторонних программ». В списке ПО для возможной установки есть TeamViewer, AnyDesk, Telegram, Skype, Viber и другие. Похоже, эта утилита выполняет переупаковку пакета с правкой зависимостей, после чего выполняет установку. Таким же способом можно установить некоторое ПО, для которого разработчики не предоставляют rpm пакетов, например Discord.
В качестве эксперимента производилась установка различного ПО с использованием rpm-пакетов, скачанных с сайтов разработчиков, результаты были следующие:
ПО | Способ установки | Комментарии |
---|---|---|
Yandex Disk | RPM пакет с сайта | |
VS Code | RPM пакет с сайта | Установка через «Установка сторонних программ» завершилась с ошибкой |
Мой Офис | RPM пакет с сайта | |
Viber | «Установка сторонних программ» | Попытка установки через rpm-пакет завершилась с ошибкой в процессе разрещения зависимостей |
P7 офис | RPM пакет с сайта | Пакет собран специально под ALT |
Steam | Из репозитория | |
Skype | «Установка сторонних программ» | Попытка установки через rpm-пакет завершилась с ошибкой в процессе разрещения зависимостей |
Telegram | «Установка сторонних программ» |
В тех случаях, когда репозитория ALT и «Установка сторонних программ» недостаточно, на помощь приходит Flatpak, поддержку которого можно включить на этапе установки ОС.
Steam и игры
Установки Steam можно выполнить из репозитория ALT Linux, пакет называется i586-steam. Установка проходит успешно, Steam запускается, можно устанавливать и играть в видеоигры.
Для проверки работоспособности была произведена установка нескольких игр: как нативных для Linux, так и нескольких тайтлов для запуска через Proton. С нативными играми проблем не возникло, все запускается и работает.
А с запуском игр через Proton не все так однозначно, из 3-х установленных игр заработала только одна:
GunMetal — не запустилась,
Desert Law — не запустилась,
ExMachina — запустилась.
Однако стоит признать, что подобные результаты трудно интерпретировать. Возможно проблема в версиях каких-либо библиотек в поставке ALT Linux (что вряд ли) или в работе видеодрайвера на встроенной видеокарте AMD Vega 3, или в выборе игр — они довольно старые, но тут ничего не поделать: моя Steam-библиотека состоит в основном из таких.
Нативные игры из библиотеки GOG тоже работают, хотя некоторые и не без «особенностей», так, например, в Caravan не работает кнопка выхода.
WINE и игры
В репозиториях ALT Linux есть пакеты для 32-х и 64-х битной версии WINE, что очень удобно, так как мне приходилось испытывать проблемы с запуском 32-х битных программ на 64-х битном wine. Для проверки будем использовать 32-х битную версию, пакет называется i586-wine. Никаких дополнительных настроек WINE не производилось, winetricks не использовался, как и WINE_PREFIX. В качестве теста с помощью WINE будем запускать игры:
Мне это интересно, и я могу интерпретировать результат,
Я давно пользуюсь СПО как для работы, так и для дома, и мне не приходит в голову ни одна программа для Windows-функциональности, которой мне не хватает в Linux, и результаты работы которой под WINE я бы смог оценить. Конечно, можно было бы попробовать запустить «КОМПАС 3D» или «Adobe Photoshop» но я не умею ими пользоваться и способен оценить лишь факт: запустилась или нет.
На удивление, WINE работает весьма неплохо, без каких-либо проблем удалось запустить:
Celestian: Tales of old North,
Heroes of Might and Magic III: Horn of the Abyss,
Space Hack (Меркурий 8),
Rage of Mages (Аллоды).
В целом все работает неплохо, но не без проблем. Serious Sam: First Encounter — при использовании в качестве рендера OpenGL игра «тормозит» и изобилует графическими артефактами. Аллоды подтормаживают не масштабируются на весь экран, игра отрисовывается в небольшой области в центре.
DevOps особенности
Так как мой основной род деятельности связан с DevOps, меня интересовала возможность использования ALT Linux в качестве рабочего дистрибутива, для чего я проверил возможность установки и работоспособность нескольких приложений, которыми пользуюсь в процессе выполнения рабочих обязанностей:
minikube — работает, установил по инструкции с сайта, выполнил установку Grafana через Helm, все прошло штатно,
docker и docker‑compose — работают, устанавливал из репозиториев ALT,
virtualbox — работает, устанавливал из репозиториев ALT, запустил виртуальную машину с Ubuntu, проверил работу сети в режиме «Сетевой мост», проблем не обнаружил,
ansible — работает, устанавливал из репозиториев ALT.
В дополнение приведу версии некоторых пакетов:
docker 20.10.21
Go 1.18.10
python 3.9.6
gcc version 10.3.1
openssl-1.1.1
openssh-server-7.9
glibc-2.32
ansible-2.9.27
kernel 5.10
В качестве штатных средств администрирования ОС предлагается использовать Alterator и различные модули к нему. Согласно Alterator FAQ, Alterator — это платформа для построения решений на базе ALT Linux. На данной платформе построены инсталлятор системы и штатный её конфигуратор. Судя по определению, авторы позиционируют Alterator как инструмент\набор библиотек, хотя с точки зрения конечного пользователя он больше похож на графический конфигуратор Linux. На базе Alterator построен ЦУС (Центр Управления Системой) — интерфейс для выполнения наиболее востребованных административных задач: добавление и удаление пользователей, настройка сетевых подключений, просмотр информации о состоянии системы. Интерфейс ЦУС имеет два исполнения: в виде desktop-приложения и в виде web-приложения. Если поставляемых с дистрибутивом модулей ЦУС недостаточно, то можно доустановить дополнительные компоненты из репозитория. Пакеты с компонентами ЦУС имеют названия вида alterator‑<ПО> и позволяют расширить функциональность ЦУС путем добавления возможности выполнить настройку того или иного ПО через UI. Из недостатков стоит выделить отсутствие возможности управлять несколькими серверами с одного ЦУС. Возможности модулей часто довольно ограничены, для части задач и чтобы «быстро настроить» без погружения вполне годится. Также многие модули для Alterator устарели и не работают или не имеют Web-интерфейса, например мне не удалось воспользоваться модулем alterator‑packages, alterator‑console, да и в общем набор доступных модулей не впечатляет.
Отсутствие возможности управлять несколькими серверами из единой точки, скромный набор модулей делают Alterator малополезным инструментом: опытным админам он попросту не нужен, а начинающим его возможностей будет явно недостаточно. Я удивлен, что к нашему времени с распространением методологий DevOps и инструментов управления конфигурацией Alterator не смог превратиться в этакий графический ansible или аналог оснасток для консоли управления в Windows (mmc). Для дополнительного «мониторинга и управления серверами» предлагается использовать Cockpit. Судя по документации, часть функционала Cockpit пересекается с функционалом ЦУС, интересно, что две системы не мешают друг другу. По сравнению с Alterator интерфейс Cockpit выглядит посовременней, из приятных особенностей — работает WEB терминал и есть графики потребления ресурсов с небольшой историей, больше интересных модулей, например для управления контейнерами и виртуальными машинами, можно подключаться к другим серверам. Недостатки все те же: Cockpit не предназначен для управления конфигурацией и не позволяет управлять конфигурацией множества серверов из единой точки. Такие инструменты, как ЦУС и Cockpit, — это здорово, и они могут существенно облегчить труд как начинающего, так и опытного системного администратора, но, на мой взгляд, для полноты картины не хватает инструмента управления конфигурацией подобного Ansible или Puppet. В теории каждый админ может дописать недостающие компоненты для ЦУС используя средства, предоставляемые Alterator, но есть несколько проблем:
Alterator использует не самый распространенный язык — Scheme,
Отсутствует репозиторий модулей, наподобие Ansible Galaxy или Puppet Forge. И если Scheme, на мой взгляд, не является большой проблемой, так как, для того чтобы начать работать с Ansible или Puppet, все равно нужно изучить соответствующий DSL, то отсутствие способа легко делиться наработками сильно влияет на популяризацию и потенциал продукта к развитию. На форумах ALT Linux даже нет отдельной темы для обсуждения решений на базе Alterator.
Итог
Если работать с ALT (Simply) Linux как с рабочей станции, то все хорошо. Некоторые трудности начнутся при попытках использовать Ansible-роли и Puppet-модули так как в репозиториях у обоих не указана поддержка ALT Linux. Администраторам, поддерживающим большое кол-во установок ALT Linux, придется потрудиться, добавляя поддержку ALT'а в роли.