微软发布了Linux发行版CBL-Mariner的第一个稳定版本

微软已经发布了CBL-Mariner 1.0(Common Base Linux Mariner)发行版,这被标记为该项目的第一个稳定版本。 CBL-Mariner 发行版正在开发为云基础设施、边缘系统和各种 Microsoft 服务中使用的 Linux 环境的通用基础平台。 该项目旨在统一 Microsoft Linux 解决方案并简化最新各种用途的 Linux 系统的维护。 该项目的开发是在麻省理工学院的许可下分发的。

该发行版提供了一组标准的基本包,可作为创建在云基础设施和边缘设备上运行的容器、主机环境和服务内容的通用基础。 可以通过在 CBL-Mariner 之上添加额外的软件包来创建更复杂和专业的解决方案,但所有此类系统的基础保持不变,使维护和更新更加容易。

例如,CBL-Mariner 被用作 WSLg 迷你发行版的基础,它提供了图形堆栈组件,用于在基于 WSL2(Windows Subsystem for Linux)子系统的环境中运行 Linux GUI 应用程序。 该发行版的核心没有改变,扩展的功能是通过包含 Weston、XWayland、PulseAudio 和 FreeRDP 复合服务器的附加软件包来实现的。

CBL-Mariner 构建系统允许您基于 SPEC 文件和源代码生成单独的 RPM 包,以及使用 rpm-ostree 工具包生成并原子更新的整体系统映像,而无需拆分为单独的包。 因此,支持两种更新交付模型:通过更新单个包以及通过重建和更新整个系统映像。 该发行版仅包含最必要的组件,并针对最小内存和磁盘空间消耗以及高加载速度进行了优化。 该发行版还因包含各种增强安全性的附加机制而引人注目。

该项目采用“默认最大安全性”方法。 可以使用 seccomp 机制过滤系统调用、加密磁盘分区以及使用数字签名验证包。 在构建阶段,默认启用针对堆栈溢出、缓冲区溢出和字符串格式化问题的保护(_FORTIFY_SOURCE、-fstack-protector、-Wformat-security、relro)。 Linux 内核中支持的地址空间随机化模式被激活,以及针对符号链接攻击、mmap、/dev/mem 和 /dev/kmem 的保护机制。 包含内核和模块数据段的内存区域被设置为只读模式,并且禁止代码执行。 一个可选选项是在系统初始化后禁用加载内核模块。 iptables工具包用于过滤网络数据包。

不提供预制 ISO 映像。 假设用户可以自己创建一个具有必要填充的映像(为 Ubuntu 18.04 提供了汇编指令)。 提供了预构建 RPM 包的存储库,您可以使用它根据配置文件构建自己的映像。 该存储库提供了大约 3300 个包。 例如,要构建完整的 iso 映像,只需运行: git clone https://github.com/microsoft/CBL-Mariner.git cd CBL-Mariner/toolkit sudo make iso REBUILD_TOOLS=y REBUILD_PACKAGES=n CONFIG_FILE=./imageconfigs /完整的.json

系统管理器systemd用于管理服务和启动。 对于包管理,提供了包管理器 RPM 和 DNF(来自 vmWare 的 tdnf 变体)。 SSH 服务器不会静默启动。 为了安装该发行版,提供了一个可以在文本和图形模式下工作的安装程序。 安装程序提供了使用完整或基本软件包集进行安装的选项,并提供了用于选择磁盘分区、选择主机名和创建用户的界面。

微软发布了Linux发行版CBL-Mariner的第一个稳定版本


来源: opennet.ru

添加评论