Гид по технологиям

Как установить CBL-Mariner в VirtualBox

8 min read Linux Обновлено 12 Dec 2025
Установка CBL‑Mariner в VirtualBox
Установка CBL‑Mariner в VirtualBox

Обложка: установка CBL-Mariner в VirtualBox

Что такое CBL-Mariner

CBL‑Mariner (Common Base Linux Mariner) — это внутренний дистрибутив Linux, разработанный Microsoft для унификации платформенных образов в облачных и edge-решениях. Ключевые особенности:

  • Минималистичность: базовый набор пакетов, рассчитанный на безопасность и предсказуемость.
  • Открытый исходный код: репозиторий на GitHub под свободными лицензиями (GPL, MIT и др.).
  • Фокус на обновлениях и защите: усиление ядра, подписанные обновления, использование компиляторных hardening-флагов.

Определение: CBL-Mariner — лёгкий, минималистичный дистрибутив Linux от Microsoft для внутреннего и облачного применения.

Зачем запускать CBL-Mariner в VirtualBox

  • Проверить поведение дистрибутива без изменения основной ОС.
  • Изучить пакетную базу и систему обновлений Microsoft.
  • Подготовить тестовые образы для CI/CD или edge-устройств.

Важно: официальных ISO-сборок для настольной установки нет — придётся собрать ISO из исходников.

Требования и подготовка

Минимальные рекомендации для VM:

  • ОЗУ: 1 ГБ (рекомендуется 2–4 ГБ для комфортной работы).
  • Диск: 10 ГБ минимум для VDI; больше — если планируете ставить дополнительные пакеты.
  • VirtualBox установлен на хосте (Windows/Mac/Linux).
  • В хост-системе доступен интернет для загрузки исходников и зависимостей.

Необходимые инструменты на Debian/Ubuntu-подобных системах:

  • git, make, tar, wget, curl, rpm, qemu-utils, golang-go, genisoimage, python2, bison, gawk

Короткая проверка: наличие места на диске и прав sudo/администратора.

Подход: собрать ISO из исходников

Основной рабочий сценарий — клонировать репозиторий Microsoft CBL-Mariner, установить зависимости, собрать инструменты и пакеты, затем создать ISO-образ и загрузить его в VirtualBox.

Когда этот способ не подходит:

  • У вас нет возможности установить зависимости или запускать make на хосте. Тогда рассмотрите контейнерные образы (если доступны) или сборку на другом хосте.
  • Нужна GUI-среда из коробки — придётся устанавливать дополнительные пакеты после установки минимального образа.

Шаги по установке в VirtualBox

Шаг 1 — Установите VirtualBox (если ещё не установлен)

Скачайте и установите Oracle VirtualBox с официального сайта и установите расширения, если используете USB/графику.

Скачать: Oracle VirtualBox

Шаг 2 — Установка зависимостей на Linux-хосте

Убедитесь, что у вас установлены необходимые пакеты. На Debian/Ubuntu выполните (как sudo):

sudo apt-get update
sudo apt-get install -y git make tar wget curl rpm qemu-utils golang-go genisoimage python2 bison gawk

Ожидаемый результат: все пакеты установлены, команда make и git доступны.

Вывод установки (пример):

Вывод установки зависимостей и список установленных пакетов.jpg?q=50&fit=crop&w=825&dpr=1.5)

Важно: на некоторых современных дистрибутивах python2 может быть недоступен по умолчанию — установите пакет python2 или обеспечьте совместимость.

Шаг 3 — Клонирование репозитория

Клонируйте официальный репозиторий CBL-Mariner:

git clone https://github.com/microsoft/CBL-Mariner.git

Пример вывода клонирования:

Процесс клонирования репозитория CBL-Mariner

Шаг 4 — Сборка ISO-образа

Перейдите в каталог toolkit и выполните сборку ISO. Команда ниже собирает ISO без пересборки пакетов (ускоряет процесс), но при необходимости можно пересобрать и пакеты.

cd CBL-Mariner/toolkit
sudo make iso REBUILD_TOOLS=y REBUILD_PACKAGES=n CONFIG_FILE=./imageconfigs/full.json

Эта команда создаст ISO и поместит его в каталог /out/images/full после успешной сборки.

Пример вывода сборки ISO:

Лог сборки образа ISO CBL-Mariner

Если сборка завершилась с ошибками, проверьте лог в выводе make, убедитесь, что все зависимости установлены, и повторите сборку.

