写点什么

学无止境的 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:482727

评论

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

凹语言执行速度比Go快一倍,体积百分之一

chai2010

golang 编程语言 webassembly 凹语言

世界第一!华为云图引擎服务GES大幅刷新世界纪录

华为云开发者联盟

华为云 图数据库

部署 LLMs 前如何计算与优化 GPU 内存需求?

Baihai IDP

程序员 AI gpu LLMs

国际开发者成为 Apache IoTDB Committer,新视角谈开源经验!

Apache IoTDB

数据库 开源 时序数据库 IoTDB Apache IoTDB

火山引擎边缘智能×扣子,拓展AI Agent物理边界

火山引擎边缘云

零信任身份安全的基本原则

芯盾时代

身份安全 零信任模型

社交软件红包技术解密(二):解密微信摇一摇红包从0到1的技术演进

JackJiang

即时通讯;IM;网络编程

华为云分布式消息服务DMS 9月新动态上线啦!

平平无奇爱好科技

将YAML文件解析为JAVA对象的方法

AlexLei

spring yaml

【HarmonyOS】鸿蒙TextPicker日期选择

zhongcx

淘宝/天猫商品快递费用API返回值解析快速指南

代码忍者

pinduoduo API API 性能测试

京东零售数据湖应用与实践

京东零售技术

数据湖 数据

25个Linux系统性能调优技巧

威哥爱编程

Linux 系统调优

智算基石全栈加速,百度百舸 4.0 的技术探索和创新

百度Geek说

百度 大模型 技术 优化体系

华为云金融PaaS 赋能金融核心,激发云上创新

平平无奇爱好科技

华为云联合中国信通院发布《智能化软件开发落地实践指南》

平平无奇爱好科技

【HarmonyOS】鸿蒙组件下划线与边框

zhongcx

高性能 HTTP 客户端 undici 初探

FunTester

云栖实录 | 大模型驱动,开源融合的 AI 搜索产品发布

阿里云大数据AI技术

大数据 开源 大模型 AI搜索

MQTT vs HTTP:谁更适合物联网?

EMQ映云科技

物联网 HTTP mqtt emqx

华为云携手数字政通,打造新一代城市运行管理平台

平平无奇爱好科技

凹语言Native后端达到C语言性能

chai2010

编程语言 webassembly 凹语言

Redis桌面管理工具:Redis Desktop Manager for Mac 中文版

你的猪会飞吗

Mac软件下载站 mac破解软件下载

测试流程必须严格执行吗?

老张

软件测试 验收测试 质量保障 流程规范

橱窗LED透明屏:展示和广告的新宠

Dylan

广告 制造 LED display LED显示屏 市场

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