写点什么

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

评论

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

3个免费图片网站,助你轻松创建PPT素材库!

彭宏豪95

职场 PPT 在线白板 效率软件 素材库

Ubuntu系统编译OpenCV4.8源码

芯动大师

ubuntu 操作系统 编译

SVN 合并到 Git 时有文件大于 100 M 被限制 Push

HoneyMoose

第六届·2024 MindSpore 量子计算黑客松热身赛赛题解读

华为云开发者联盟

人工智能 华为云 华为云开发者联盟 企业号2024年5月PK榜

激发大数据场景价值,润和软件HopeOS闪耀鲲鹏昇腾开发者大会2024

科技热闻

OpenHarmony 成功亮相国际学术会议 ASPLOS 2024

科技热闻

Imagenomic Portraiture 4.5 ps智能磨皮滤镜插件

Rose

谷歌访问助手,解决chrome扩展无法自动更新的问题

Rose

IBM发布开源AI编程模型Granite Code

算AI

人工智能 AI AI编程

详解GaussDB(DWS)中的行执行引擎

华为云开发者联盟

数据库 华为云 华为云开发者联盟 华为云GaussDB(DWS) 企业号2024年5月PK榜

2023年TCL实业营收突破1,200亿元,同比增长13%

极客天地

智谱AI亮相2024 ICLR,分享面向AGI的三大技术趋势

极客天地

"Global Golden Course" - Certified ScrumMaster (Delivered in English at weekend)

ShineScrum

Scrum Agile ScrumMaster Agile Coach

PS磨皮滤镜降噪插件套装 Imagenomic Professional Plugin Suite 支持ps2024

Rose

LED显示屏技术升级方向解析

Dylan

工具 LED显示屏 全彩LED显示屏 led显示屏厂家 舞台表演

智能助手上线,大模型提供云服务专属顾问

Baidu AICLOUD

大模型 Copilot AI智能客服

ETL中如何执行Python脚本

谷云科技RestCloud

Python 脚本 ETL 数据集成工具

克服 Prometheus 单值数据模型的局限性:GreptimeDB 的新路径

Greptime 格睿科技

数据库 sql Prometheus PromQL

MySQL面试二之binlog日志

Hunter熊

MySQL Binlog

基于阿里云向量检索 Milvus 版与 PAI 搭建高效的检索增强生成(RAG)系统

阿里云大数据AI技术

人工智能 阿里云 Milvus

芯盾时代智能风控决策系统信贷版

芯盾时代

监管合规 风控系统 金融业 信贷

开源之夏2024学生报名启动!阿里云PolarDB社区项目期待你的参与!

阿里云数据库开源

数据库 阿里云 学生开发者

手把手系列!使用 Zilliz Cloud 和 AWS Bedrock 搭建 RAG 应用

Zilliz

AWS Zilliz zillizcloud Amazon Bedrock

金融大模型,要听见远方的风

脑极体

AI

速度围观|使用分布式企业级任务调度平台,到底有多香?

智在碧得

数字化转型 XXL-JOB 任务调度平台 http任务 elastic job

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