写点什么

学无止境的 Linux,以及我的第一个定制版本发布之路

  • 2022-04-08
  • 本文字数:1934 字

    阅读完需:约 6 分钟

学无止境的 Linux,以及我的第一个定制版本发布之路

从小白开始,我的 Linux 学习之路


遥记当年大学第一次上 C 语言课的时候,由于之前基本上没接触过计算机,所以我一直无法理解为什么“a=a+1”,但就通过这门课,让我体会到了编程的魅力。


我当时学的是机械专业的,只能通过选修课和自学来了解计算机科学,幸运的是学校的选修课程还是很丰富的。几年之后,即将走出校门步入社会的我开始找寻第一份工作,经过小小的纠结之后,我就决定放弃本专业工作,得益于自学的编程知识,进入了一家通信公司从事软件开发工作。


经过了几年“持续而稳定的工作”,我感觉自己的工作越来越没有挑战,也逐渐失去了工作的激情,因此我打算换个方向。于是在四年之前,我加入了中国移动云能力中心,开始从事 Linux 操作系统开发的相关工作。


虽然之前也从事软件相关的工作,但是一直没多少机会接触 Linux 操作系统。在这四年时间里,我从一个 Linux 小白开始,逐渐开始了解 Linux 系统的方方面面,从 shell 脚本到 ansible、从内存管理到任务调度、从容器到虚拟化、从性能优化到故障诊断,一个个工单经在我手中解决,一个个版本从我手里发布。


同时,越是学习我越是发现自己的不足。Linux 系统包含的东西太多了,经常需要面对新的问题、了解新的领域、学习新的知识,但这也正是我喜欢这个工作的主要原因之一。


我为自己建了一个 Linux 学习的文档,从一开始几个知识点、十几页的文档,到现在上百个知识点、两百多页的文档,而且还在持续增长中。Stay hungry, Stay foolish。


(图/学习文档部分截图)


打造移动云的国产化操作系统


说回我目前的工作,在去年之前,我们一直基于 CentOS 社区进行操作系统的定制开发,借助其开源、免费、稳定、良好的兼容性等特点,使得我们的 Linux 系统得到迅速发展并进行了大量的应用部署。


随着 2020 年 CentOS 项目宣布 CentOS 8 将停止更新之后,我们就开始积极应对相关变化。先后与国内主流操作系统厂商以及开源社区进行交流,也因此有机会接触到了龙蜥社区。随着一次次的交流、讨论,我们逐渐了解龙蜥社区“开源、中立、开放”的宗旨,还有背后强大得技术能力和良好的应用生态等,最终选择与龙蜥社区一起打造移动云的国产化操作系统。


第一个版本我们选择了 Anolis OS 8.2 作为上游版本进行开发,我在其中主要负责一些基础软件的定制以及版本制作、发布工作。


由于是首次基于龙蜥操作系统进行版本定制开发,我遇到了很多新的问题,比如编译失败、软件包安装失败、依赖缺失、启动失败等。为了能够按时发布版本,我也加快了自己的工作节奏,积极与经验丰富的同事讨论交流,短时间无法解决的就向社区求助,发现的社区问题也及时提交 issue。


在我们的产品测试阶段,发现一个某软件包安装失败问题。经过分析、并使用社区原版系统进行了对比,最终确认是一个基础软件包的安全策略有问题。由于临近发布日期,由我自己进一步分析、修改可能无法及时完成。于是向社区提交了 issue,并通过社区与我们对接的接口人跟踪问题进展,最后由社区小伙伴们提供了解决方案完成问题修复。


还有一次是开发期间进行软件包编译时报了一个依赖冲突的问题。我初步分析了下怀疑是社区的镜像源有问题,向社区提交 issue,当天问题就得到了回复,社区修复了镜像源,我同步到本地之后,问题得到了解决。


还有一些类似的问题就不一一描述了。总之,得益于龙蜥社区的帮助,经过几个月的研发,最终与去年 7 月移动云首个基于龙蜥社区深度定制的商用版服务器操作系统BC-Linux V8.2 版本正式发布借此机会向龙蜥社区各位小伙伴表示感谢。


