天天看點

龍蜥作業系統:又一個 Linux 作業系統?

編者注:近期,Linux中國對話龍蜥社群理事長馬濤,聊了聊龍蜥作業系統背後的事情。龍蜥社群授權轉發,希望給開發者們呈現更多視角的龍蜥,也把部分問題的思考和答案留給大家來探尋。

龍蜥作業系統:又一個 Linux 作業系統?

Anolis OS != Another Linux OS

作者:Bestony

故事的開始

自從 CentOS 宣布 CentOS 8 将成為絕響,業界在一片歎息和抗議之後,紛紛易弦更張,尋找别的替代品。這之後,開源社群和業界對 CentOS Stream 的讨論并沒有如預期的增加。除了偶爾成立的幾個 Stream SIG 還能引來一些關注,很多人都已經将目光放到了其它的替代品上了,尤其是采用了相容 RHEL/CentOS 技術路線的幾個國内外 Linux 發行版,在很短的時間内就獲得了快速發展和極大關注。

在這個形勢之下,國内有幾家以企業服務市場為目标的“新” Linux 發行版紛紛湧現。其實說“新”也不新,這些發行版大多沿襲自它們的發行商原本的企業内的定制分支,甚至有的發行版在 CentOS 停更之前就公開釋出過。但說它們“新”是因為在新的機遇之下,這些發行版一改過去低調發展、克制疊代的風格,更主動地擁抱了市場和疊代新技術,并将其投放到更大的使用者市場。

這裡,我們要談談其中一個值得注意的企業級作業系統:龍蜥作業系統(Anolis OS)。作為由阿裡巴巴所孵化出來,并迅速擁有了多家核心企業支援的 Linux 發行版,顯然是很具有話題性和影響力的,也不可避免的會遇到一些争議和觀察。為此,我帶上問題和龍蜥社群的理事長馬濤聊了聊關于龍蜥作業系統背後的那些事情。

磨一劍,需十年

龍蜥作業系統并不是一個憑空誕生的發行版,相反,龍蜥作業系統更像是阿裡巴巴十年磨一劍的産物,也是阿裡巴巴和以統信及三大營運商等為代表的多家企業的技術沉澱。

早在十年前,淘寶核心組就基于 Linux 核心打造了一個阿裡雲内部使用的 Linux 發行版。而随着阿裡巴巴集團業務的擴大,淘寶核心組從過去隻服務于淘寶内部,變成了如今的阿裡雲智能基礎軟體部,将過去隻為阿裡巴巴内部提供服務的技術,開放給了更廣泛的開發者使用。也正是因為這樣的變化,促成了龍蜥作業系統的誕生。

龍蜥作業系統最大的特色是除了社群多家生态企業的聯合推動,還有不少來自阿裡巴巴及其使用者的多年技術實踐的沉澱。

在系統安全方面,除了基于阿裡雲在網絡安全領域的積累而做的作業系統層面的加強外,龍蜥作業系統還提供了基于 OpenSSL 衍生的 BabaSSL,為龍蜥作業系統提供了諸如國密算法、QUIC API 等特性。它還内置了首個機密計算開源容器

Inclavare Containers,後者剛剛被捐贈給 CNCF 基金會孵化。這樣,在安全方面龍蜥作業系統從根本上奠定了解決可信、可控問題的基礎。

在系統管理方面,龍蜥作業系統則提供了一個全棧覆寫核心與核心元件的跟蹤和診斷工具 sysAK,增強龍蜥作業系統在系統層面和應用層面的可觀測性和可靠性,讓業務的監控和診斷更加簡單易用。

此外, 還有 Java 虛拟機 Dragonwell、PolarDB、OceanBase等一系列阿裡巴巴自研的技術,都可以在龍蜥作業系統中找到身影。可以看出,阿裡巴巴是想将龍蜥作業系統打造成一艘承載着阿裡巴巴在 Linux 技術方面多年積澱的旗艦。

一個字,“穩”

對于龍蜥作業系統來說,穩定是第一要素。那就要看,龍蜥作業系統為何這麼穩定?

得益于淘寶和阿裡雲多年的打磨,曆經多年的雙十一大促、阿裡雲流量暴漲等事件的打磨,如今的龍蜥作業系統在穩定這件事情上,做到了極緻。

龍蜥作業系統,是在國家有關主管部委的指導下,以阿裡雲為牽頭機關,聯合統信軟體等多家專業作業系統廠商、多家晶片廠商和大行業使用者共同推出的。這意味着它的演進速度、演進場景完全不同。相比于傳統的作業系統場景,龍蜥作業系統的演進往往是在各種大型流量和大量使用者群的場景下催生的。

龍蜥作業系統:又一個 Linux 作業系統?

CentOS 主流版本與 Anolis OS 衍生版當機率對比 出處:阿裡雲

