构建新的云原生系统或是将遗留系统云原生化,如何少走弯路?点击查看 了解详情
写点什么

自用 Linux 容器即将发行一周年,微软再对版本更新

  • 2021 年 8 月 19 日
  • 本文字数:1492 字

    阅读完需:约 5 分钟

自用 Linux容器即将发行一周年,微软再对版本更新

近期,微软已经更新了其内部开源容器 CBL-Mariner。此次更新将内核升级到了 5.10.52.1 版本,并启用/dev/mcelog。除了大量的安全修复外,cronie 和 logrotate 已添加到图像中,就像 Microsoft 的存储库一样。Moby-containerd 已更新至 1.4.4 版,swig 已更新至 4.0.2。

 

微软的 CBL-Mariner Linux 在 GitHub 上发布即将一周年,开发人员在此期间一直保持维护和更新,并在今年 7 月将其开源。不过,CBL-Mariner 目前还是以微软内部自用为主。

 

CBL-Mariner 是由微软的 Linux 系统组创建,也就是 WindowsSubsystem for Linux 2 背后的技术团队。作为微软云基础设施和边缘产品和服务的内部 Linux 发行版,CBL-Mariner 旨在为设备和服务提供统一平台,但主要用于服务器端而非桌面端。

 

据官方介绍,CBL-Mariner 项目是微软对各种 Linux 技术不断增加投资的一部分,例如 SONiC、Azure Sphere OS 和 Windows Subsystem for Linux (WSL)。此外,CBL-Mariner 不会改变他们对任何现有第三方 Linux 发行版的态度或承诺。

 

CBL-Mariner 是一款非常轻量级的 Linux,可以将其用作容器或容器主机。CBL-Mariner 的设计理念是,一组小的通用核心包可以满足第一方云和边缘服务的普遍需求,同时允许各个团队在通用核心之上分层附加包,为他们的工作负载生成镜像。这可以通过一个简单的构建系统实现,该系统支持:

 

  • 包生成:从 SPEC 文件和源文件中生成所需的一组 RPM 包。

  • 镜像生成:从给定的一组包中生成所需的镜像,如 ISO 或 VHD。

 

CBL-Mariner 软件包系统基于 RPM,软件包更新系统同时使用 dnf 和 tdnf,后者全称 Tiny DNF,是一个基于 dnf 的软件包管理器,来自 VMware 的 Photon OS。CBL-Mariner 还支持基于镜像的更新机制,其使用 RPM-OSTree 来实现,rpm-ostree 是一个基于 OSTree 的开源工具,用于管理可启动的、不可变的、版本化的文件系统树。rpm-ostree 背后的想法是使用一个客户-服务器架构,以可靠的方式保持 Linux 主机的更新和与最新的软件包同步。

 

微软认为,操作系统的精简特性有助于提高安全性:通过将核心映像功能集中到内部云客户所需功能上,加载的服务会更少,攻击媒介也更少。

 

CBL-Mariner 遵循 "默认安全"原则,操作系统的大部分方面都是以安全为重点的。它有一个加固的内核、签名更新、ASLR、基于编译器的加固和防篡改日志等许多功能。由于大小有限、攻击面很小,用户很容易通过 RPM 向其部署安全补丁。

 

一旦出现安全漏洞,CBL-Mariner 可以支持基于包的更新模型和基于镜像的更新模型。利用通用的 RPM 包管理器系统,CBL-Mariner 提供最新的安全补丁和修复程序,以实现快速周转时间的目标。

 

微软没有给出 CBL-Mariner 的 ISO 镜像,不过微软 Azure 工程师 Juan Manuel Rey 发布了详细教程:

 

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

 

在过去,红帽的 CoreOS 曾经是 Linux 容器的首选主机,但最近被废弃了,所以用户亟需一个替代方案。CBL 的代表的则是“Common Base Linux”,也被外界解读为 CoreOS 的替代。通过为其云服务创建自己的发行版,微软可以根据自己的时间表来更新和管理主机和容器实例。

 

微软方面已经成立了一个正式的 Linux Systems Group 来处理公司的大部分 Linux 相关工作,CBL-Mariner 就是其推出的项目之一。此外,Linux Systems Group 开发的与 Linux 相关的可交付成果还包括有:

 

  • WSL2 随附的 WSL2 Linux 内核;

  • 一个 Azure-tuned Linux 内核,可作为许多常见 Linux 发行版的补丁程序进行使用,对其进行优化以与微软的 Hyper-V 虚拟机管理程序配合使用;

  • 以及企业和安全团队提出的 Linux 安全模块(LSM)Integrity Policy Enforcement(IPE)。

 

2021 年 8 月 19 日 13:002379

评论 1 条评论

发布
用户头像
我干,InfoQ 机翻大队骗稿费来了? 都读不通顺了也发上来?
2021 年 08 月 23 日 14:36
回复
没有更多了
发现更多内容

快速掌握并发编程---Thread常用方法

田维常

后端

专利申请其实并不难?四步教你玩转专利申请!

华为云开发者社区

专利 保护

试用阿里网盘内测版-不限速、无广告、隐私安全我全都要

郭旭东

阿里云网盘

精解四大集合框架:Set核心知识总结

田维常

程序员 后端

精解四大集合框架:Queue核心知识总结

田维常

后端

面试时说Redis是单线程的,被喷惨了!

redis 编程 程序员 计算机

合约交易所系统开发技术搭建

薇電13242772558

区块链

面试官:JDK、JRE、JVM 三者什么关系?

田维常

后端

笔试题:了解穷举算法吗?如何用代码实现

田维常

后端

面试官:什么是面向对象?

田维常

后端

企业CRM未来发展趋势展望

Learun

敏捷开发

MySQL数据库开发中的6个“避免”

田维常

MySQL

架构师训练营 1 期第 6 周作业

木头发芽

SpringBoot-技术专题-war包部署读取外部配置Properties

浩宇天尚

云图说|知道吗?在和你对话的那头,也许是个机器人哦~

华为云开发者社区

华为 AI 机器人

笔试题:代码如何实现“百钱买百鸡”?

田维常

面试

华为云的销售凭什么说“赢”了罗振宇?

ToB行业头条

tob

数据结构与算法系列之链表操作全集(二)(GO)

书旅

数据结构 算法 Go 语言

这10道 Spring 常见面试题,你能搞定吗?

田维常

面试

快速掌握并发编程---深入了解volatile

田维常

后端

基于React+Koa实现一个h5编辑器

徐小夕

Java nodejs H5 React koa

快速掌握并发编程---线程阻塞与唤醒

田维常

并发编程

快速掌握并发编程---细说ReentrantLock和AQS

田维常

后端

快速掌握并发编程---synchronized篇(上)

田维常

并发编程

SpringBoot-技术专题-war包部署读取外部配置Yml

浩宇天尚

在2020年更受关注和追捧的JS框架

葡萄城技术团队

react.js Vue js Svelte

直播预告 | CloudQuery初体验——安装及多数据源连接

CloudQuery社区

数据库 sql 安全 工具软件 dba

快速掌握并发编程---深入学习ThreadLocal

田维常

TypeScript魔法堂:函数类型声明其实很复杂

肥仔John

Java typescript

精解四大集合框架:List核心知识总结

田维常

后端

面试官:什么是字节码?它最大的优势是什么?

田维常

后端

自用 Linux容器即将发行一周年,微软再对版本更新_云原生_褚杏娟_InfoQ精选文章