(图/BC-Linux V8.2安装界面)


在与龙蜥社区开展交流合作的同时,我也获得了 2021 年度开发者「突出贡献奖」,后续我将继续深入参与社区建设,打造更安全、高效、稳定的企业操作系统。当前我们正基于 Anolis OS 8.4 版本进行新版本系统的研发,并与龙蜥社区在系统故障诊断工具、全栈国密、系统迁移工具等多个方面开展合作,更加深入地参与到社区的各个项目中去。


龙蜥社区作为一个年轻的社区,自身也在高速发展中,希望后续能够为开发者提供一些更便捷的措施,主要有以下三点:


  • 进一步加强软件包的开放,特别是一些二次开发依赖的软件包;

  • 增加软件包搜索功能,展示各版本软件包的修改日志,便于开发者快速获取软件包机器更新信息;

  • 开放社区编译平台,便于开发者使用社区的编译环境。


后续我们也会继续与龙蜥社区合作,持续推出 Linux 服务器操作系统,为移动云各项目提供自主可控、安全稳定的操作系统技术底座能力。


本文作者:


魏明江,软件开发工程师,2021 年度龙蜥社区开发者「突出贡献奖」获得者。2017 年开始一直从事大云天元操作系统(BC-Linux)的开发工作,主导参与多个 BC-Linux 版本的发布工作,擅长 Linux 系统的定制化开发、镜像制作、安装启动、系统运维等方面。参与社区建设期间,基于 Anolis OS 版本定制开发 BC-Linux V8.2 产品,在测试期间提交多个 issue。

2022-04-08 16:482508

评论

发布
暂无评论
发现更多内容

2023-07-08:RabbitMQ如何做到消息不丢失?

福大大架构师每日一题

福大大架构师每日一题

某米重新定义了985。。。

Jackpop

【Redis故障排查】「连接失败问题排查和解决」带你深入分析一下Redis阻塞原因以及问题排查方案指南

码界西柚

redis 分布式架构 解决方案 技术分析 性能优化分析

具备捕获 Web2 用户能力的 PoseiSwap,治理通证$POSE再度涨超 360%

BlockChain先知

基于自定义数据源的LangChain的聊天

派大星

#LangChain

【 INFINI Workshop 上海站】7 月 27 日一起动手实验玩转 Easysearch

极限实验室

上海 Workshop 极限科技

直击 | 认识和了解bboss

大河

stream Binlog ETL bboss mysql cdc

车内语音识别数据:驱动智能出行的新动力

数据堂

车载语音识别

你可能不知道现在的Java面试有多卷!

程序员小毕

程序员 高并发 架构师 java面试 八股文

考上211,录取到天坑专业。。。

Jackpop

上个大学,竟然被割韭菜了?

Jackpop

从互联网到国企、从一线城市到三线省会

WizInfo

使用 Kind 体验 Kasten K10 备份还原 K8S 集群 (二)

吴威

Kubernetes 容器 k8s veeam 备份 & 恢复

具备捕获 Web2 用户能力的 PoseiSwap,治理通证$POSE再度涨超 360%

鳄鱼视界

C++中Stack(栈)的使用方法与基本操作

芯动大师

具备捕获 Web2 用户能力的 PoseiSwap,治理通证$POSE再度涨超 360%

西柚子

985的分数,却毅然选择了普本。

Jackpop

拼多多最新面经出炉:项目+八股+算法+场景全都问了个遍

程序员小毕

程序员 算法 高并发 项目 java面试

语音识别唤醒词:开启智能化的语音交互时代

数据堂

唤醒词

一些容易被忽略的测试场景

QE_LAB

移动端测试 测试场景

具备捕获 Web2 用户能力的 PoseiSwap,治理通证$POSE再度涨超 360%

股市老人

情感语音识别:倾听声音背后的情感

数据堂

情感语音识别

学无止境的 Linux,以及我的第一个定制版本发布之路_文化 & 方法_魏明江_InfoQ精选文章