В декабре Microsoft выпустила новую версию дистрибутива Azure Linux 3.0.20241203. Он создан для работы в «облаках», edge-системах и, конечно, сервисах Microsoft. Проект не проприетарный, у него открытый исходный код. Образы новой версии ОС доступны для архитектур aarch64 и x86_64, а размер установочного файла составляет 750 Мб.

Что это за дистрибутив
Основное применение Azure Linux — решение задач, связанных с облачной инфраструктурой и edge-системами. Дистрибутив предназначен для разработки, тестирования и запуска контейнеров, стабильной работы сервисов Microsoft в разнообразных сценариях — от крупных дата-центров до компактных IoT-устройств.

Главная идея авторов проекта — предоставить минималистичную, но универсальную платформу, которая:
- упрощает настройку и обновление за счет базового набора пакетов; 
- служит стабильным фундаментом для сервисов, разворачиваемых в облачных и локальных средах; 
- обеспечивает высокую скорость загрузки, безопасность и минимальное потребление ресурсов. 
Azure Linux впервые увидел свет в июле 2022 года, когда Microsoft официально представила стабильную версию дистрибутива. Корпорации была нужна ОС, заменяющая сторонние решения, такие как CentOS и Ubuntu, в экосистеме облачных сервисов Azure.
С момента выпуска первой версии разработка Azure Linux велась с упором на улучшение совместимости с современными облачными технологиями и безопасность. И у Microsoft все получилось — причем настолько хорошо, что ОС стали использовать и компании, никак не связанные с корпорацией.
Что нового в версии 3.0.20241203
Дистрибутив включает минимальный набор пакетов, необходимых для работы контейнеров, хост-окружений и сервисов. Систему оптимизировали для экономии вычислительных ресурсов, включая ОЗУ и дисковое пространство. Вот основные изменения и дополнения:
- Переход на iptables-nft. Пакетный фильтр iptables теперь обрабатывает команды через механизм nftables. По умолчанию используется пакет iptables-nft, заменяющий iptables-legacy. Это позволяет повысить производительность и унифицировать управление сетевыми правилами. 
- Поддержка больших страниц памяти для Aarch64. В новую версию включен дополнительный пакет ядра kernel-64k для систем Aarch64. Ядро собрано с опцией CONFIG_ARM64_64K_PAGES. Так что можно использовать страницы памяти размером 64 Кб, обеспечивая лучшую производительность в ресурсоемких задачах. 
- Обновления в пакетном менеджере TDNF. В tdnf добавлена поддержка настройки installonlypkgs — можно эффективно управлять установкой пакета kernel-64k и других обновлений. 
- Расширения для systemd-networkd. Добавлена обработка livenet rootfs через Dracut. Это улучшило работу с загрузкой сетевых корневых файловых систем. 
- 
Новые драйверы и инструменты: - добавлен драйвер для сетевых адаптеров Intel Ethernet Connection E800; 
- в обработчик логов Fluent Bit добавлена поддержка языка Lua, это дает больше возможностей для работы с данными. 
 
- Безопасность загрузки. Включена проверка цифровых подписей ядер, загружаемых через механизм kexec. 
- Улучшение работы с контейнерами. Для определения контейнерных сборок вместо проверки файла /.dockerenv теперь используется утилита systemd-detect-virt для более точного определения виртуализации. 
- 
Обновленные пакеты: - ядро Linux 6.6.57; 
- Shim 15.8; 
- SymCrypt 103.6.0; 
- Valkey (форк Redis) 8.0.1; 
- Go 1.23.3; 
- MariaDB 10.11.10; 
- PostgreSQL 16.5. 
 

Azure Linux используется в проекте WSLg — мини-дистрибутиве для запуска графических приложений Linux в среде Windows через WSL2. У него оптимизированное окружение с такими компонентами:
- Weston — композитный сервер Wayland для управления окнами. 
- XWayland — компонент для запуска приложений, которые используют устаревший X11-протокол. 
- PulseAudio — для обработки аудио. 
- FreeRDP — обеспечивает удаленный доступ и взаимодействие между Linux-программами и Windows. 
Все эти компоненты интегрированы в Azure Linux для бесшовной работы графических приложений Linux в Windows с высокой степенью производительности и совместимости.
Стоит отдельно упомянуть систему управления в этой ОС и безопасность. Вот основные характеристики первой:
- менеджмент сервисов: в дистрибутиве применяется systemd; 
- пакетные менеджеры: используются RPM и DNF, но SSH-сервер по умолчанию не активен; 
- инсталлятор: поддерживает текстовый и графический режимы, предоставляет выбор между базовой и полной установкой, настройку дисковых разделов, имени хоста и учетных записей. 
Безопасность обеспечивается такими функциями:
- Seccomp: ограничение системных вызовов; 
- шифрование дисков: сохранность данных при утечке или краже устройств; 
- подписи пакетов: проверка цифровой подписи для предотвращения несанкционированных изменений; 
- рандомизация адресного пространства и защита от атак: символические ссылки, mmap, /dev/mem и /dev/kmem защищены дополнительными мерами; 
- оптимизация компиляции: используются флаги защиты (_FORTIFY_SOURCE, -fstack-protector и другие). 
Как обновиться?
Система сборки Azure Linux может создавать как отдельные RPM-пакеты со SPEC-файлами и исходными текстами, так и монолитные системные образы с применением rpm-ostree. Последние обновляются атомарно.
А еще предусмотрен репозиторий с примерно 3 000 готовых RPM-пакетов. Их можно использовать для создания кастомных образов на основе конфигурационного файла.
Azure Linux продолжает развиваться как универсальная и безопасная платформа для облачных и edge-систем. Благодаря гибкой схеме сборки и компактности Azure Linux остается конкурентоспособным решением для разработчиков и инфраструктурных инженеров. Если у вас есть опыт работы с дистрибутивом, расскажите, как он вам.
 
           
 
igrblkv
Microsoft CBL-Mariner Linux это другое?
Поддались трендам и начали клепать дистрибутивы Линукса?