10 月 23 - 25 日,QCon 上海站即将召开,现在购票,享9折优惠 了解详情
写点什么

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

评论

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

百度荣获 CCIA数据安全工作委员会突出贡献奖

百度安全

C++面试必备:常见C++面试题汇总及详细解析

小万哥

面试 软件开发 C/C++ 常见 汇总

寻找“乘风破浪”的出海创新势力丨 2023出海企业创新价值榜报名启动

创业邦

《零代码应用实例》,从案例到使用

明道云

功能全面的数据库软件:DBeaverUltimate 中文旗舰版

真大的脸盆

Mac 数据库管理 Mac 软件 管理数据库 数据库工具

Spring事务失效场景

TaurusCode

Spring Boot 事务 java基础 事务失效 事务回滚

极客时间运维进阶训练营第七周作业

忙着长大#

极客时间

强大的绘图软件:OmniGraffle中文激活版

真大的脸盆

Mac Mac 软件 绘图软件 绘图工具

WordPress 插件 g5plus 修改属性

HoneyMoose

百度获CCIA数安委《数据安全和个人信息保护社会责任指南》首批试点示范单位

百度安全

新能源的B面:下沉市场的机会与变量

Alter

新能源 下沉市场

IT 数字化转型

L3C老司机

数字化转型 产品研发 工程效能 项目交付 胜任力模型

5年MacBook用户最常用的Mac软件推荐

Rose

苹果 mac软件下载

ChatGPT4.0,基础生产力的变革!

老张

人工智能 ChatGPT ChatGPT4

IntelliJ IDEA 2023.1 版本添加了包中类的列表功能

HoneyMoose

发声全球边缘计算大会,火山引擎荣获“最佳边缘云服务商”称号

火山引擎边缘云

火山引擎 边缘云 火山引擎边缘计算

Linux 开启或关闭 SELinux

HoneyMoose

电商秒杀系统

Ryan

Jenkins 修改启动的端口

HoneyMoose

WordPress 网站 Error Establishing a Database Connection(建立数据库连接时出错)

HoneyMoose

Linux 查看 SELinux 的状态

HoneyMoose

秒懂算法 | 链表

TiAmo

算法 链表 C++ STL 静态链表 动态链表

好用的无损播放器:Audirvana v3.5.50中文激活版

真大的脸盆

Mac 软件 音乐播放 无损播放器

比尔·盖茨最新AI演讲:人工智能时代已经开启

Chares

人工智能 机器学习 微软 ChatGPT

ChatGPT研究(一)——AI平民化的里程碑

Chares

人工智能 机器学习 AIGC ChatGPT

分享交流丨九科信息董事&产品VP傅恺受邀出席第三届ISIG中国产业智能大会并分享企业优秀案例

九科Ninetech

Jetpack-Compose 学习笔记(三)—— Compose 的自定义“View”

修之竹

android Compose JetPack android jetpack

浙江杭州|Hi TECH 2023 年全球青年创业大赛

科兴未来News

数字经济 杭州 新能源 生物医药 #双创赛事#

Spring 项目运行提示错误 Not a managed type

HoneyMoose

CnosDB 2.0 Arrow Flight SQL使用指北

CnosDB

开源 时序数据库 CnosDB Arrow Flight SQL

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