Шаг 5 — Создание виртуальной машины в VirtualBox

  1. Откройте VirtualBox и нажмите «Создать» (New).

Главное окно VirtualBox — создание новой VM

  1. Введите имя виртуальной машины, например CBL-Mariner. Тип — Linux, версия — Other Linux (64-bit).

Окно ввода параметров новой виртуальной машины: имя, тип, версия

  1. Выделите память: минимум 1 ГБ; желательно 2–4 ГБ.

Экран выбора объёма оперативной памяти для VM

  1. Создайте виртуальный диск — VDI, Dynamically allocated, размер по умолчанию 10 ГБ (можно увеличить).

Параметры создания виртуального диска VDI

  1. Укажите место сохранения VDI и размер диска (рекомендуется 10 ГБ или больше).

Выбор расположения и размера VDI-файла

Нажмите «Создать».

Шаг 6 — Подключение ISO и запуск VM

  1. Откройте настройки созданной VM, перейдите в Storage → щёлкните по контроллеру оптического диска и присоедините ISO, который вы получили в /out/images/full.

Подключение ISO CBL-Mariner в настройках виртуальной машины

  1. Сохраните настройки и нажмите Start.

Шаг 7 — Установка CBL-Mariner внутри VM

При старте выберите Graphical Installer.

Экран выбора графического установщика в загрузочном меню

Варианты установки:

  • CBL-Mariner Full — полный набор пакетов, ближе к полноценной машине.
  • Core installation — минимальная система без пакетов.

Выберите CBL-Mariner Full для первого знакомства.

Выбор типа установки: Full или Core

Примите лицензионные условия и настройте разметку диска (по умолчанию можно оставить схему, предложенную установщиком).

Окно принятия лицензионных условий

Окно разметки диска при установке

Укажите имя хоста, пользователя и пароль. Дождитесь завершения установки и перезагрузите виртуальную машину. Войдите под указанным пользователем.

Экран входа: ввод имени пользователя и пароля

Поздравляем — CBL-Mariner установлен. По умолчанию вы попадёте в консоль (CLI).

Первичные шаги после установки

  • Обновление системы:
sudo tdnf makecache
sudo tdnf update -y
  • Установите дополнительные пакеты (если нужны):
sudo tdnf install -y bash nano openssh-server sudo
  • Настройте публичные ключи для SSH и включите службу sshd при необходимости.

Тесты и критерии приёмки

Критерии приёмки установки VM:

  • VM успешно загружается с созданного ISO и завершает установку без критических ошибок.
  • После перезагрузки доступен указанный пользователь и возможен вход в систему.
  • Команды tdnf выполняются и обновления скачиваются.
  • Минимальный набор сетевых инструментов (ping, curl) работает.

Тестовые шаги:

  1. Проверить загрузку ISO в VirtualBox и старт VM.
  2. Пройти установку до логина.
  3. Выполнить sudo tdnf update и проверить отсутствие ошибок.
  4. Установить и запустить sshd (если нужно подключение извне).

Отладка и распространённые проблемы

  • Ошибка сборки ISO: проверить логи make, убедиться в наличии python2 и go. Иногда помогает очистка каталога toolkit/out и повторная сборка.
  • VM не видит ISO: убедитесь, что в настройках VM выбран правильный оптический привод и ISO-файл доступен хосту.
  • Низкий объём памяти: при старте инсталлятора добавьте больше ОЗУ (2 ГБ+).
  • Установка останавливается на разделе диска: попробуйте ручную разметку или создайте VDI большего размера.

Инструмент для диагностики: просмотрите /var/log/installer и системные журналы через journalctl после загрузки.

Безопасность и hardening

Рекомендации после установки:

  • Отключите ненужные сервисы.
  • Включите автоматические обновления пакетов (если это применимо в вашей среде).
  • Проверьте политики безопасности ядра и используемые компиляторные флаги.
  • Настройте брандмауэр и ограничьте SSH доступ по IP / ключам.

Альтернативы и когда не стоит собирать ISO

Альтернативные подходы:

  • WSL2 (Windows) — если цель — запуск Linux-приложений в Windows, WSL2 удобнее, но это не CBL-Mariner.
  • Контейнеризация (Docker/Podman) — если нужно тестировать отдельные пакеты без полной ОС.
  • Использовать готовые образы (если появятся официальные) — проще и быстрее.

Когда не собирать ISO:

  • Если вам нужна GUI-среда «из коробки» или много предустановленных приложений.
  • Если у вас нет прав или ресурсов для сборки зависимостей.

