如何 0 成本启动全员 AI 技能提升?戳> 了解详情
写点什么

自用 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:002937

评论 1 条评论

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

Prometheus Exporter (十八)Graphite Exporter

耳东@Erdong

Prometheus 28天写作 exporter 12月日更 Graphite

【HarmonyOS 专题】01 基础 Mac 环境安装配置

阿策小和尚

HarmonyOS 28天写作 Android 小菜鸟 12月日更

【LeetCode】截断句子Java题解

Albert

算法 LeetCode 12月日更

聊聊 Kafka: 在 Linux 环境上搭建 Kafka

老周聊架构

签约计划第二季 2月月更

模块1作业

miliving

react源码解析17.context

buchila11

React React Hooks

Spring中的事务Transactional,这样用真的对么?

xcbeyond

事务 28天写作 12月日更

模块一学习总结

whoami

「架构实战营」

react源码解析18事件系统

buchila11

React React Hooks

Prometheus Exporter (十九)Collectd Exporter

耳东@Erdong

Prometheus 28天写作 exporter 12月日更 Collectd

大厂算法面试之leetcode精讲24.其他类型题

全栈潇晨

算法 LeetCode

Flutter开发:TextField常用属性的使用

三掌柜

28天写作 12月日更

Linux云计算架构师:Linux全套实战学习资料

侠盗安全

Linux linux运维 运维工程师 云计算架构师 linux电子书

MySQL 连接数过多的处理方法合集 - ERROR 1040 Too many connections - 卡拉云

蒋川

MySQL MySQL 数据库

12 张图 | 深入理解 Eureka三层缓存架构

悟空聊架构

缓存 Eureka 28天写作 悟空聊架构 12月日更

从微服务架构的现状和未来看学习路径

博文视点Broadview

Go语言学习查缺补漏ing Day4

恒生LIGHT云社区

编程语言 Go 语言

使用 javap 分析 Java 的字符串操作

汪子熙

Java jdk 28天写作 12月日更 javac

网络协议之:基于UDP的高速数据传输协议UDT

程序那些事

TCP 网络协议 udp 程序那些事 12月日更

喜报 | 旺链科技获批张江国家自主创新示范区专项发展资金!

旺链科技

区块链 数字经济 产业区块链

说说节奏感

Justin

方法论 28天写作

Git进阶(十一):Git 常用操作汇总

No Silver Bullet

git 12月日更

全网最全-混合精度训练原理

科技热闻

[Pulsar] F# client的ProtobufNativeSchema实现

Zike Yang

Apache Pulsar 12月日更

学python,怎么能不学习scrapy呢,这篇博客带你学会它

梦想橡皮擦

12月日更

团队基建系列 - 组织知识传承 1

搬砖的周狮傅

团队成长

Flutter 动画【Flutter专题16】

坚果

flutter 28天写作 签约计划第二季 12月日更

大厂算法面试之leetcode精讲23.并查集

全栈潇晨

算法 LeetCode

使用javap深入理解Java整型常量和整型变量的区别

汪子熙

Java jdk 28天写作 12月日更 javap

有了六顶思考帽,从此告别无效争吵

Ian哥

项目管理 28天写作 项目管理工具 六顶思考帽

拖延

Nydia

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