• 真与开源“化敌为友”:微软连自己的 Linux 发行版都有了!

    时间:2021-07-19 21:07来源:网络整理 作者:Linux先生 举报 点击:
    湖南成人高考 成人高考 成人高考 成人高考  成人高考 成人高考 
    整理 | 郑丽媛出品 | CSDN(ID:CSDNnews)与早期相比,近几年微软对开源的态度可谓是 天差地别 。曾经的微软,几乎视开源为 仇敌 :微软前 CEO 史蒂夫 · 鲍尔

    出品 | CSDN(ID:CSDNnews)

    与早期相比,近几年微软对开源的态度可谓是 " 天差地别 "。

    曾经的微软,几乎视开源为 " 仇敌 ":

    微软前 CEO 史蒂夫 · 鲍尔默在采访时表示,开源是微软的头号劲敌;

    微软前首席软件设计师雷 · 奥兹也曾说,开源对微软公的商业模式具有潜在的杀伤力;

    发布过 Windows 和 Linux 之间的对比广告,夸自家 Windows 省时省心的同时,拉踩 Linux 的维护需要巨大成本。

    如今,微软拥抱开源的举措却比比皆是:

    推出 WSL 并升级至 WSL 2(Windows Subsyste for Linux),使用户能在 Windows 10 上运行原生 Linux 二进制可执行文件;

    发布了面向 Linux 版的 Edge Chromium 浏览器;

    发布了开源的 Visual Studio Code 编辑器。

    这还不止,微软甚至连自己的 Linux 发行版都有了:近日,微软发布了其内部 Linux 发行版 CBL-Mariner 1.0(Common Base Linux),并已开源至 GitHub(https://github.com/microsoft/CBL-Mariner)

    真与开源“化敌为友”:微软连自己的 Linux 发行版都有了!

    WSL 2 团队创建,用于微软内部工作

    微软 Azure 团队成员 Juan Manuel Rey 在博客上分享了 CBL-Mariner 的细节概要。

    首先需要明确的一点是,CBL-Mariner 与 Ubuntu 或 Fedora 那样的通用 Linux 发行版不同,它仅是一款微软用于云基础架构和边缘产品和服务的内部 Linux 发行版。虽已开源,但并没有提供 CBL-Mariner 的 ISO 镜像。

    据介绍,CBL-Mariner 由 WSL 2 的同一团队创建,旨在为微软的云基础架构和边缘产品和服务提供统一的平台,简化 Linux 系统维护,增强与 Linux 保持同步更新的能力,同时也是微软对 SONiC、Azure Sphere OS 和 WSL 等各种有关 Linux 技术不断增加投资的一种方式。

    CBL-Mariner 的设计理念是,用一组小型通用核心包就可以满足第一方云和边缘服务的普遍需求,同时允许各个团队在通用核心上分层附加包,为他们的工作负载生成图像。

    关于将 CBL-Mariner 这个内部 Linux 发行版开源的举动,微软表示这是 " 对开源和回馈 Linux 社区承诺的一部分 ",因而开发者可前往其 GitHub 地址 https://github.com/microsoft/CBL-Mariner 自行安装体验。

    如何安装 CBL-Mariner ?

    Juan Manuel Rey 在其博客上展示了 CBL-Mariner 的安装过程。不过正如上文所说,微软并没有提供 CBL-Mariner 的 ISO 镜像,因此在安装 CBL-Mariner 时,开发者可通过 Ubuntu 或其他 Linux 发行版构建自己的镜像,以下是通过 Ubuntu 的方式:

    首先,确保构建 ISO 镜像所需的先决条件:

    sudo apt install make tar wget curl rpm qemu-utils golang-go genisoimage python2-minimal bison gawk

    然后,从 CBL-Mariner GitHub 存储库获取代码:

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

    随后,进入 CBL-Mariner/toolkit 目录并创建安装 ISO 镜像。

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

    在这之后,就可以在 ../out/images/full/ 目录中找到 ISO 文件,名称为 full-1.0.20210712.2155.iso。

    创建好系统镜像后,开发者可在 VirtualBox、VMWare、Boxes 等虚拟机上安装测试。以下举例在 VirtualBox 虚拟机中的安装步骤(最低硬件配置为 1 个 CPU、2GB RAM 和 16GB 存储空间):

    安装前会提供文本或图形模式的选择,由于 Juan Manuel Rey 好奇 CBL-Mariner 是否真的基于 Fedora 的 Anaconda ,因此他选择了图形模式。

    真与开源“化敌为友”:微软连自己的 Linux 发行版都有了!

    分区配置如下:

    真与开源“化敌为友”:微软连自己的 Linux 发行版都有了!

    最后,输入主机名、用户名和密码,点击 " 安装 " 按钮即可。需要注意的是,此用户将具有 root/sudo 权限。

    真与开源“化敌为友”:微软连自己的 Linux 发行版都有了!

    参考了 Fedora 或 Photon-OS

    虽然 CBL-Mariner 是作为微软内部 Linux 发行版诞生的,但不可否认,它的确较为出色。CBL-Mariner 会提供一组典型的基本软件包,以充当创建容器填充、主机环境和在云基础设施和边缘设备上运行服务的通用基础。而在 CBL-Mariner 基础之上还可以添加额外的包,用来创建更复杂和专业的解决方案,同时系统的基础保持不变,即简化了维护和升级过程,而 CBL-Mariner 的软件包系统也是基于 RPM 的。

    此外,据 Juan Manuel Rey 体验下来,CBL-Mariner 与 Fedora 和 Photon-OS 等其他 Linux 发行版很相似,这一点在 CBL-Mariner 的 GitHub 存储库的致谢部分上就有体现,团队应该使用了 Photon OS 和 Fedora 的 SPEC 文件作为参考。

    真与开源“化敌为友”:微软连自己的 Linux 发行版都有了!

    安全方面,考虑到大多数操作系统都以安全为重点,CBL-Mariner 遵循默认安全原则。CBL-Mariner 带有强化内核、签名更新、ASLR、基于编译器的强化和防篡改日志等众多功能。当出现安全漏洞时,利用通用的 RPM 包管理器系统,CBL-Mariner 会提供最新的安全补丁和修复程序,以实现快速周转时间的目的。

    感兴趣的开发者可前往 CBL-Mariner GitHub 地址:https://github.com/microsoft/CBL-Mariner 体验尝试。

    参考链接:

    https://blog.jreypo.io/2021/07/09/a-look-into-cbl-mariner-microsoft-internal-linux-distribution/

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

    https://www.linuxadictos.com/en/cbl-mariner-the-linux-distribution-behind-wsl-azure-and-other-microsoft-products.html

    推荐内容