A Look at Upcoming Innovations in Electric and Autonomous Vehicles Apple запустила Linux прямо в macOS. Разработчики давно ждали

Apple запустила Linux прямо в macOS. Разработчики давно ждали

Apple запустила Linux прямо в macOS. Разработчики давно ждали

Купертино представила container machines - легковесные виртуальные Linux-машины для разработчиков на Mac

Apple показала на WWDC инструмент, который давно напрашивался: container machines - постоянные виртуальные машины с Linux, работающие прямо внутри macOS. Это ответ на классическую боль разработчика: пишешь на Mac, а деплоишь в Linux. Разрыв между средами порождает несовместимости, неожиданные баги и лишние часы отладки.

Что такое container machines и откуда они взялись

Новинка выросла из проекта Container, который Apple впервые продемонстрировала год назад. Теперь вышла версия 1.0, и вместе с ней появился ключевой механизм - запуск полноценных Linux-окружений внутри лёгких виртуальных машин. Изоляция от основной системы при этом жёстче, чем в обычных Docker-контейнерах. Тунис - Нидерланды прямая трансляция

Проект написан на Swift, код открыт на GitHub под лицензией Apache 2.0. В основе - пакет containerization, тоже от Apple. Поддерживается стандарт Open Container Initiative, то есть обычные контейнерные образы тоже работают. Пока инструмент живёт на GitHub, а не встроен в систему: это скорее утилита для разработчика, чем системная функция. Требует macOS 26.

Как это работает на практике

Команда container machine run открывает терминал внутри стандартной Linux-среды. Можно выполнить и разовую команду - она отработает в Linux, а пользователь останется в оболочке macOS. Домашняя папка Mac подключается по умолчанию с правами чтения и записи: файлы и проекты доступны сразу с обеих сторон без лишних настроек.

На практике удалось поднять Ubuntu 24.04 со Swift, подключиться к машине из VS Code и собрать проект в Linux. С .NET отладка сработала полностью. Со Swift возникли шероховатости - точки останова не срабатывали. Мелочь, но показательная: инструмент сырой, хотя и перспективный.

Ограничения, которые стоит знать

Без минусов не обошлось. Несколько ключевых моментов, которые важно учитывать:

  • Создание машины через container machine create требует образа с /sbin/init - многие контейнерные образы его не содержат, придётся собирать свой через Dockerfile.
  • Память по умолчанию - половина RAM компьютера. Занятый объём не возвращается macOS, пока машина работает. Освободить можно только перезапуском.
  • Домашняя папка Mac открыта для Linux-среды: вредоносный пакет теоретически доберётся до ключей в .ssh. Отключается через параметр --home-mount.
  • Графические Linux-приложения не поддерживаются - в отличие от WSL в Windows. Есть обходной путь через XQuartz, но это не полноценная встроенная поддержка.

Конкуренты и шансы на успех

На Mac уже работают Docker, Podman, Colima, OrbStack, UTM и ещё добрый десяток инструментов для Linux-контейнеров и виртуальных машин. Apple предстоит объяснить разработчикам, зачем переходить на её решение. Первые впечатления неплохие: система запускается быстро, потребляет ресурсы экономно. Но документация, поведение с памятью и полноценная поддержка отладчиков - всё это ещё требует доработки. Рынок инструментов разработки не прощает сырых релизов.