В декабре 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

Дистрибутив включает минимальный набор пакетов, необходимых для работы контейнеров, хост-окружений и сервисов. Систему оптимизировали для экономии вычислительных ресурсов, включая ОЗУ и дисковое пространство. Вот основные изменения и дополнения:

  1. Переход на iptables-nft. Пакетный фильтр iptables теперь обрабатывает команды через механизм nftables. По умолчанию используется пакет iptables-nft, заменяющий iptables-legacy. Это позволяет повысить производительность и унифицировать управление сетевыми правилами.

  2. Поддержка больших страниц памяти для Aarch64. В новую версию включен дополнительный пакет ядра kernel-64k для систем Aarch64. Ядро собрано с опцией CONFIG_ARM64_64K_PAGES. Так что можно использовать страницы памяти размером 64 Кб, обеспечивая лучшую производительность в ресурсоемких задачах.

  3. Обновления в пакетном менеджере TDNF. В tdnf добавлена поддержка настройки installonlypkgs — можно эффективно управлять установкой пакета kernel-64k и других обновлений.

  4. Расширения для systemd-networkd. Добавлена обработка livenet rootfs через Dracut. Это улучшило работу с загрузкой сетевых корневых файловых систем.

  5. Новые драйверы и инструменты:

    • добавлен драйвер для сетевых адаптеров Intel Ethernet Connection E800;

    • в обработчик логов Fluent Bit добавлена поддержка языка Lua, это дает больше возможностей для работы с данными.

  6. Безопасность загрузки. Включена проверка цифровых подписей ядер, загружаемых через механизм kexec.

  7. Улучшение работы с контейнерами. Для определения контейнерных сборок вместо проверки файла /.dockerenv теперь используется утилита systemd-detect-virt для более точного определения виртуализации.

  8. Обновленные пакеты:

    • ядро 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 остается конкурентоспособным решением для разработчиков и инфраструктурных инженеров. Если у вас есть опыт работы с дистрибутивом, расскажите, как он вам.

Комментарии (1)


  1. igrblkv
    21.12.2024 11:56

    Microsoft CBL-Mariner Linux это другое?
    Поддались трендам и начали клепать дистрибутивы Линукса?