近年来,微软对 Linux 的爱越来越多,这已经不是什么秘密了–看看 Windows Subsystem for Linux 就是一个例子。尽管如此,在得知微软还有自己的 Linux 发行版时,你还是可能会感到惊讶。
微软近日开源了一款内部使用的 Linux 发行版——CBL-Mariner(CBL 即 Common Base Linux)。CBL-Mariner 不是桌面 Linux 而是服务器端 Linux,它被用于微软的云基础设施以及边缘产品和服务。CBL-Mariner 旨在为这些设备和服务提供一个一致的平台,并增强微软在 Linux 更新方面与时俱进的能力。
CBL-Mariner 的设计理念是通过提供一组小的通用核心软件包来满足云和边缘服务的普遍需求,同时允许各团队在通用核心之上根据需要引入额外的软件包。它是轻量级的发行版,只消耗非常小的磁盘和内存资源,可作为容器或容器主机使用。
CBL-Mariner 遵循 “默认安全(secure-by-default)” 原则,操作系统的大多数方面都以安全为重点。它包含加固内核、签名更新、ASLR、基于编译器的加固和防篡改日志等众多功能。所有 CBL-Mariner 安全功能都已罗列在 GitHub Repo 中。
CBL-Mariner 软件包系统是基于 RPM 的,软件包更新系统同时使用 dnf 和 tdnf,后者全称 Tiny DNF,是一个基于 dnf 的软件包管理器,来自 VMware 的 Photon OS。
CBL-Mariner 还支持基于镜像的更新机制,其使用 RPM-OSTree 来实现,rpm-ostree 是一个基于OSTree 的开源工具,用于管理可启动的、不可变的、版本化的文件系统树。rpm-ostree 背后的想法是使用一个客户-服务器架构,以可靠的方式保持 Linux 主机的更新和与最新的软件包同步。
微软表示,开源 CBL-Mariner Linux 发行版是他们对广泛的 Linux 技术不断增加投资的一部分,就如同此前的 SONiC, Azure Sphere OS 和 Windows Subsystem for Linux (WSL) 等项目。此外这也是微软对开源承诺的兑现,以及对 Linux 社区的回馈。微软还表示,CBL-Mariner 不会改变他们对任何现有第三方 Linux 发行版的态度或承诺。
根据微软 Azure 团队成员 Juan Manuel Rey 的介绍,CBL-Mariner 由 WSL2 团队创造,但目前没有提供 ISO 镜像,需要自己进行构建。
详细教程可参考:
如果你觉得上面的英文文档看起来比较费劲,也可以看看下面这篇中文文档:
参考文档