- Microsoft создал свой Linux!?
- Мир перевернулся. Microsoft выпустила собственный Linux
- Linux от Microsoft
- Что входит в дистрибутив
- Инсталлятор в комплекте
- Безопасная система
- Компания Microsoft создала дистрибутив Linux
- Вот это поворот: Microsoft выпустила дистрибутив Linux
- Мир никогда не станет прежним
- Особенности CBL-Mariner 1.0
- Установка Linux от Microsoft
Microsoft создал свой Linux!?
Microsoft выпустил продукт на базе их собственного ядра Linux — Azure Sphere. И, хотя это не MS Linux и не Windows Linux, новость, согласитесь, стоит отметить.
Azure Sphere — это программно-аппаратный стек, разработанный для обеспечения безопасности устройств из мира «интернета вещей» (IoT). Он включает микроконтроллеры, службу защиты «Azure Sphere Security Service» и, самое интересное, Azure Sphere OS — операционную систему на базе ядра Linux.
И, видимо, в этом нет проблемы! Президент Microsoft Брэд Смит, представляя Azure Sphere заявил: «После 43 лет, мы в первый раз анонсируем и собираемся распространять наше собственное ядро Линукс.»
На самом деле, это не первый случай распространения UNIX Майкрософтом, пальма первенства принадлежит Microsoft Xenix из 1980 года.
В 2015 Microsoft представил Azure Cloud Switch, операционную систему на базе Linux для работы на сетевых коммутаторах и дата-центрах. Но это была внутренняя программа, которая никогда не выпускалась в качестве самостоятельного ПО.
В 2016 Microsoft выпустил SONiC — Software for Open Networking, коллекцию программ для программно-определяемых сетей (SDN). SONiC требовал Линукс для работы, Microsoft не создавал его самостоятельно, а использовал Debian.
Но на этот раз все пошло по другому сценарию. Azure Sphere базируется на своём собственном ядре, а Microsoft по-настоящему стал одним из разработчиков операционных систем на базе Линукс. Кто бы мог предположить такое несколько лет назад?
Для более четкого представления о том, что такое Microsoft Azure Sphere, рекомендуем посмотреть фирменный ролик:
Мир перевернулся. Microsoft выпустила собственный Linux
Microsoft выпустила Linux-дистрибутив CBL-Mariner 1.0 собственной разработки. Это его первая стабильная сборка, и она находится в свободном доступе. Microsoft предлагает пользователям собирать на его основе собственные образы, дополняя их различными пакетами, которых сейчас доступно около 3000.
Linux от Microsoft
Корпорация Microsoft выпустила первую стабильную сборку собственного Linux-дистрибутива CBL-Mariner. Его премьера состоялась спустя меньше месяца с момента анонса системы Windows 11.
CBL-Mariner 1.0 (Common Base Linux) представляет собой базовую платформу для развертывания Linux-окружений в различных онлайн-сервисах, включая облачные. Microsoft использует его в нескольких своих проектах, включая облачный сервис Azure – второй в мире по популярности после Amazon Web Services (19-процентная доля у Azure и 32% у AWS, по данным Statista.com за I квартал 2021 г.).
Также CBL-Mariner применяется в составе Linux-подсистемы в Windows (Windows Subsystem for Linux 2.0, WSL2). Как сообщал CNews, он отвечает, в частности, за запуск приложений для Linux с графическим интерфейсом.
Документация и все необходимые файлы для CBL-Mariner 1.0 находятся в свободном доступе. Microsoft разместила их на сервисе GitHub, которым владеет с 2018 г. Проект распространяется под несколькими open source-лицензиями, включая GNU GPL и MIT.
Что входит в дистрибутив
Microsoft не распространяет CBL-Mariner 1.0 как отдельный готовый образ. Пользователю придется самому собрать собственный образ с нужной ему начинкой. Софтверный гигант опубликовал на GitHub подробную инструкцию по такой сборке, но пока только для Ubuntu 18.04.
Сам по себе CBL-Mariner 1.0 – это набор базовых RPM-пакетов, которые будут служить основой для будущего образа. Пользователь может сам выбирать, что войдет в итоговый состав образа, и для этого он может использовать специализированный репозиторий. Его каталог размещен на сайте Microsoft и насчитывает приблизительно 3000 пакетов.
Основной набор пакетов в составе CBL-Mariner 1.0 остается неизменным. Microsoft пошла на это ограничение для упрощения сопровождения и разработки апдейтов.
При сборке пользователь может генерировать как полноценные монолитные системные образы, так и отдельные RPM-пакеты на базе SPEC-файлов и исходных текстов. В связи с этим Microsoft реализовала и два варианта обновления CBL-Mariner 1.0 – апдейт отдельных пакетов или образа в целом.
Управление загрузкой системы и различными сервисами в CBL-Mariner 1.0 осуществляется через системный менеджер systemd. За управление пакетами отвечают пакетные менеджеры RPM и DNF.
Инсталлятор в комплекте
Для упрощения процесса установки CBL-Mariner 1.0 Microsoft добавила в его состав инсталлятор. Обычные пользователи могут использовать его в графическом режиме с отображением интерфейса, продвинутым же может пригодиться текстовый режим.
Инсталлятор может генерировать VHD- и ISO-образы и предоставляет два варианта установки на выбор. Первый – это Core, и при его выборе будут установлены только базовые сервисы и программы. Второй позволяет установить полный набор пакетов – он называется Full.
В дополнение к этому непосредственно в меню инсталлятора можно выбрать раздел накопителя, на который будет установлен дистрибутив.
Здесь же можно заранее создать пользователя и выполнять ряд других базовых настроек.
Безопасная система
Согласно предоставленному Microsoft описанию, при разработке CBL-Mariner 1.0 компания уделяла много внимания вопросам безопасности. Например, в системе есть функции шифрования разделов и фильтрации системных вызовов за счет механизма seccomp, плюс он умеет проверять подлинность пакетов по цифровой подписи.
В CBL-Mariner 1.0 по умолчанию активна защита от переполнения буфера и стека, а области памяти, в которых хранятся части ядра и модулей, доступны исключительно для чтения. Исполнение любого кода в них запрещено.
Также в CBL-Mariner 1.0 есть и ряд опциональных функций безопасности. Например, пользователь может запретить подгрузку модулей ядра после инициализации всей системы.
Компания Microsoft создала дистрибутив Linux
Редмонд рассказал о создании продукта с названием Azure Cloud Switch или ACS. Под непримечательным названием скрывается кроссплатформенная модульная операционная система для дата-центров. Это дистрибутив Linux для использования в свитчах.
Пост на сайте Azure написан языком, не совсем непонятным для обычных людей. Камала Субраманьян, главный архитектор вычислительной сети Azure, пишет, что в Microsoft верят в наличие на рынке большого количества аппаратных платформ сетевых коммутаторов, и что здоровая конкуренция между производителями ведёт к инновациям, увеличению скорости и удешевлению. Видимо, за этим корпоративным даблспиком скрывается предупреждение партнёрам: мы не собираемся с вами воевать.
Microsoft хочет построить программно-конфигурируемую сеть, поскольку адаптировать «зоопарк» оборудования разных производителей с различными операционками сложно. Сложно было и найти подходящее программное обеспечение для создания подобного решения — такое, чтобы оно выполняло поставленные задачи и позволяло выполнять простое сопровождение и доработку.
Операционка ACS использует Switch Abstraction Inteface (SAI), продукт проекта OpenCompute, с помощью API которого можно программировать интегральные схемы специального назначения (ASIC) в сетевых устройствах.
Далее запись подробно рассказывает о функциях нового продукта. Но не объясняется главное: почему в Microsoft пошли по пути создания дистрибутива Linux? Вероятно, сказалась сложность экосистемы сетевых коммутаторов. ACS работает на свитчах четырёх производителей ASIC (Mellanox, Broadcom, Cavium и Barefoot), на шести реализацях SAI (Broadcom, Dell, Mellanox, Cavium, Barefoot и Metaswitch) и на трёх стеках приложений (Microsoft, Dell и Metaswitch). Пост заканчивается словами уверенности в том, что подход по отделению софта приложений свитчей от «железной» составляющей станет трендом в сетевой индустрии.
Созданный дистрибутив Linux будет использоваться только внутри компании, его не будут продавать. Но любопытен сам факт того, что в Microsoft решили не браться за какой-то специальный вариант Windows, а доверить критически важные системы варианту свободной операционной системы. Это уже не первый шаг в отношении открытых операционок от Microsoft пост-балмеровской эпохи Сатья Наделлы. В прошлом году глава компании буквально заявил, что Microsoft любит Linux, и подкрепил сказанное поддержкой CoreOS, операционной системы на базе ядра Linux для создания кластеров.
Вот это поворот: Microsoft выпустила дистрибутив Linux
Споры между сторонниками Windows и Linux не прекратятся, как и между фанатами различных сборок открытой ОС. Но пока мир замер в ожидании новой Windows 11, Microsoft решила преподнести пользователям большой сюрприз – и представила собственный дистрибутив Linux, CBL-Mariner 1.0.
Мир никогда не станет прежним
CBL-Mariner 1.0 (Common Base Linux) – платформа, на основе которой можно развернуть Linux-окружения в традиционных онлайн-сервисах и в облаке. Инженеры Microsoft ранее использовали дистрибутив во внутренних проектах, в том числе с облачной платформой Azure, основным конкурентом Amazon Web Services. Кроме того, CBL-Mariner является частью WSL2 (подсистемы Windows Subsystem for Linux 2.0 внутри самой популярной ОС на планете) и позволяет запускать Linux-приложения с графическим интерфейсом. Исходный код CBL-Mariner 1.0 уже есть в открытом доступе – на GitHub. Он распространяется под GNU GPL, MIT и другими открытыми лицензиями.
Особенности CBL-Mariner 1.0
Microsoft не предоставляет готовые образы CBL-Mariner 1.0. Продукт представляет собой набор базовых и около 3 тыс. дополнительных RPM-пакетов в специальном репозитории. На основе кода можно создать собственную сборку операционной системы, добавляя к основному набору пакетов те, что требуются именно вам. Детальная инструкция об этом пока есть только для Ubuntu 18.04, для остальных дистрибутивов придется идти путем проб и ошибок. Есть лишь одно ограничение: изменить основной набор пакетов не получится. Такое правило разработчики ввели, чтобы сопровождать продукт и создавать апдейты было проще. Можно генерировать не только монолитный образ системы, но и отдельные RPM-пакеты на базе исходного кода из репозитория и SPEC-файлов с настройками. Поэтому и обновлять систему предлагается двумя путями: весь образ целиком или каждый конкретный пакет. Для управления загрузкой в CBL-Mariner 1.0 есть системный менеджер systemd. А пакетные менеджеры RPM и DNF позволяют контролировать отдельные пакеты. В Microsoft подчеркнули, что в процессе разработки CBL-Mariner 1.0 особое внимание уделяли безопасности. ОС поддерживает шифрование разделов и использует механизм seccomp для фильтрации системных вызовов, а также может проверить подлинность пакета по цифровой подписи. Области памяти, в которых хранятся фрагменты ядра и модулей, имеют доступ только для чтения – исполнять код здесь не получится. Защита от переполнения стека и буфера активна по умолчанию. Есть и настраиваемые функции: например, можно запретить загружать модули ядра после того, как система завершила инициализацию.
Установка Linux от Microsoft
Готовый инсталлятор входит в комплект CBL-Mariner 1.0. Чтобы установить собственную сборку, можно использовать графический интерфейс, но есть и поддержка консольного режима. В инсталляторе можно подготовить ISO- или VHD-образ. Предлагается два варианта установки: в режиме Core вы получите только ключевые программы и сервисы, в Full – полный набор пакетов. Остальные настройки – стандартные. Например, можно задавать раздел для установки CBL-Mariner 1.0, сразу задать имя пользователя, пароль, название хоста и другие параметры.