龍蜥開發者說:學無止境的 Linux ,以及我的第一個定製版本釋出之路 | 第4期
「龍蜥開發者說」來了!開發者與開源社群相輔相成,相互成就,這些個人在龍蜥社群的使用心得、實踐總結和技術成長經歷都是寶貴的,我們希望在這裡讓更多人看見技術的力量。本期故事,我們邀請了龍蜥社群開發者魏明江來分享「學無止境的 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/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 龍蜥開發者說:我眼裡的龍蜥社群:一個包容的大家庭 | 第 10 期
- 龍蜥開發者說:海納百川,有容乃大,我在龍蜥社群的升級之旅 | 第 11 期
- 龍蜥開發者說:一人行快,眾人行遠!在龍蜥社群的日子,我想說這些 | 第 12 期
- 龍蜥開發者說:首次觸電,原來你是這樣的龍蜥社群? | 第 8 期
- 「龍蜥開發者說」徵稿啦!
- 龍蜥開發者說:聊一聊我技術生涯的“三次迭代” | 第 3 期
- 龍蜥開發者說:不忘初心,方得始終 | 第 7 期
- 龍蜥開發者說:從入坑到入門 | 第 2 期
- 龍蜥開發者說:為愛發電!當一個龍蜥社群打包 Contributor 是怎樣的體驗?| 第16期
- 龍蜥開發者說:眾人拾柴火焰高!聊一聊我在社群的所思所想 | 第 14期
- 龍蜥開發者說:歷時三週,記錄如何從 0 到 1 構建龍蜥衍生版 | 第 18 期
- 我的 Android 開發者之路以及我在其中學到了什麼Android
- 龍蜥開發者說:給晶片以系統、給系統以社群 | 第 17 期晶片
- 龍蜥開發者說:從零開始的創造,是動力也是挑戰 | 第5期
- 龍蜥開發者說:開源是場馬拉松!來自廣州大學姚同學的開源成長記 | 第 13 期
- 雙龍賀歲,龍蜥 LoongArch GA 版正式釋出
- 龍蜥開發者說:6 年前開啟的開源“潘多拉盲盒”,如今都解了哪些未知數 | 第 15 期
- OpenJDK JDK 18第一個版本釋出JDK
- 開源新聞速遞:Maui 第一個穩定版本釋出UI
- 開源新聞速遞:Apricity第一個穩定版本釋出
- iView 釋出 3.0 版本,以及開發者社群等 5 款新產品View
- Google釋出linux版本的PicasaGoLinux
- [交流] 我的第一個JavaBean測試程式不知如何釋出JavaBean
- OpenAI正式釋出第一個官方.NET版本庫的測試版OpenAI
- python爬蟲實戰,爬蟲之路,永無止境Python爬蟲
- 說說我當初是如何學Linux的Linux
- Apache Doris(incubating) 成功釋出第一個版本0.9.0ApacheBAT
- InfoQ專訪龍蜥社群陳緒:從CentOS 停服說起,龍蜥作業系統的開源觀CentOS作業系統
- 天天優惠第一個版本於6月9日釋出
- 我的Linux 之路(轉)Linux
- BabaSSL 8.3.1 釋出穩定版本
- 帝都三年Java,說說我的求職之路Java求職
- 我第一個做好的彈出選單
- 程式設計師訪談(一):學無止境程式設計師
- 我的第一個擴充套件包釋出啦-封裝明道雲API套件封裝API
- 我的第一個開源app - cnodejs-swift 客戶端釋出APPNodeJSSwift客戶端
- Jetpack Compose for Desktop第一個里程碑版本釋出Jetpack
- OpenCloudOS 首個社群版本正式釋出:穩定的企業級伺服器 Linux 發行版Cloud伺服器Linux