Перейти до вмісту

Azure Linux

Матеріал з Вікіпедії — вільної енциклопедії.
Azure Linux
РозробникMicrosoft
Випущено у
виробництво
2020
Репозиторій
ЛіцензіяGNU GPL і MIT
microsoft.github.io/CBL-Mariner/docs/

Azure Linuxдистрибутив Linux, який розробляє компанія Microsoft. До березня 2024 року був відомий як CBL-Mariner (англ. Common Base Linux).[1]

Огляд

[ред. | ред. код]

Дистрибутив Azure Linux надає невеликий типовий набір основних пакунків, які є універсальною основою для створення начинки контейнерів, хост-оточень і сервісів, що запускаються в хмарних інфраструктурах і на edge-пристроях. Більш складні та спеціалізовані рішення можуть створюватись шляхом додавання додаткових пакунків поверх Azure Linux, але основа для всіх подібних систем залишається незмінною, що спрощує супровід та підготовку оновлень.

Azure Linux застосовується як основа міні-дистрибутива WSLg, в якому надаються компоненти графічного стека для організації запуску GUI-застосунків Linux в оточеннях на базі підсистеми WSL2 (Windows Subsystem for Linux). Розширена функціональність WSLg реалізується через включення додаткових пакунків з композитним сервером Weston, XWayland, PulseAudio і FreeRDP.

Для управління сервісами та завантаженням застосовується системний менеджер systemd. Для керування пакунками постачаються пакетні менеджери RPM та DNF. SSH-сервер за замовчуванням не вмикається. Для встановлення дистрибутива надається інсталятор, який може працювати як у текстовому, так і у графічному режимах. В інсталяторі надається можливість встановлення з повним або базовим набором пакунків, пропонується інтерфейс для вибору дискового розділу, вибору імені хоста та створення користувачів.

Система складання Azure Linux дозволяє генерувати як окремі RPM-пакунки на основі SPEC-файлів та сирцевих текстів, так і монолітні системні образи, що формуються за допомогою інструментарію rpm-ostree та оновлюються атомарно без розбивки на окремі пакунки. Відповідно, підтримується дві моделі доставки оновлень: через оновлення окремих пакетів та через перебудову та оновлення всього системного образу. Доступний репозиторій, що включає близько 3000 вже зібраних пакунків RPM, який можна використовувати для компонування власних образів на основі файлу конфігурації.

Базова платформа включає тільки необхідні компоненти і оптимізована для мінімального споживання пам'яті і дискового простору, а також для високої швидкості завантаження. У проекті застосовується підхід "максимальна безпека за умовчанням", який передбачає включення різних додаткових механізмів для підвищення захисту:

  • Фільтрування системних викликів за допомогою механізму seccomp.
  • Шифрування дискових розділів.
  • Верифікація пакунків із цифрового підпису.
  • Рандомізація адресного простору.
  • Захист від атак, пов'язаних із символічними посиланнями, mmap, /dev/mem та /dev/kmem.
  • Режим тільки для читання та заборони виконання коду в областях пам'яті, в яких розміщуються сегменти з даними ядра та модулів.
  • Опція заборони завантаження модулів ядра після ініціалізації системи.
  • Використання IPTABLE для фільтрації мережних пакетів.
  • Включення при складанні режимів захисту від переповнення стека, переповнень буфера та проблем із форматуванням рядків (_FORTIFY_SOURCE, -fstack-protector, -Wformat-security, relro).

Призначення

[ред. | ред. код]

Microsoft позиціонує даний дистрибутив як зручну платформу для запуску Microsoft Azure, зокрема системи керування контейнерами Kubernetes.[2]

Після інсталяції за замовчуванням встановлена ОС містить лише мінімальний набір програм — таких, як coreutils, bash і програми керування контейнерами.

Особливості

[ред. | ред. код]

Дистрибутив використовує формат пакунків RPM (як у Fedora чи Red Hat Enterprise Linux). Менеджером пакунків за замовчуванням є tdnf.[3]

Використання

[ред. | ред. код]

Azure Linux і похідні дистрибутиви використовуються у різних внутрішніх проєктах Microsoft, наприклад у Azure Kubernetes Services (включно з версією HCI, англ. hyper-converged infrastructure).[3]

Див. також

[ред. | ред. код]

Джерела

[ред. | ред. код]
  1. Larabel, Michael (5 березня 2024). Microsoft Rebranding CBL-Mariner Linux Distribution To "Azure Linux". phoronix (англ.).
  2. Foley, Mary Jo (11 листопада 2020). CBL-Mariner: Microsoft's internal Linux distribution for Azure first-party services and edge appliances. ZDNet (англ.).
  3. а б CBL-Mariner Documentation (англ.). Microsoft.