Ментальные модели и чеклист для ролей

Чеклист для администратора перед сборкой ISO:

  • Доступ к хост-машине с правами sudo
  • Достаточно памяти и места на диске
  • Установлены git, make, go и прочие зависимости
  • VirtualBox установлен и протестирован

Роль разработчика (быстрый список):

  • Клонировать репозиторий
  • Собрать образ с REBUILD_PACKAGES=n для быстрой проверки
  • Запустить VM и проверить базовую функциональность

Роль оператора (быстрый список):

  • Интегрировать сборочный сценарий в CI
  • Проверять LVL безопасности и подписи обновлений
  • Автоматизировать деплой образов на таргетные хосты

Мини‑методология: как организовать повторяемую сборку

  1. Автоматизировать установку зависимостей в контейнере CI (например, Ubuntu 20.04 LTS).
  2. Кэшировать /out/images между сборками.
  3. Прописать версионирование конфигов imageconfigs (git tags).
  4. Параллелить сборку пакетов, где это безопасно.

Сравнение: CBL-Mariner vs обычные дистрибутивы (кратко)

  • Debian/Ubuntu: богата экосистема пакетов, удобна для рабочего стола. Не столь минималистична.
  • Alpine: минимализм и маленький размер образа, используется в контейнерах. Отличается системой управления пакетами.
  • CBL-Mariner: ориентирована на внутренние и облачные сценарии Microsoft, упор на безопасность и подписывание обновлений.

Совместимость и миграция

  • Пакеты в CBL-Mariner собираются в rpm-формате. Для миграции приложений проверьте зависимости и наличие библиотек.
  • Для интеграции с инфраструктурой Azure — проверяйте совместимость агента/инструментов Microsoft.

Тест-кейсы приёмки

  1. ISO монтируется в VirtualBox и инсталлятор запускается.
  2. Установка до логина проходит без ошибок.
  3. Система обновляется через tdnf.
  4. Служба SSH (если установлена) принимает ключи и позволяет подключиться.

Резервное копирование и откат

  • Перед внесением изменений в систему снимите снапшот VirtualBox.
  • Если сборка ISO дала некорректный образ — удалите /out и пересоберите образ с REBUILD_TOOLS=y.

Короткий факт-бокс

  • Формат пакетов: RPM
  • Менеджер пакетов: tdnf (в опытах близок к dnf)
  • Рекомендованный диск VM: ≥10 ГБ
  • Рекомендованная ОЗУ: ≥1 ГБ (рекомендуется 2–4 ГБ)

Сводка

CBL‑Mariner — интересный минималистичный дистрибутив от Microsoft, который имеет смысл тестировать в виртуальной среде. Сборка ISO из исходников требует установки зависимостей и корректной работы make‑сценариев, но в результате вы получите лёгкий, безопасный образ для облачных и тестовых задач.

Важно: если вам нужен быстрый путь — рассмотрите альтернативы (WSL, готовые образы или контейнеры). Для production‑деплоя исследуйте политику обновлений и подписи пакетов.

Краткие рекомендации:

  • Для тестирования используйте VirtualBox с 2 ГБ ОЗУ и 10 ГБ диска.
  • Автоматизируйте сборку ISO в CI для воспроизводимости.
  • Делайте снапшоты VM перед экспериментами.

Пояснение: приведённая инструкция ориентирована на энтузиастов и инженеров, желающих протестировать CBL‑Mariner. Для крупных развёртываний потребуется дополнительная проверка безопасности и совместимости.

Важно: перед каждой сборкой проверяйте актуальность репозитория и конфигурационных файлов imageconfigs.

Поделиться: X/Twitter Facebook LinkedIn Telegram
Автор
Редакция

Похожие материалы

Синхронизировать напоминания Cortana с iPhone и Android
Руководство

Синхронизировать напоминания Cortana с iPhone и Android

Включение и защита Удалённого рабочего стола Windows
Безопасность

Включение и защита Удалённого рабочего стола Windows

Смотреть только пилот: оправдано ли это?
Телевидение

Смотреть только пилот: оправдано ли это?

Как перезапустить пакеты на Synology NAS
Synology NAS

Как перезапустить пакеты на Synology NAS

Почему вас могут уволить и как этого избежать
Карьера

Почему вас могут уволить и как этого избежать

Вернуть старую кнопку поиска в Windows 11
Windows

Вернуть старую кнопку поиска в Windows 11