写点什么

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

  • 2021-08-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-08-19 13:002753

评论 1 条评论

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

在线SVG在线编辑器

入门小站

工具

守护石谈学习Java之路

DaemonStone

Java 学习方法 经验分享 编程学习

在线标准程序员计算器

入门小站

工具

WebRTC 传输通道的建立过程解析 | 社区征文

liuzhen007

音视频 新春征文 2月月更

架构训练营 week8 课程总结

红莲疾风

「架构实战营」

视频绿幕抠像一键搞定,这些好用工具你要知道。

彭宏豪95

效率 工具 视频剪辑

团队开周会的目的:保证有效的协同效应和构建PDCA循环

panda

管理 PDCA 周会 协同效应

Netflix是如何做决策的? | 3. A/B测试结果之假阳性和统计显著性

俞凡

数据分析 netflix 大厂实践 2月月更

JVM进阶(三):内存分配与回收策略

No Silver Bullet

Java JVM 内存分配 2月月更

JVM进阶(五):JAVA GC 之标记

No Silver Bullet

JVM 2月月更 标记 MAT

JVM进阶(二):初识 JAVA 堆

No Silver Bullet

Java JVM 内存 2月月更

如何阻止软件退化?

蜜糖的代码注释

Java 后端开发 项目实践 2月月更

Netflix是如何做决策的? | 4. A/B测试结果之假阴性和统计功效

俞凡

数据分析 netflix 大厂实践 2月月更

Netflix是如何做决策的? | 5. 在做决定时建立信心

俞凡

数据分析 netflix 大厂实践 2月月更

如何写好代码注释?

蜜糖的代码注释

Java 后端 开发 2月月更

Jvm 参数默认值

努力努力再努力

《恰如其分的软件架构》随笔一:模型是解决复杂问题的重要途径

panda

模型

开源效能可视化平台介绍 -DevLake

夏兮。

效能平台 MARI

JavaScript 数组常见操作(一)

编程三昧

JavaScript 前端开发 数组操作 2月月更

Linux之top命令

入门小站

Linux

2021考了个PMP

夏兮。

PMP Certification

[架构实战营] 模块八作业

Geek_0ed632

「架构实战营」

图解MySQL(5)-Buffer Pool的flush链表

JavaEdge

2月月更

架构训练营 week9 课程总结

红莲疾风

「架构实战营」

第七节:SpringBoot高级属性配置二

入门小站

springboot Java EE

对 HTTP 缓存的全面总结

编程三昧

缓存 前端开发 HTTP 2月月更

AI,机器人和元宇宙(9/100)

hackstoic

元宇宙

共赴冰雪之约,见证体育场馆的数字化之旅

脑极体

JVM进阶(六):鲜为人知的二次标记

No Silver Bullet

JVM 日志分析 2月月更 二次标记

一条SQL更新语句是如何执行的?

蝉沐风

MySQL MySQL InnoDB

计算机视觉算法探究:OpenCV CLAHE算法详解| 社区征文

老猿Python

AI 算法 计算机视觉 新春征文 CLAHE

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