❤️硬核!2021年,微软居然开源了linux?不敢信!发行版:cbl-mariner!(代码片段)

Lucifer三思而后行 Lucifer三思而后行     2022-12-26     198

关键词:

🌲 前言

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

☀️ 介绍

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

文末有博主编译好的 ISO 文件,可以直接下载安装体验!


此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 镜像的朋友,可以直接下载我编译好的镜像安装体验!


❤️ 可以扫码关注我公众号,菜单栏自取!❤️


本次分享到此结束啦~

如果觉得文章对你有帮助,点赞、收藏、关注、评论,一键四连支持,你的支持就是我创作最大的动力。

❤️ 技术交流可以 关注公众号:Lucifer三思而后行 ❤️

微软开源主管sarah:2021年四大开源注意事项

微软AzureCTO办公室开源主管SarahNovotny近日在开源博客上分享了过去一年中微软在开源领域所做的工作,希望微软的经验可以为2021年进行构建和协作的开发人员或团队有所帮助。2020年的全球疫情从根本上改变了许多公司的工作模... 查看详情

一个软件打磨了24年,被安装超过100亿次,居然赚不到钱?

...尔·斯坦伯格收到了一封姗姗来迟的邮件,邮件来自微软,通知他的开源项目cURL获得了微软自由和开源软件(FOSS)基金会的大奖。FOSS每个月会选取一个项目进行资助,奖金是一万美元,分十个月支付,cURL是今年... 查看详情

❤️熬夜爆肝3万字!史上最硬核的linux命令大全,还不收藏?❤️通俗易懂,小白一看就会(代码片段)

目录🌲前言🏆命令汇总🍇文件管理1️⃣ls命令–显示指定工作目录下的内容及属性信息2️⃣cp命令–复制文件或目录3️⃣mkdir命令–创建目录4️⃣mv命令–移动或改名文件5️⃣pwd命令–显示当前路径🍉文档编... 查看详情

❤️熬夜爆肝3万字!史上最硬核的linux命令大全,还不收藏?❤️通俗易懂,小白一看就会(代码片段)

目录🌲前言🏆命令汇总🍇文件管理1️⃣ls命令–显示指定工作目录下的内容及属性信息2️⃣cp命令–复制文件或目录3️⃣mkdir命令–创建目录4️⃣mv命令–移动或改名文件5️⃣pwd命令–显示当前路径🍉文档编... 查看详情

微软与node.js的开源之旅

微软近年来在开源领域可谓是大刀阔斧的前进中,继2015年微软与红帽合作,微软智能云Azure与Linux进一步融合等举措之后,2016年,微软继续加大开源之举,大力推进Node.js的开发和开源社区的发展壮大。Node.js基金会在全球各地聚... 查看详情

开源.net让微软拥有更多开发者

就在两年前,微软做了一件令人意想不到的事情:它宣称将开源其.Net开发框架,这包括 .NetCore及ASP.Net 等。这份公告非常令人吃惊,因为微软长久以来一直仇视开源项目,担忧开源软件破坏其软件生态。随着微软CEO纳德... 查看详情

开源.net让微软拥有更多开发者

就在两年前,微软做了一件令人意想不到的事情:它宣称将开源其.Net开发框架,这包括 .NetCore及ASP.Net 等。这份公告非常令人吃惊,因为微软长久以来一直仇视开源项目,担忧开源软件破坏其软件生态。随着微软CEO纳德... 查看详情

微软:从“开源是毒瘤”到“我爱linux”的20年(代码片段)

...有永远的敌人,只有永远的利益。”这句话用来形容微软对于开源的态度正合适。在21世纪初,曾视开源为“毒瘤”,并一度想将其毁灭的微软,现在却被戏称为一家“Li 查看详情

2021年linux界的12件大事

星标/置顶 公众号👇,硬核文章第一时间送达!2021年即将结束了,今天就和大家分享一些来自Linux世界最重要的大事,这些事件大大影响了Linux用户:1、理查德·斯托曼回归2019年,自由软件基金会(FreeS... 查看详情

2021年linux界的12件大事

星标/置顶 公众号👇,硬核文章第一时间送达!2021年即将结束了,今天就和大家分享一些来自Linux世界最重要的大事,这些事件大大影响了Linux用户:1、理查德·斯托曼回归2019年,自由软件基金会(FreeS... 查看详情

微软2022新bug:大量程序员连夜加班!

星标/置顶 公众号👇,硬核文章第一时间送达!没想到,2022年的到来,也给微软带来了一个新bug。随着日期从2021年12月31日跳转到2022年1月1日,不少使用微软Exchange的公司发现,自己写好的新年祝福等... 查看详情

❤️《不知道密码也能登录linux系统管理员账号!!!》❤️——再也不用担心忘记linux系统密码了,grub启动操作系统教程!(建议收藏)

观前提醒,本期内容过于硬核,未成年的观众请在家长的陪同下观看,有坏想法的同学请在心里默念三遍:“我国有一部完整且历史悠久的法律”无密码登录Linux系统管理员账号问题操作步骤1.开机界面截停2.进入单用户模式3.修改用户... 查看详情

linux6.1发布,微软贡献linux内核代码

...彩内容来源|OSC开源社区Linux这几年发展之迅速,就连微软都在贡献Linux内核代码了。Linux6.1内核正式发布LinusTorvalds宣布Linux6.1内核系列正式发布!Linux6.1内核系列集成了改进的页面回收代码的多代LRU(MGLRU)、初始的Rust语言支... 查看详情

linux6.1发布,微软贡献linux内核代码

...彩内容来源|OSC开源社区Linux这几年发展之迅速,就连微软都在贡献Linux内核代码了。Linux6.1内核正式发布LinusTorvalds宣布Linux6.1内核系列正式发布!Linux6.1内核系列集成了改进的页面回收代码的多代LRU(MGLRU)、初始的Rust语言支... 查看详情

❤️爆肝3万字,最硬核丨mysql知识体系命令全集建议收藏❤️(代码片段)

...赞👍收藏⭐留言 📝  🍅耗时1年整理,硬核文章目录:https 查看详情

全网最硬核redis高频面试题解析(2021年最新版)(代码片段)

1、Redis是单线程还是多线程?这个问题应该已经看到过无数次了,最近redis6出来之后又被翻出来了。redis4.0之前,redis是完全单线程的。redis4.0时,redis引入了多线程,但是额外的线程只是用于后台处理,例... 查看详情

❤️爆肝新一代大数据存储宠儿,梳理了2万字“超硬核”文章!❤️(代码片段)

🍅作者:不吃西红柿🍅简介:CSDN博客专家🏆、信息技术智库公号作者✌。简历模板、职场PPT模板、技术难题交流、面试套路尽管【关注】私聊我。🍅欢迎点赞👍收藏⭐留言📝如有错误敬请指正&... 查看详情

❤️爆肝新一代大数据存储宠儿,梳理了2万字“超硬核”文章!❤️(代码片段)

🍅作者:不吃西红柿🍅简介:CSDN博客专家🏆、信息技术智库公号作者✌。简历模板、职场PPT模板、技术难题交流、面试套路尽管【关注】私聊我。🍅欢迎点赞👍收藏⭐留言📝如有错误敬请指正&... 查看详情