随着CentOS宣布停止支持,许多企业和开发者正在寻找更稳定、安全的替代品。而作为国产开源Linux发行版之一,龙蜥Anolis OS备受关注。那么,龙蜥OS有哪些优势呢?接下来我们从多个方面聊聊。
背景介绍
2021年10月19日的大会上,阿里云发布全新操作系统“龙蜥”并宣布开源。龙蜥操作系统定位于服务器端,支持X86、ARM等多种芯片架构和计算场景。
2022年6月13日,龙蜥社区对外公布了下一代龙蜥操作系统(Anolis OS 23)研发路线图,PoC 版已在社区官网上线,正式版本2023 年发布,它支持 X86、ARM-v9、RISC-V 等多种芯片架构,并集成更多核心自研组件。
2023年7月20日消息,龙蜥社区宣布推出自研根发行版-Anolis OS 23,新增对智能计算的全面支持,内置 rpm 格式的 AI 组件、主流 AI 框架 tensorflow2、pytorch ,支持一键安装 nvidia GPU 驱动、CUDA 库等。龙蜥社区将基于 Anolis OS 23 构建 AI 容器镜像生态,提供主流的 AI 训练/推理镜像,并发布开箱即用的 modelscope / huggingface AI 大模型实践镜像,稳步提升 AI 的支持蓝图。
【相关信息】
据介绍,龙蜥操作系统定位于服务器端,支持X86、ARM等多种芯片架构和计算场景。该系统已在阿里巴巴内部打磨10年,有效支撑了历年天猫双11,性能和稳定性均经受住了严苛的考验。
针对云原生应用开发龙蜥做了多重优化,为云上典型场景带来40%的综合性能提升,故障率降低50%,兼容CentOS生态,支持一键迁移,并提供全栈国密能力。
龙蜥操作系统完全开源,通过开源社区和操作系统厂商等形式提供服务。
- 未来,阿里云计划为龙蜥投入20亿专项资金,并联合100家生态合作伙伴推动生态建设,提供至少十年技术支持。
Anolis OS亮点
龙蜥操作系统具有以下技术亮点:
与 CentOS 软件生态兼容:兼容 CentOS 软件生态,兼容国际主流 Linux 厂商发行版
支持Dragonwell云原生Java:支持Dragonwell云原生Java运行时
支持Linux Kernel 4.19 LTS:支持 Linux Kernel 4.19 LTS 版本并同步上游社区最新成果,帮助用户及时获得开源社区创新红利
支持多计算架构和主流服务器硬件:支持x86_64 和aarch64架构及飞腾、海光、兆芯、鲲鹏等芯片,适配 x86 及 arm64 主流服务器硬件
提供迁移工具:提供CentOS系统到Anolis OS迁移工具,帮助系统及应用的顺滑迁移
支持开源分布式关系数据库OceanBase:2021年数据分析型基准测试TPC-H榜单第一
支持安全容器Kata Containers:开放的符合OCI标准的安全容器
支持开源云原生关系型数据库PolarDB:新一代关系型云原生数据库
以上8点均是龙蜥官方社区给出,其中最大的亮点自然是第一点了,能够与CentOS软件生态兼容意味着龙蜥Anolis OS能够无缝运行CentOS上的大多数软件和工具。这对于用户来说非常重要,因为他们可以继续使用他们在CentOS上喜爱和依赖的软件和工具,而无需进行重大的更改或迁移。
具体来说,这种兼容性包括以下几个方面:
(1)应用程序兼容性:龙蜥Anolis OS能够运行基于CentOS开发的应用程序,无需对代码进行修改或重新编译。这意味着企业和开发者可以继续使用他们在CentOS上构建的应用程序,而不会受到平台变化的影响。
(2)软件包管理兼容性:龙蜥Anolis OS使用与CentOS相同的RPM打包管理系统,这意味着CentOS上的软件包同样可以在龙蜥OS上进行安装和管理。用户可以通过命令行或图形界面工具使用已有的软件包库,轻松获取和更新软件。
(3)开发工具兼容性:龙蜥Anolis OS提供了与CentOS相同的开发工具链,如GCC、GDB等。这使得开发者可以继续使用他们所熟悉的工具和环境来进行软件开发和调试。
(4)框架和库兼容性:龙蜥Anolis OS与CentOS共享许多常用的开发框架和库,如Python、Java、Node.js等。这意味着现有的应用程序和项目可以在龙蜥OS上无缝迁移,并继续使用这些框架和库。
但此时,笔者想到一个问题,既然都兼容,那会是套壳吗?于是乎笔者查询了众多资料,直到看到了龙蜥官方采访时的一篇文章。https://developer.aliyun.com/article/798695?spm=5176.28261954.J_7341193060.16.e3892f3dHP78SE&scm=20140722.S_community@@%E6%96%87%E7%AB%A0@@798695._.ID_community@@%E6%96%87%E7%AB%A0@@798695-RL_%E9%BE%99%E8%9C%A5%E6%93%8D%E4%BD%9C%E7%B3%BB%E7%BB%9F-LOC_llm-OR_ser-V_3-RK_rerank-P0_3
以下段落摘自以上链接文章:
套壳还是换芯?
作为一个追求稳定的发行版,龙蜥操作系统成为 CentOS 转为 Stream 模式后的一个不可忽视的选择。也让 龙蜥操作系统成为了众矢之的:“既然宣称兼容 CentOS,那是不是就是 CentOS 套壳?”
我用这么一个尖锐的问题,来寻求马涛的答复。他没有顾左右而言他,直接了当地给出了他的答复:“兼容不仅仅不是套壳,更是技术能力强的体现”,并进一步解释到:“兼容性并不是一句简单的大白话,背后包括了一整套兼容性分析体系,比如对语言运行时的分析、对系统参数和行为的分析、对内核的接口分析等等,是一个贯穿操作系统、从上到下的超级工程。另一方面,龙蜥操作系统是一个面向企业提供服务的发行版,稳定是第一要素。而对于目前的 CentOS 用户来说,我们如果无法提供对 CentOS 的兼容,又有哪个企业敢于选择龙蜥操作系统呢?”
其实每一次提起国产的 Linux 发行版,难免都会提及“套壳”这个话题。也正好借着龙蜥操作系统的话题,来聊聊这个事情。
到底什么才是“套壳”?我们似乎一直都没有一个明确的定义,难道说用了 Linux 内核就是 Linux 的“套壳”么?显然不是的。那所有使用 RPM 包的发行版都是 CentOS “套壳”么?答案显然也是否定的。
其实从 Linux 的发行版的发展来看,所有的发行版几乎都可以称之为“套壳”,除了 Arch Linux 、Gentoo 等几个少数的发行版以外,大部分都在使用 Deb 、RPM 打包系统,很难跳出这两个包管理器的世界,难道说这世界上只有两个发行版么?
对于 Linux 发行版来说,我们如果真的要定义“套壳”,应该说那些是“基于某一个发行版,替换一下主题,更新一下软件,替换一些字眼”的发行版才是“套壳”,而我们看到的,像 SESL、openSUSE 之类的这些发行版,它们更多是延续社区的成功经验,沿袭 CentOS 既有的技术方向,但独立发展,独立迭代的独立发行版。
基于这一点笔者也想谈谈自己的浅薄理解,有不对之处请各位指正。
国产操作系统
我们为什么需要国产操作系统?
作为未来可以挑战美国的潜力国家,我们被美国视为战略对手,对于对手,美国不可能放任我们愉快地成长,操作系统作为信息领域的核心之一,如果不能掌握在自己手中,关键时刻可能会致命,国家的安全根本无从谈起,诚然我们现在似乎可以无忧无虑的使用盗版Windows,但它有没有后门我们根本无从得知,其实有后门应该是必然的事情,也就说美国只要愿意可以随时从你的电脑窃走一切资料,大家应该对前几年的斯诺登事件应该有所了解吧,美国可能无时无刻不在监视全球。对于我们普通民众个人隐私都十分重要,更何况是党政军等领域,如果这些核心关键领域没有自己的操作系统,那将是一件十分危险的事。
在此,笔者列举了以下几个方面来说明:
(1)提升信息安全:国产操作系统可以更好地保护用户的信息安全。由于国产操作系统的开发和维护在国内进行,政府和相关机构能够更好地监管和审计操作系统的安全性,有效减少外部威胁和潜在的数据泄露风险。
(2)自主可控:依赖国外操作系统可能会面临技术封锁、供应链风险等问题,而拥有自主的国产操作系统可以提高我们在技术上的自主权和可控性。国产操作系统可以根据本土需求进行优化和定制,满足特定行业、政府机构等用户的需求。
(3)促进技术创新:国产操作系统的研发和推广可以促进本土技术创新和人才培养。通过开发和完善操作系统,国内企业和研究机构可以积累技术经验,提升技术实力,并在操作系统领域取得突破和创新。
(4)推动产业发展:打造国产操作系统也能推动相关产业的发展。国产操作系统的推广和应用会带动相关硬件设备、软件应用、云服务等产业链的发展,形成一个完整的生态系统,促进国内产业的增长和竞争力的提升。
(5)降低依赖风险:减少对外国操作系统的依赖可以降低因地缘政治、贸易战等因素带来的风险。国产操作系统可以确保在各种情况下都能提供稳定可靠的技术支持,不会受到外部因素的影响而导致服务中断或技术壁垒。
所以,由此可见,国产操作系统在提升信息安全、自主可控、技术创新、产业发展和降低依赖风险等方面都具有重要意义,也是我们未来的必经之路。
为什么大家都这么讨厌国产操作系统?
在过去,人们谈到国产操作系统时大家脑海其实会自然而然的浮现出一些关键词,比如:
(1)系统稳定性差:在国产操作系统研发初期里,国产操作系统质量确实存在着一些问题。例如,国产操作系统在运行速度、稳定性、兼容性等方面都不如国外的系统。
(2)系统设计不人性化,用户体验差:国产操作系统的设计理念、设计界面和功能与国外的系统相比还有很大的差距。
(3)缺乏创新:在与新技术或者新功能的采用或兼容上总是滞后的。
(4)安全和隐私问题:一些国产系统在系统升级和漏洞修复方面存在滞后,这会给用户的数据安全带来潜在的风险。
(5)缺乏开放性和生态支持:缺乏一个可以学习交流的平台,固步自封。
(6)广告和强制推广:某些国产操作系统会大量投放广告、强制预装应用程序并推广特定的产品和服务,给用户带来广告侵扰和强制性推销的困扰。
以上诸多的历史原因确实给国产系统留下了不好的印象,让人们难以相信国产系统的质量和可靠性。
随着国产化趋势的发展,国家也开始大力鼓励国产操作系统的研发,系统稳定性、系统设计、功能创新、生态支持等方面有了较大的进步,就当大家都以为一切都欣欣向好的时候,某麟爆出了抄袭丑闻。
【涉嫌抄袭事件】
在2006年4月27日网友Dancefire的一篇技术分析文章中声称 [1] ,通过对麒麟操作系统2.0版本进行反汇编,麒麟操作系统与美国开放源代码的FreeBSD操作系统5.3版本相似度在90%以上。更多的证据指出,麒麟操作系统仅仅是对开源的FreeBSD进行了一定的修改,而不是新闻媒体所说的 “中国独立研发成功”和“拥有完全自主版权的内核”。
麒麟里面有加州大学伯克利分校的声明没有去掉,所以专家出来解答这是中国军方与美国合作开发的。
可笑的是,中国自主研发的操作系统居然还需要美国去参与?那这何谈国产化呢?
随后这么多年,套壳、换芯的标签就如附骨之蛆硬生生打在了国产操作系统的身上。
在以上诸多因素的综合作用下,这才导致了大家对于国产操作系统的不看好甚至是抵制。
为什么我们都这么讨厌套壳操作系统?
说到套壳,笔者先聊聊自己对套壳的定义。
从狭义上来说,完完全全照抄或者少量改编原有Linux内核,结合自构的可视化界面,修改部分适配软件名,替换部分名称、字眼等形成的操作系统称为套壳操作系统。
从广义上来说,凡是基于linux内核开发,采用Linux逻辑,甚至是基于Linux内核思想从底层一步一步搭建的自研操作系统都可以算成是套壳操作系统。
目前,网络上有部分人混淆视听,对于这两种定义一概而论,一味的去抵制国产操作系统,可见用心叵测。
笔者认为,对于广义上的套壳是在可接受范围之内的,人们仅仅讨厌的是狭义上的套壳行为。
linux经过了数十年的发展,全世界无数技术专家在不停的完善它,这中间也有很多中国的贡献者,它已经变得足够优秀,它的可用性、稳定性已经得到了验证,最重要的是生态,它能够得到硬件厂商的广泛支持。如果你是开发操作系统的厂商,你是会选择重新建内核,重新另起炉灶吗?你的新系统别人硬件厂商都要适配才能用,你能说服这么多的厂商吗?没有适配,用户想打印个文件都打不了,办公软件也用不了,那么所谓的完全国产化操作系统意义何在?
因此有时用拿来主义未尝不可,我们要搞国产化,目的是为了本国的安全,关键时刻能不被“卡脖子”,而作为开源系统的linux完全符合这个目的,它的源代码全世界都能看到,加上较为完整的生态系统。我们拿过来用正合适不过,唯一的问题就是面子上,似乎不怎么好看。
所以,此处谈的就是为什么我们都这么讨厌狭义上的套壳行为
笔者认为原因有以下两个:
(1)挂羊头卖狗肉:对外宣称是全国产自研,骗取国家经费,套壳完成后走捷径拿到发版权,直接提供给用户使用,欺骗国家和用户,极其不负责任。
(2)隐私泄露严重:出于某些目的,在使用国产操作系统可能会被收集一些用户的个人信息,并追踪他们的行为活动,然后将这些信息用于商业目的,如果采用套壳系统的话可能导致更为严重的后果。
我们需要怎样的国产操作系统?
乍一看这似乎是一个很难回答的问题,因为不同的岗位 、不同的行业对于操作系统的需求认知是不一样的,所以这也很难直接说清楚我们到底需要什么样的国产操作系统。但是结合当前国内国产操作系统的现状,抛开基本要求稳定性、易用性不谈,我们显然也可以得到一些额外的答案:
(1)自主创新或者二次创新:国产化操作系统应该基于自主研发的核心技术,摆脱对外界技术的依赖。在操作系统的开发过程中,国内开发者应该注重创新,推动操作系统技术的进步和发展,拒绝完全套壳的行为发生。
(2)安全可控:国产化操作系统应该具备高度的安全性和可控性,确保用户数据和隐私的安全。操作系统需要提供完善的安全防护机制和加密技术,以及针对不同层面的安全策略,保障用户信息的安全。
(3)生态繁荣:国产化操作系统应该建立健全的应用生态系统,吸引和扶持大量开发者参与应用开发。操作系统需要提供开发者友好的工具和接口,支持应用程序的丰富多样,以满足用户的日常需求。
结语
目前国产操作系统多如牛毛,优秀的国产操作系统却屈指可数,大部分操作系统在应用生态上还有所欠缺,一般也就是只是适合日常办公使用,更多的高性能要求就不免有些乏力。还有很多打着国产操作系统的幌子,实际就是做了个UI的套壳,华而不实。只有少数操作系统,完全从底层出发,一步一步搭建属于我们自己的东西,这才是国产操作系统该走的路。
面对国产操作系统的发展,我们需要认识到其中存在着许多挑战,这需要每位开发者不断地探索、研究和创新。只有通过不懈的努力,才能推动这场信息技术革命向前迈进,实现国产操作系统的真正崛起。正如孙中山先生所说:“革命尚未成功,同志仍需努力。” 作为一项划时代的技术创新,国产操作系统需要我们继续努力,持续不断地提升技术水平和创新能力,方能实现国家信息化建设的目标。
本文为原创,作者:周周的奇妙编程