Unity OS — импортозамещение с восточным колоритом
В 2019 году правительство поручило государственным учреждениям в течение трех лет полностью избавиться от зарубежного оборудования и программного обеспечения, включая операционные системы производства Microsoft, и перейти на отечественное ПО. Да, чуть не забыл: речь идет, конечно же, о Китае. Разработкой ОС, которая должна заменить на китайских госпредприятиях Windows, занялась компания из Ухани UnionTech (统信软件), а сама операционка получила название Unity Operating System или UOS (统一操作系统). В основе UOS лежит, конечно же, Linux, а дистрибутив доступен для загрузки с официального сайта разработчика. Я не смог побороть любопытство, и решил посмотреть на эту китайскую платформу поближе — наш посконный Astra Linux я уже имел возможность пощупать руками, и теперь очень хотелось узнать, как аналогичную по своей сути задачу решили наши восточные соседи.
Что такое UOS?
Программу под названием »3–5–2», в рамках которой UnionTech разрабатывала UOS, Коммунистическая партия Китая запустила в 2019-м. Эти цифры означают, что переход с импортного «железа» и «софта» на полностью китайские аналоги в госкорпорациях должен был проходить в три этапа: 30% оборудования и программ планировалось импортозаместить к 2020 году, еще 50% — в 2021 году, и последние 20% — к 2022 году. Согласно аналитическим выкладкам, всего замене подлежало от 20 до 30 миллионов единиц иностранного оборудования, и если верить китайским отчетам, поставленная цель была в конечном итоге достигнута.
Что касается «железа», то львиная доля мирового производства электроники и без того сосредоточена в Китае. Основная проблема заключалась в том, что выпускаемые китайской промышленностью процессоры имеют западное происхождение и изготавливаются по зарубежной лицензии, то есть, никак не могут считаться по-настоящему «суверенными». Однако в Китае существует шанхайская компания Zhaoxin, основанная в 2013 году, как совместное предприятие с VIA Technologies. Сейчас эта фирма производит совместимые с архитектурой x86 процессоры для настольных компьютеров и серверов. Фокус состоит в том, что это не лицензионное производство: все права на выпускаемые компанией процессоры принадлежат китайцам. Соответственно, чипы Zhaoxin и выбрали в качестве той аппаратной платформы, вокруг которой собираются полностью отечественные компьютеры для китайских госпредприятий. Еще одна альтернатива — процессоры LoongArch (Godson) с архитектурой MIPS64 (ISA), которые производит другая китайская компания — Loongson. Разработкой этих процессоров занимался Институт вычислительных технологий (ICT) Китайской академии наук (CAS), поэтому для них китайцам тоже не нужно покупать зарубежную лицензию.
Однако для таких персоналок нужна операционная система, способная стабильно работать на процессорах Zhaoxin и LoongArch, которая может полностью заменить собой Microsoft Windows. Этой системой стала Unity Operating System от UnionTech.
UOS базируется на дистрибутиве Deepin (Hiweed Linux), а тот, в свою очередь, основан на Debian. Как и в Deepin, в UOS используется оригинальная среда рабочего стола DDE, построенная на Qt.
Дочка UnionTech, компания Deepin Technology, занимается разработкой Deepin с 2004 года, а в 2015-м она присоединилась к Linux Foundation. В 2019-м Huawei выпускала ноутбуки с предустановленным Deepin Linux, а оконный менеджер DDE присутствует сразу в нескольких Linux-репозиториях, благодаря чему система обрела некоторую известность даже за пределами Китая. Так что у UOS имеется богатая родословная, и в целом операционная система возникла не на пустом месте.
UnionTech разрабатывает три версии UOS: «настольную» Community Edition, которая и доступна для свободного скачивания, версию для предприятий и серверную версию. Первую бету представили еще в 2019 году, а стабильный релиз вышел 14 января 2020 года.
Интерфейс
Поскольку и UOS, и Deepin используют в качестве оконной среды DDE, внешне они практически идентичны. Основная задача Deepin Desktop Environment — сделать интерфейс Linux максимально похожим на привычную многим пользователям Windows, и с этой задачей китайская разработка в целом справляется. Это было одним из существенных требований утвержденной Компартией Китая программы по «суверенизации» ПО, с очевидной целью снизить накладные расходы на переучивание пользователей, привыкших к другим ОС. В принципе, для того чтобы потрогать эту оконную среду руками, совершенно не обязательно качать UOS или Deepin — DDE можно водрузить практически на любой Linux, включая, например, Arch.
Набор приложений, доступных пользователю UOS «из коробки», варьируется в зависимости от версии системы. По умолчанию это текстовый редактор, редактор таблиц и презентаций на основе WPS Office, программа для создания заметок (поддерживающая аудиоформат), средства работы с файлами и архивами, центр обновлений, терминал, видеопроигрыватель, аудиоплеер, программа для просмотра и редактирования изображений, браузер, почтовый клиент, и конечно же, WeChat, куда в Китае без него? Есть Календарь, показывающий все китайские национальные праздники. Для программистов имеется встроенная поддержка Python и простенький редактор кода.
Программы по умолчанию устанавливаются из магазина приложений Linglong, который идейно слизан с App Store от Apple — тут представлен каталог программ по категориям, есть пользовательские рейтинги, отзывы, имеется встроенная поисковая система. В магазине представлен как бесплатный, так и платный контент. Для того чтобы программа попала в магазин приложений Linglong, ее создатели должны зарегистрироваться в качестве «частного разработчика» или «корпоративного разработчика» и получить специальный сертификат: на его основе генерируется цифровая подпись, которой снабжаются приложения. Затем программа загружается в магазин и проходит проверку со стороны UnionTech, прежде чем станет доступна пользователям. Все как у взрослых. По умолчанию пользователь может устанавливать только программы из магазина приложений и только с валидной цифровой подписью, но у администратора ОС есть возможность разрешить установку софта из внешних репозиториев с использованием так называемого «режима разработчика» (по умолчанию в UOS отключен пользователь root и не работает sudo).
Встроенная в UOS справочная система — интерактивна и основана на специальном чат-боте с искусственным интеллектом, но понимает этот чат-бот только китайский язык. Помимо справочной системы в UOS имеется так называемый «Голосовой интеллектуальный помощник» — это программа, поддерживающая голосовой и текстовый ввод на китайском. Пользователи могут отдавать голосовые команды для открытия программ, написания электронных писем, поиска информации, перевода на английский язык, проверки погоды, изменения настроек системы и т. д. Создавая это приложение, китайские разработчики явно вдохновлялись подсистемой распознования голоса из macOS.
Запускается UOS примерно за 10–15 секунд (на экране в процессе загрузки отображается мерцающий логотип), а из спящего режима система выходит за 2–3 секунды. Вход в систему осуществляется по паролю. При этом можно установить разные обои для экрана блокировки и для Рабочего стола. Если перед завершением сеанса или переходом компьютара в спящий режим в музыкальном проигрывателе был запущен какой-либо трек, кнопки управления воспроизведением отобразятся прямо на экране блокировки — как в iOS или в Android.
Компоновка Рабочего стола полностью копирует Windows 10/11 (можно даже выбрать расположение значков в Панели задач: по центру или по левому краю). Меню «Пуск», иконки, панель быстрого запуска, настройка звука, сети, времени и даты — всё находится в привычных для пользователя Windows местах, при этом панели (включая Главное меню, напоминающее такое же в Windows 10) выполнены в полупрозрачном стиле с эффектом «матового стекла». В правом верхнем углу Главного меню расположена кнопка масштабирования, нажатием на которую можно развернуть меню на весь экран — этот режим предназначен для работы на планшетах.
В отличие от Windows, в Панель задач UOS можно добавлять различные дополнительные элементы: например, вывести сюда кнопку завершения работы или перезагрузки. Окна имеют закругленные углы, как в macOS, и отбрасывают тень. Файловый менеджер похож на обычный Проводник, правда, режимов отображения файлов всего два — список и значки, зато для выбранного файла есть область предварительного просмотра. Проводник поддерживает добавление пользовательских тегов к файлам для быстрого поиска. По нажатию правой копки мыши появляется контекстное меню с привычным набором команд — в общем, пользователи винды будут чувствовать себя в этом интерфейсе очень комфортно.
Из коробки интерфейс поддерживает две темы: светлую и тёмную, при этом можно настроить их автоматическое переключение в зависимости от времени суток. Кроме того, пользователь может включить автоматическую корректировку цветовой температуры в зависимости от местоположения: в помещении или на улице.
UOS может создавать до четырех виртуальных рабочих столов, переключение между которыми осуществляется нажатием сочетания клавиш. Кстати, о горячих клавишах. Помимо стандартного сочетания Alt+Tab в UOS используется еще Alt ~ — по нажатию этих клавиш выполняется переход между окнами одного приложения, например, Проводника или текстового редактора. Довольно удобная фишка. Еще здесь есть Диспетчер задач (тут он называется «Системный монитор») и оснастка «Системные службы» — функции этих инструментов аналогичны таковым в Windows.
Под капотом
UOS базируется на ядре Debian, при этом дистрибутив содержит множество компонентов, разработанных UnionTech и ее дочкой Deepin Technology. Один из них — менеджер пакетов Linglong, который используется и в UOS, и в Deepin. Linglong основан на контейнерной технологии, подобной Flatpak и Snap, и, по заявлениям разработчиков, он призван решить некоторые «наследственные болячки» традиционных пакетов форматов DEB и RPM, в частности, проблему с зависимостями.
Благодаря контейнерному подходу Linglong обеспечивает изолированное выполнение приложений, снижая риск повреждения системы. Программы работают в собственных песочницах, что повышает безопасность: Linglong ограничивает использование root-привилегий в песочнице и предотвращает возможность эскалации привилегий запущенными программами. Система поддерживает совместное использование файлов между контейнерами, что дает возможность сократить занимаемое пространство и избежать избыточности.
Помимо онлайн-установки через репозитории, Linglong поддерживает оффлайн-распространение пакетов в формате UAB (Unified Application Bundle), в системе есть инструментарий для сборки и конвертации пакетов, включая преобразование форматов AppImage в UAB. Поскольку этот пакетный менеджер ориентирован в первую очередь на внутренний рынок, по умолчанию он работает с репозиториями UOS/Deepin и китайскими магазинами приложений Deepin, Tongxin и Linglong. Но этот компонент можно прикрутить и к другим дистрибутивам, таким как openEuler, Ubuntu и Debian.
Очевидно, что операционная система UOS создавалась для государственных нужд, поэтому разработчики ориентировались на требования китайских национальных стандартов информационной безопасности, таких как GB/T 22239 и GB/T 25070. На них же опираются и встроенные инструменты защиты данных. В UOS реализовано управление доступом на основе ролей — система позволяет разграничивать права пользователей в зависимости от их функций, предоставляя доступ к чувствительной информации только авторизованным сотрудникам. Кроме того, система поддерживает несколько встроенных механизмов шифрования данных, которые обеспечивают защиту информации на диске от несанкционированного доступа.
В UOS также имеется несколько инструментов аудита и мониторинга. Они позволяют отслеживать системные события, выявлять подозрительные активности и создавать отчеты для последующего анализа. Поддерживаются профили безопасности, которые дают возможность с минимальными усилиями выбрать конфигурацию системы в соответствии с определенными требованиями — похожий инструмент, к слову, есть и в нашей Astra Linux. Довольно удобная штука: выбрал нужный режим — и система уже настроена в соответствии с требованиями государственного регулятора или внутренними регламентами компании, а все локальные настройки можно потом подкрутить вручную. Все это, понятное дело, адаптировано под китайские стандарты специально для государственных учреждений и организаций, работающих с конфиденциальными данными.
Для защиты сетевого стека в ОС используются встроенный межсетевой экран и инструмент контроля трафика, позволяющий администратору ограничить доступ к определенным сайтам либо по списку, либо с использованием настраиваемых фильтров. Но разобраться в том, как этот инструментарий работает — задача непростая, поскольку компоненты безопасности UOS не локализованы на английский.
И что в итоге?
В общем и целом, Unity Operating System представляет собой оптимизированный под требования китайских госрегуляторов Linux с довольно приятным и удобным Windows-подобным графическим интерфейсом. Разработчики из UnionTech решили не заморачиваться, а просто взяли свой же готовый Deepin и добавили в него фильтр трафика, новый брандмауэр, средства шифрования, мониторинга и профили безопасности, чтобы систему могли использовать китайские госпредприятия, работающие со всевозможными секретными документами. По всей видимости, это позволило им сэкономить ресурсы и сократить время на разработку: Компартия Китая объявила о переходе на суверенный софт в 19-м году, и в том же году UnionTech выпустил бету UOS, что по всем меркам очень быстро.
Если сравнивать UOS с Astra, то обе эти системы создавалась с акцентом на безопасность и максимальную локализацию. Глубоко в недра китайской ОС я не лез, оценивая ее, скорее, с точки зрения простого юзера, но при поверхностном взгляде сложилось впечатление, что наш отечественный дистрибутив с его мандатной моделью контроля доступа (в которой управление доступом реализовано на уровне ядра ОС) и механизмом скрытия данных (Trusted Boot) выглядит чуть более продуманным с позиции безопасности. С другой стороны, UOS декларирует полную аппаратную поддержку китайских процессоров Loongson и Zhaoxin, на которых будет строиться оборудование для госсектора Поднебесной. Astra Linux, насколько я знаю, тоже поддерживает «Эльбрус» в отдельной редакции. Только вот до массового крупнотиражного производства компьютеров на этой аппаратной платформе, судя по всему, пока еще далеко, а китайцам хотя бы уже есть из чего выбирать.
Кроме всего прочего, мне показалось, что UOS более ориентирован на юзабилити и удобство конечного пользователя, тогда как Astra Linux более сфокусирован на обеспечении безопасности, соответствии регламентам и на решении государственных задач, требующих максимального уровня защиты данных. В общем, китайский линукс мне показался более «юзер френдли».
Судя по всему, тенденции «обособления» и «суверинизации» технологических платформ развиваются и в КНР, и в России параллельными курсами, и дистрибутив UOS как раз предназначен для повышения независимости китайских госкомпаний от западных технологий. Мы двигаемся в том же направлении, так что обмен опытом здесь был бы небесполезен. По крайней мере, всегда интересно посмотреть, что там творится у соседей.
Статья поддерживается командой Serverspace.Serverspace — провайдер облачных сервисов, предоставляющий в аренду виртуальные серверы с ОС Linux и Windows в 8 дата-центрах: Россия, Беларусь, Казахстан, Нидерланды, Турция, США, Канада и Бразилия. Для построения ИТ-инфраструктуры провайдер также предлагает: создание сетей, шлюзов, бэкапы, сервисы CDN, DNS, объектное хранилище S3.
IT-инфраструктура | Удвоение первого платежа по коду HABR