ITPub博客

首页 > 数据库 > 数据库开发技术 > 微软 Linux 开源版 CBL-Mariner 系统

微软 Linux 开源版 CBL-Mariner 系统

原创 数据库开发技术 作者:Lucifer三思而后行 时间:2021-12-12 11:37:25 0 删除 编辑

记得点击 "Lucifer三思而后行, 设为星标⭐

后台回复【进群】,申请加入Lucifer数据库学习交流群

👆点击上方卡片关注

🌲 前言

CBL 代表 Common Base Linux,Mariner 的目标是用作微软工程团队的内部 Linux 发行版,以构建云基础设施和边缘产品和服务。

☀️ 介绍

Mariner 是开源的,它在微软的 GitHub 组织下有自己的存储库。「目前官方没有提供 Mariner 的 ISO 或映像,需要自行编译」,但是 repo 有在 Ubuntu 18.04 上构建它们的说明。

此GitHub 页面中列出了一系列先决条件,大致包括 Docker、RPM 工具、ISO 构建工具和 Golang 等。

❝

「官方源:」 https://github.com/pc-study/CBL-Mariner

❞

🍉 编译 CBL 镜像文件

❤️ 接下来,我们就本地编译一个镜像文件来玩玩!

编译环境准备

官方建议使用 ubuntu 18.04 版本进行编译,其他版本不知道是否可以!

vagrant 安装 ubuntu 18.04

由于需要在 Ubuntu 18.04 上进行构建,因此使用 vagrant 本地快速创建一台虚拟机环境。

mkdir -p /Volumes/DBA/vagrant/ubuntu1804
cd /Volumes/DBA/vagrant/ubuntu1804
vagrant init generic/ubuntu1804
vagrant up --provider=virtualbox

连接主机修改密码

vagrant ssh
sudo passwd root
su - root

先决条件配置

「添加一个 backports 存储库以安装最新版本的 Go:」

sudo add-apt-repository ppa:longsleep/golang-backports
sudo apt-get update

「1、安装所需的依赖项:」

sudo apt -y install make tar wget curl rpm qemu-utils golang-1.15-go genisoimage python-minimal bison gawk parted

「2、推荐安装 pigz ,但不是必须,用于更快的压缩操作:」

sudo apt -y install pigz

「3、修复 go 1.15 link:」

sudo ln -vsf /usr/lib/go-1.15/bin/go /usr/bin/go

「4、安装 docker:」

curl -fsSL https://get.docker.com -o get-docker.sh
sudo sh get-docker.sh
sudo usermod -aG docker $USER

配置完成后建议关闭主机:

vagrant halt

下载 CBL-Mariner 项目

由于官方源太慢,于是我 fork 到了我的 「gitee 仓库」:https://gitee.com/luciferlpc/CBL-Mariner。

git clone https://gitee.com/luciferlpc/CBL-Mariner.git

「下载到本地之后,上传到服务器主机中:」编辑 Vagrantfile 文件,挂载当前目录到主机 /vagrant 目录:重新启动 Ubuntu 主机:

cd /Volumes/DBA/vagrant/ubuntu1804
vagrant up

「或者通过 ftp 等工具进行上传!」「同步到最新的稳定版本:」

git checkout 1.0-stable

「把文件拷贝到 /opt 目录下:」

cp -r /vagrant/CBL-Mariner /opt

构建 VHD 或 VHDX 镜像

「📢 注意:这里有个小问题,关于解析和GO:」

「修复:」

export GO111MODULE=on
export GOPROXY=https://goproxy.io
echo '47.246.43.224 goproxy.cn' >>/etc/hosts
echo '140.82.121.3 github.com' >>/etc/hosts
echo 'nameserver 8.8.8.8' >>/etc/resolv.conf
echo 'nameserver 8.8.4.4' >>/etc/resolv.conf

构建 VHDX 镜像

「镜像放在../out/images/core-efi:」

cd toolkit
sudo make image REBUILD_TOOLS=y REBUILD_PACKAGES=n CONFIG_FILE=./imageconfigs/core-efi.json

构建过程中,可能存在域名无法解析的问题,可以访问:https://packages.microsoft.com/cbl-mariner/1.0/prod/,手动下载缺少的 rpm 包。等待很久很久时间后,完成:

构建 VHD 镜像

「镜像放在../out/images/core-legacy:」

cd toolkit
sudo make image REBUILD_TOOLS=y REBUILD_PACKAGES=n CONFIG_FILE=./imageconfigs/core-legacy.json

构建 cloud-init 配置镜像

「镜像放在../out/images/meta-user-data.iso」

cd toolkit
sudo make meta-user-data

新建并访问主机

使用 virtualbox 创建 VHD(X) 虚拟机。

「1、创建新主机」

「2、选择编译好的 VHD(X) 文件」

「3、挂载 Meta-User-Data.Iso 镜像」

「4、启动并登录虚拟机」

账号密码:

mariner_user/p@ssw0rd

「总体来说,Linux 的命令都差不多。」

构建 ISO 镜像

「镜像放在../out/images/full」

cd toolkit
sudo make iso REBUILD_TOOLS=y REBUILD_PACKAGES=n CONFIG_FILE=./imageconfigs/full.json

「生成的 ISO 镜像大概 700M 不到。」

用 ISO 镜像安装系统

终端模式安装

「1、创建新主机:」后面选项全都默认即可。

「2、挂载上面生成的 ISO 镜像:」

「3、启动主机并安装:」选择安装模式:分为终端和图形化,本次选择终端安装。选择完全安装:选择系统安装盘:跳过磁盘加密:设置主机名:创建用户和密码:密码规则要求较高。开始安装:安装完重启:

图形化模式安装

「1、创建新主机:」后面选项全都默认即可。

「2、挂载上面生成的 ISO 镜像:」

「3、启动主机并安装:」

选择安装模式:分为终端和图形化,本次选择图形化安装。选择完全安装:选择接受协议:不加密磁盘:创建用户密码:开始安装:安装完重启:重启后连接:「⭐️ 至此,CBL-Mariner 已经成功安装体验过!」

❄️ 写在最后

如果不想自己编译 ISO 镜像的朋友,可以直接下载我编译好的镜像安装体验!

百度网盘下载链接:

https://pan.baidu.com/s/1WVvtgLFKwAC602cI51R_3g

获取方式:

  • 1、关注下方公众号:Lucifer三思而后行
  • 2、回复关键词:CBL 获取 提取码

即可 获取 !



扫一扫进入群聊

个人简介:CSDN全站前50,HDZ核心组成员,华为云享专家,CSDN原力计划作者,掘金优秀作者,资讯创作者,墨天轮技术专家,全网粉丝6万+。我是一枚喜欢学习,专研,输出的数据库DBA,专注于各种数据库、Linux等后端技术,分享各种干货实战文!灵感来源于生活,故而热爱生活~  


QQ:2689352866

QQ交流群:761812625

微信:Lucifer-4622

原文作者:Lucifer三思而后行;如有侵权,请联系管理员删除。

请登录后发表评论 登录
全部评论
公众号:DBA学习之路

注册时间:2021-11-18

  • 博文量
    110
  • 访问量
    67466