通過在真實的業務流量場景下運作龍蜥作業系統,并在發現問題後及時修複,将更新推送到最新的龍蜥作業系統。它背後的阿裡雲,為龍蜥作業系統的疊代和更新提供了海量的修複案例,幫助它在更多問題發生之前就将其解決掉。

如果我們将龍蜥作業系統和一些傳統發行版的廠商相比,龍蜥作業系統更像是通過開源的範式來開發的一個作業系統:通過将作業系統放在海量的應用場景和實戰場景下,去盡可能多地發現問題、修複問題。而傳統發行版廠商則更像是發現一個問題,修複一個問題,見招拆招地處理問題。雖然也會有定期的修複更新,但發現問題的頻率和對疊代的訴求,顯然和擁有海量應用場景的龍蜥作業系統不同。

套殼還是換芯?

作為一個追求穩定的發行版,龍蜥作業系統成為 CentOS 轉為 Stream 模式後的一個不可忽視的選擇。也讓 龍蜥作業系統成為了衆矢之的:“既然宣稱相容 CentOS,那是不是就是 CentOS 套殼?”

我用這麼一個尖銳的問題,來尋求馬濤的答複。他沒有顧左右而言他,直接了當地給出了他的答複:“相容不僅僅不是套殼,更是技術能力強的展現”,并進一步解釋到:“相容性并不是一句簡單的大白話,背後包括了一整套相容性分析體系,比如對語言運作時的分析、對系統參數和行為的分析、對核心的接口分析等等,是一個貫穿作業系統、從上到下的超級工程。另一方面,龍蜥作業系統是一個面向企業提供服務的發行版,穩定是第一要素。而對于目前的 CentOS 使用者來說,我們如果無法提供對 CentOS 的相容,又有哪個企業敢于選擇龍蜥作業系統呢?”

其實每一次提起國産的 Linux 發行版,難免都會提及“套殼”這個話題。也正好借着龍蜥作業系統的話題,來聊聊這個事情。

到底什麼才是“套殼”?我們似乎一直都沒有一個明确的定義,難道說用了 Linux 核心就是 Linux 的“套殼”麼?顯然不是的。那所有使用 RPM 包的發行版都是 CentOS “套殼”麼?答案顯然也是否定的。

其實從 Linux 的發行版的發展來看,所有的發行版幾乎都可以稱之為“套殼”,除了 Arch Linux 、Gentoo 等幾個少數的發行版以外,大部分都在使用 Deb 、RPM 打包系統,很難跳出這兩個包管理器的世界,難道說這世界上隻有兩個發行版麼?

對于 Linux 發行版來說,我們如果真的要定義“套殼”,應該說那些是“基于某一個發行版,替換一下主題,更新一下軟體,替換一些字眼”的發行版才是“套殼”,而我們看到的,像 SESL、openSUSE 之類的這些發行版,它們更多是延續社群的成功經驗,沿襲 CentOS 既有的技術方向,但獨立發展,獨立疊代的獨立發行版。

Anolis OS != Another Linux OS

是以,我們認為,龍蜥作業系統不是“又一個 Linux 作業系統”。一方面,這不是“又一個簡單複制”,套個殼的 Linux 發行版;另一方面,龍蜥作業系統承載的也不僅僅是 Linux 作業系統,在其上還搭載着各種安全、容器、應用服務等最新技術,是一艘久經風浪的、穩定的不沉之舟。

花絮:我問馬濤,到底龍蜥作業系統的英文名稱 “Anolis OS” 是什麼縮寫?他說:Anolis is Not Only LInux System。嗯,這很 GNU(is Not Unix)!

支援,還是支援

CentOS Linux 的落幕,源自其失去了企業的支援,源自單方面的付出沒有回報讓企業失去了支援下去的勇氣。而這個問題,其實對于任何一個發行版來說,都是存在的。龍蜥作業系統能夠獲得什麼樣的長期支援,才是它長期發展下去的原生動力。

就此問題,我對馬濤進行了“逼問”,龍蜥作業系統可以承諾多少年的支援?

馬濤給了我一個明确的承諾:10 年!

加入龍蜥社群

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

龍蜥作業系統:又一個 Linux 作業系統?

關于龍蜥社群

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

短期目标是開發龍蜥作業系統(Anolis OS)作為 CentOS 替代版,重新建構一個相容國際 Linux 主流廠商發行版。中長期目标是探索打造一個面向未來的作業系統,建立統一的開源作業系統生态,孵化創新開源項目,繁榮開源生态。

龍蜥OS 8.4

已釋出,支援 x86_64 、ARM64、LoongArch 架構,完善适配 Intel、飛騰、海光、兆芯、鲲鵬、龍芯等晶片,并提供全棧國密支援。

歡迎下載下傳:

https://openanolis.cn/download

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

https://openanolis.cn