CentOS的流行度,不用多啰嗦了吧,毕竟是装机量最高的免费版Linux Server。
可是,CentOS 8 将在年底“彻底”终止支持,就问你怕不怕?!再也没有这么好用Linux可以“白嫖”了,就问你急不急?
今天,我们就花点时间,把这件事掰扯清楚,给大家个完美的解决方案。
一、CentOS真的要“停更”了吗?
我们先不慌下结论,来看看CentOS历代版本的支持周期。
CentOS的支持,分为完整更新(Full updates)和维护更新(Maintenance updates),前者包含功能更新和新硬件支持,后者则只更新重大bug和安全补丁。
从这个表能看个大概,现存“活跃”的CentOS,还剩下v7和v8,而v8还剩5个月就停止支持,v7还乐观一些,保持着原来的维护节奏。
所以,看起来CentOS要绝版了?
不!红帽推出了一个更好用的版本来代替它,这个替代品就是CentOS Stream!
二、什么是CentOS Stream,为什么说它是更好的“CentOS”?
要想搞明白啥是CentOS Stream,我们要先扯扯软件的上游版本(UpStream)和下游版本(DownStream)。
简单讲,如果以红帽Linux企业版(RHEL)的发布为分界线,之后的“衍生版”,就是DownStream,之前的“预览版”,就是UpStream。
先看CentOS是怎么来的,CentOS是紧跟在红帽Linux企业版之后,RHEL每发布一个正式版本,CentOS就“复刻”一个衍生版本,去掉红帽相关版权标识信息,变成免费的。
像CentOS这样亦步亦趋,跟在RHEL“屁股”后面发版本的模式,就叫做DownStream,下游模式。选择DownStream的好处,是因为它跟RHEL一毛一样,品质靠强大的RHEL来背书。
那这种DownStream模式有啥弊端呢?
下面这张图,可能看的更清楚。
我们拿CentOS 7.x来举例,作为“DownStream”,CentOS会严格跟随主线,RHEL有的新功能它都照搬,RHEL没有的,CentOS也绝对不会“夹带私货”。
这就造成了一个问题,由于CentOS的“爱好者”很多,大家在各自使用的过程中,可能会根据自身的业务需求,或多或少的对CentOS做些改进,形成了一些“支线”。
可是,由于CentOS是玩“下游模式”的,一旦RHEL发布了新版本,CentOS的新版只能追随,而不能把自己“山寨”的那些功能和改进继承下来。
CentOS的这个做法,就有点像黑瞎子掰玉米,手里永远只有和RHEL一致的那个玉米棒子,而自己以前的那些“老棒子”,却攒不下来。
是不是有点可惜?你一顿操作猛如虎,把CentOS魔改了一番,结果新版CentOS一发布,你可能又要从头再来了。
这,就是DownStream的弊端,特别拧巴,红帽正是看到了这个问题,才狠下决心,把CentOS改成UpStream模式,用CentOS Stream来替代。
我们再来看,UpStream是怎么个玩法。简单理解,你可以认为是RHEL正式版发布之前的beta版或者预览版。
极客们特别喜欢的Fedora Linux,也可以看做是RHEL的一个UpStream版本,只不过Fedora在上游更远,像一个新功能试验场,而这次,红帽把CentOS Stream放到了上游紧贴RHEL正式版的位置。
也就是说,CentOS Stream其实和正式版RHEL几乎是一致的。但因为所处的位置不同,意义完全不一样了:新“CentOS”融入到了整个RHEL的开发流程中。
你对CentOS Stream的任何改进建议,都可能被融合到新发布的RHEL中,取其精华去其糟粕,再也不会“黑瞎子掰苞谷”了。
当CentOS从下游挪到上游,红帽的开发工作量更大了,要处理各种Stream的反馈,然后评估并合并到主线中去。
以前CentOS是“摘桃子+掰苞谷”的玩法,质量全靠RHEL来背书。
而现在CentOS Stream也要为RHEL的质量添砖加瓦了。有了这样的“KPI”要求,CentOS Stream自然也会变得更优秀。
在搞清CentOS Stream的初心之后,连Rocky Linux的创始人Greg(也是前CentOS的联合创始人),最近也在采访中改了口,承认红帽这么做对社区是好事。
“Red Hat did the right thing and the new scenario is better than the old”
——Greg Kurtzer
三、以后CentOS还能“白嫖”吗?
回答很多朋友最最关心的一个问题,DownStream版本的CentOS停摆,那以后没有免费好用的“白嫖版RHEL”怎么办?
其实,最简单办法,你选择RHEL正式版上游最近的那个CentOS Stream版就可以了。这对绝大多数使用者,已经足够。
这里我还想特别说明一下,名义上CentOS 8 到年底就“停摆”,但CentOS Stream早就接棒了,目前你可以下载到CentOS Stream 8.4,对应的就是RHEL 8.4,而这个版本的生命周期(EOL)是到2024年5月底的。后面还会有8.5、8.6……,子子孙孙无穷匮也。
未来,你还会在RHEL9发布之前,抢先体验到CentOS Stream9,而且两者的生命周期是完全一致的。
什嘛?这样你还不放心!你想白嫖一个和正式版RHEL一毛一样的Linux?
那也很简单,反正RHEL是开源的,你完全可以学习以前CentOS的套路,拿正式版的RHEL复刻一份,去掉品牌标识重新打包,只要你遵循开源社区的规则,宅心仁厚的红帽官方是完全允许的。不妨就叫Xiaoheiyang Linux吧。
对于资深用户来说,不仅可以“魔改”,而且由于CentOS Stream是上游版本,还可深度参与到红帽RHEL的开发流程中,推动RHEL的进展。
四、红帽这么干,是为了对我们“卡脖子”吗?
在红帽刚刚宣布“终止CentOS、改用Stream”的时候,的确引发了一系列的误读,甚至有人说,红帽是在搞“卡脖子”。
当我们看明白前面UpStream的玩法细节,就会恍然大悟,完全不是那么回事。
而且,作为一家骨灰级的开源公司,红帽是真正生于开源、长于开源、成就于开源的,RHEL 提供100%的开放源代码,有多少号称「自主研发」的操作系统,都是基于RHEL魔改的,红帽却依旧笑而不语、默默支持。
同时,也只有红帽,有强大的实力、持续的投入和繁荣的社区,才Hold得住Linux商用和免费两条线,推动Linux越来越流行。
举个例子吧,在所有的Linux发行商中,只有红帽能做到这点:在一个大版本周期内,沿用相同的Linux内核版本。
比如RHEL 7.0到7.9历时10年,用的都是Linux Kernel 3.10,而RHEL 8.0到8.4,用的都是Linux Kernel 4.18。
大家都知道,一旦Linux内核版本变化,尤其是大版本变化,必然带来重大的兼容性变化,红帽这么干,就是为了保证良好前向兼容性,用户升级平滑无坑。
但这不意味着红帽会忽视Linux新内核带来的新特性,相反,红帽投入大量人力物力,把高版本内核的亮点,反向移植到当前版本。让创新和稳定两不误。
最后呢,红帽又把这些踩坑成果开源出来,让全人类“摘桃子”。
所以,人家不光不是“卡脖子”,还是“活雷锋”呀。
再举个例子,现在云原生概念很火,为了方便大家“白嫖”,6月份红帽推出了通用基础镜像(Red Hat Universal Base Image,UBI)。
这个镜像被发布在Docker Hub上,用户可以直接拖下来,一键构建自己的云原生支撑环境。
关键点是,无论你是不是红帽Linux企业版的订阅用户,都可以免费使用这个镜像。这简直就是一个官方“白嫖”版呀!
最后,我们再来总结一下:
❶红帽停掉CentOS不是“卡脖子”,CentOS Stream的新玩法,比以前的下游“掰棒子”模式更科学,更有利于社区发展,可以打造更好的“CentOS”和RHEL。
❷后CentOS时代,依然有“白嫖版”的Linux可用,CentOS Stream本身就是准商用级别,另外也可以复刻RHEL进行魔改,同时云原生玩家可以直接免费使用UBI镜像。
❸红帽是一家开源公司,过去是、现在是,未来还是。红帽更是Linux圈的实力担当,红帽的开放和无私,是推动Linux发展的动力之一。