龍蜥開發者說:學無止境的 Linux ,以及我的第一個定製版本釋出之路 | 第4期

OpenAnolis小助手發表於2022-04-08

「龍蜥開發者說」來了!開發者與開源社群相輔相成,相互成就,這些個人在龍蜥社群的使用心得、實踐總結和技術成長經歷都是寶貴的,我們希望在這裡讓更多人看見技術的力量。本期故事,我們邀請了龍蜥社群開發者魏明江來分享「學無止境的 Linux」。

歡迎閱讀上期故事《龍蜥開發者說:聊一聊我技術生涯的“三次迭代” | 第 3 期》。開發者說系長期活動,對於積極投稿、多次分享的童鞋,我們還有神秘大禮鼓勵!誠邀開發者們分享真實體驗,以文會友、共同學習、一起進步。

本期故事主角:魏明江,軟體開發工程師,2021 年度龍蜥社群開發者「突出貢獻獎」獲得者,2017年開始一直從事大雲天元作業系統(BC-Linux)的開發工作,主導參與多個 BC-Linux 版本的釋出工作,擅長 Linux 系統的定製化開發、映象製作、安裝啟動、系統運維等方面。參與社群建設期間,基於Anolis OS 版本定製開發 BC-Linux V8.2產品,在測試期間提交多個 issue。

遙記當年大學第一次上 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 版本進行新版本系統的研發,並與龍蜥社群在系統故障診斷工具、全棧國密、系統遷移工具等多個方面開展合作,更加深入地參與到社群的各個專案中去。

(圖/與 2021 年度開發者「突出貢獻獎」獎牌合影)

龍蜥社群作為一個年輕的社群,自身也在高速發展中,希望後續能夠為開發者提供一些更便捷的措施,主要有以下三點:

進一步加強軟體包的開放,特別是一些二次開發依賴的軟體包;

增加軟體包搜尋功能,展示各版本軟體包的修改日誌,便於開發者快速獲取軟體包機器更新資訊;

開放社群編譯平臺,便於開發者使用社群的編譯環境。

後續我們也會繼續與龍蜥社群合作,持續推出 Linux 伺服器作業系統,為移動雲各專案提供自主可控、安全穩定的作業系統技術底座能力。

—— 完 ——

加入龍蜥社群

加入微信群:新增社群助理-龍蜥社群小龍(微信:openanolis_assis),備註【龍蜥】與你同在;加入釘釘群:掃描下方釘釘群二維碼。歡迎開發者/使用者加入龍蜥社群(OpenAnolis)交流,共同推進龍蜥社群的發展,一起打造一個活躍的、健康的開源作業系統生態!

關於龍蜥社群

龍蜥社群(OpenAnolis)是由企事業單位、高等院校、科研單位、非營利性組織、個人等在自願、平等、開源、協作的基礎上組成的非盈利性開源社群。龍蜥社群成立於 2020 年 9 月,旨在構建一個開源、中立、開放的Linux 上游發行版社群及創新平臺。

龍蜥社群成立的短期目標是開發龍蜥作業系統(Anolis OS)作為 CentOS 停服後的應對方案,構建一個相容國際 Linux 主流廠商的社群發行版。中長期目標是探索打造一個面向未來的作業系統,建立統一的開源作業系統生態,孵化創新開源專案,繁榮開源生態。

目前,龍蜥OS 8.4已釋出,支援 X86_64 、Arm64、LoongArch 架構,完善適配飛騰、海光、兆芯、鯤鵬、龍芯等晶片,並提供全棧國密支援。

歡迎加入我們,一起打造面向未來的開源作業系統!

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/70004278/viewspace-2886238/,如需轉載,請註明出處,否則將追究法律責任。

相關文章