操作系统发展史
一 操作系统发展的洪荒时代
操作系统发展的洪荒时代:https://www.cnblogs.com/linhaifeng/p/6295875.html
二 现代操作系统发展史(上)
2.1 B语言与C语言
B语言之父:Ken Thompson(肯.汤普森)
1969年前后,Ken Thompson(肯.汤普森)在Dennis Ritchie丹尼斯.里奇(Dennis Ritchie)的支持下设计出来的一种通用的程序设计语言,现在使用者已经很少了。
C语言之父:Dennis Ritchie(丹尼斯·里奇)
1969-1973年,Dennis Ritchie(丹尼斯·里奇)在美国电话电报公司(AT&T)的贝尔实验室内开始了C语言的最初研发。根据丹尼斯·里奇说,C 语言最重要的研发时期是在1972年。
C语言之所以命名为C,是因为C语言源自Ken Thompson发明的 B语言,而B语言则源自BCPL语言,所以先B后C嘛哈哈
2.2 Unix系统
Unix之父还是他们哥俩:Ken Thompson(肯.汤普森)与Dennis Ritchie(丹尼斯·里奇)
Unix诞生于1969年,ken Tphmpson最初用汇编语言编写,后来他和Dennis Ritch一起用高级C语言重写。
事实上,C语言的诞生是和UNIX操作系统的开发密不可分的,原先的UNIX操作系统都是用汇编语言写的,1973年UNIX操作系统的核心用C语言改写,从此以后,C语言成为编写操作系统的主要语言。
UNIX 第一次公开露面是 1973 年丹尼斯·里奇和肯·汤普森在操作系统原理(Operating Systems Principles)上发表的一篇论文,然后 AT&T 发布了 UNIX 系统第 5 版,并授权给教育机构使用,之后在 1975 年第一次以 $20.000的价格授权企业使用 UNIX 第 6 版。应用最广泛的是 1980 年发布的 UNIX 第 7 版,任何人都可以购买授权,只是授权条款非常严格
Unix的诞生对整个后续操作系统发展具有深远的影响,Ken Thompson(肯.汤普森)与Dennis Ritchie(丹尼斯·里奇)也因此获得了1983的图灵奖(计算机界的诺贝尔奖)
2011年10月12日(北京时间为10月13日),丹尼斯·里奇去世,享年70岁。
2.3、Go语言
Go语言是在2007年由三个创始人在业余时间联合开发:Robert Griesemer(罗伯特.格利茨默)、Rob Pike(罗伯.派克)、Ken Thompson(肯.汤普森)
三 现代操作系统发展史(下)
================1、Multics操作系统================
MULTICS 其实是"MULTiplexed Information and Computing System"的缩写
伟大的一步
Bell(贝尔实验室), MIT(麻省理工学院人工智能实验室), GE(General Electric,通用电气)联合建立Multics操作系统
Multics操作系统是一套多使用者、多任务、多层次。
Multics是完成了,但是Multics 不断完善,和追求高目标,目标不明确了,渐渐的目标迷失,GE退出,后面bell也退出了。
================2、unix的诞生================
贝尔实验属于:AT&T(美国电话电报公司)
bell 为完成multics招聘了很多优秀的工程师,退出Multics后工程师比较闲了。
ken Tphmpson在multics制作了一款游戏:space Travel(星际旅行)跑在multics。
bell 退出multics之后,ken Tphmpson不能使用multics的运算能力了,要使用得付费。所以决定自己写一个小型系统程序可以跑起自己的游戏。
向公司申请购买PDP-11小型计算机,驳回。
PDP-11属于DEC(数字设备公司),该公司还有VAX(VMS)电脑。
在公司某角落找到PDP-7,老古董,使用汇编语言编码。
老古董好过没有,他在上面写了系统,居然可以跑起他的游戏了。
1969年,他兴奋的向各个同事兜售游戏,几乎所有的同事对于游戏没有兴趣,但是对他的系统很感兴趣,在1970年时,那部PDP-7却只能支持两个使用者,所以当时,Brian Kernighan 就开玩笑地戏称他们的系统其实是:"UNiplexed Information and Computing System",缩写为"UNICS",后来,大家取其谐音,就称其为"Unix"了,Unix因此得名,所以1970年可称为是Unix元年。
unix系统短小精悍,性能很强大,接口规范,当然功能有限。
以现在的眼光看unix依然强大没有硬伤,可见unix的设计是何等超前和强大的。
unix真正的使用,在1971年,贝尔实验室需要为自己的专利部门提供一个文字处理程序nroff。该程序的运行,需要一个底层系统。nroff在PDP运行的并不好,所以决定自己写一个系统。
ken Tphmpson和他的同事一起承包了这个项目。unix也在这当中得到了发展。
unix刚开始用汇编语言B语言所写,跟计算机PDP7耦合太大。
后来Dennis Ritch用高级C语言重写了,适用范围扩大了。
但是,当时这么做风险很大,语言越高级,消耗的计算机性能越大,而当时的计算机性能很差。
================3、unix正式问世 ================
1974,双方发表一片论文在《美国计算机通信》,unix第一次公知于众,走出贝尔实验室。引起很大反响。
很多人期望学习和研究unix。
AT&T当时被美国裁定不能销售除电话电报以外任何商品,不仅不能销售,别人要还需给。ken那是很长一段时间,把unix系统发给别人。
很多人加入的研究,反馈给贝尔实验室,unix发展迅速。
unix发行
1978:SCO 包装发行商用版unix
1979 年发行了:System V7(现在公认的第一个完美版本)
1980年DARPA(机构)想研究TCP/IP协议。把这个合同给了BSD。TCP/IP协议在unix上诞生了。
1980: Microsoft, XENIX包装发行商用版unix
BSD后面也开始发行了商业版。
windows 1990年之前一直在Unix上开发的。
Berkeley(美国加州伯克利学校): Ken 1979年在berkeley上课。
Bill Joy, BSRG, 1977, BSD(Berkeley System Distribution)发行的unix版本
1980年,美国DARPA(Defense Advanced Research Projects Agency)美国国防高级研究计划局 ,准备制定 TCP/IP协议,最终选择了BSD合作,BSD在unix基础上研究的TCP/IP协议,所以这对unix是一个极大的促进。
UNIX家谱:
UNIX的历史开始于1969年ken Thompson,Dennis Ritchie(即著名的K&G,C语言的发明人)与一群人在一部PDP-7上进行的一些工作,后来这个系统变成了UNIX。它主要的几个版本为:
V1(1971):第一版的UNIX,以PDP-11/20的汇编语言写成。包括文件系统,fork、roff、ed等软件。
V4(1973):以C语言从头写过,这使得UNIX修改容易,可以在几个月内移植到新的硬件平台上。最初C语言是为UNIX设计的,所以C与UNIX间有紧密的关系。
V6(1975):第一个在贝尔实验室外(尤其是大学中)广为流传的UNIX版本。这也是UNIX分支的起点与广受欢迎的开始。1.xBSD (PDP-II)就是由这个版本衍生出来的。
V7(1979):在许多UNIX玩家的心目中,这是“最后一个真正的UNIX,”这个版本包括一个完整的K&RC编译器,Bourne shell。V7移植到VAX机器后称为32V。
目前开发UNIX(System V)的公司是Unix System Laboratories (USL)。USL本为AT&T所有,1993年初被Novell收购。Novell于1993年末将UNIX这个注册商标转让给X/Open组织。
目前为止,UNIX有两大流派:那就是AT&T发布的UNIX操作系统System V与美国加州大学伯克利分校发布的UNIX版BSD(Berkeley Software Distribution)。SVR4是两大流派融合后的产物。1991年底,与System V针锋相对的开放软件基金会(Open Software Foundation)推出了OSF/1。
现在几种主要的UNIX版本:
* AIX:IBM的UNIX,是根据SVR2(最近已经出到SVR3.2)以及一部分BSD延伸而来,加上各种硬件的支持。具备特有的系统管理(SMIT)。
* 386BSD:Jolitz从Net/2 software移植过来的。支持Posix,32位。
* FreeBSD:1.x从386BSD 0.1而来,FreeBSD 2.x版是用4.4BSD lite改写。
* HP-UX(HP):旧系统是从S III(SVRx)发展面来,现在是由SVR2(4.2BSD)发展而来,目前是10.x版。
* Linux(x86):遵从POSIX,SYSV及BSD的扩展,这一点从上页表中即可看出。
* OSF/1(DEC):DEC对OSF/1的移植。
* SCO UNIX(x86):SVR3.2,目前影响较大的PC UNIX。
* SunOS(680x0,Sparc,i386):根据4.3BSD,包含许多来自System V的东西。Sun的主要成果在于:NFS,OpenLook GUI标准,现演变为Solaris 。
* Ultrix(DEC):根据4.2BSD再加上许多4.3BSD的东西。
* Xenix(x86):Intel硬件平台上的UNIX,以SVR2为基础,由微软推出。在中国使用较广泛。
================4、其他操作系统的发展:windows-图形操作系统的时代 ================
比尔盖茨他妈:https://finance.sina.cn/stock/relnews/us/2020-08-08/detail-iivhvpwx9901340.d.html
1981年,那时候个人计算机已经出现,但是没有系统,unix不屑于个人计算机的低性能。一个教授写了一个个人计算机系统CPM卖3W美元。
SCP(西雅图计算机产品公司):一个员工写了一个QDOS(Quick and Dirty Operating System)系统。
Microsoft, Bill Gates比尔盖茨,他的母亲在IBM公司上班。通过他的母亲知道IBM准备大批售卖个人计算机,花5W买断了该系统QDOS版权,然后和IBM的PC机一起售卖一台20几美元,赚了几千万。
在1990之前,window的开发也一直是在unix上的。
workstation
SUN公司的Bill joy,发行了workstation系统(工作站鉴于服务器和个人计算机之间)
===》windows和apple爱恨情仇
intel :当时主要生产内存,cpu比较低级,但是日本也开始生产更好的内存,intel转型专注生产cpu。
cpu的高速发展,导致个人计算机快速的普及。
XEROX: PARK实验室。鼠标和以太网就是park开发出来的。star 图形界面操作系统也被他们开发出来了。
乔布斯在park实验室看到了受到冷遇的图形界面操作系统,立即被apple购入。
比尔盖茨听说过之后,和乔布斯说向你学习学习。参考过后,觉得这绝对是一个影响世人的使用,立即和乔布斯商量,说我研究之后给你共享成果,年轻的乔布斯居然相信了。然后比尔盖茨在DOS上拼凑了一个图形界面系统,抢在乔布斯之前发布了图形界面系统,抢了乔布斯的客户。乔布斯大为恼火,去找比尔盖茨理论,然后终究不是老辣的比尔盖茨的对手,最后被比尔盖茨各种手段逼退了。
DOS是个非常实用的操作系统,因此,它深深受到国内外人们的普遍喜爱,一直拥有数以亿计的用户。但是,自从1995年以来,Microsoft公司出于商业利益等方面的原因,决定抛弃手中的MS-DOS。当时,DOS已有许多种,除MS-DOS以外,还有PC-DOS,DR-DOS,FreeDOS等,但是由于受到Microsoft公司的挤压,故使用的人数不多,而大多数用户都在使用MS-DOS。由于Microsoft彻底放弃了MS-DOS,而转以开发Windows,引起了广大DOS使用者和爱好者的不满,而且,大家通常所使用的Windows 9x也只是DOS下的一个大型程序罢了,如果没有DOS的支持,它根本无法运行。但也由此可见DOS的功能其实是非常强大的,以及DOS软件拥有巨大的开发潜能,因为像Windows那样强大的DOS增强程序都可以编出来,即windows的底层就是基于DOS开发而来的。
VMS被linux抢了饭碗,遇冷。比尔盖茨又拉入了VMS的研究人员。重新开发windows。开发了windows nt(new technology)
apple,乔布斯因内部斗争被赶出了apple,然后成了一个皮克斯动画公司,随后两三年成了好莱坞最著名的动画公司之一,后来又被apple召回委以重任CEO。
=================5、unix商业化 ================
AT&T 被裁定违反了反垄断法,被分拆了,贝尔实验室独立出来了。
贝尔实验室不在受限于只能卖电话电报,那么unix是可以卖的了。那么当年那些受益于unix的,被他看成了肥肉了,是时候索取回报了,直接把BSD告上了法庭。
旷日持久的官司,让他们停步不前,而其他公司迅速发展。也最终导致了Unix这个昔日的巨人的没落。
unix商业化之后,一份unix4W美元。
Unix商业版本:
SUN:Solaris
IBM: AIX
HP:HP-UX
================6、GNU ================
1985年,Richard Stallman 愤怒的认为unix大家都有过添砖加瓦的建设,应该共享。随即,发起GNU(GNU is not unix)自由操作系统,软件共享运动。
GPL:章程协议,general Public License。
FSF:Free Software Foundation自由软件基金会
free: freedom。
X-window:加入GPL
GNU软件包列表
gcc : gnx c complier
vi: visual interface
…
free: freedom
GNU is not unix,但是所有软件建立在unix之上。迫切的希望拥有自己的操作系统。
大学教授Andrew,中文名:谭宁邦 : Minix, 4000行代码,但是不准别人加入代码(洁癖?),所以没能加入进来。
================7、Linux的发展之路 ================
1.Unix操作系统的诞生
1969年Ken Thompson利用组译语言编写Unix操作系统
1971~1973年Dennis Ritchie以C语言改写Unix
1977年Bill Joy释放出BSD(Berkeley Software Distribution)的Unix-Like操作系统
2.X86架构的Minix诞生
1984谭宁邦教授的Minix教学操作系统,提供原始码以及软件
3.各种免费软件团队的产生
1984 Richard Stallman GNU(GNU’s not unix)计划:
Emacs编辑器+GNU C(GCC)+GNU C Library (glibc)+Bash Shell
FSF(free software foundation)自由软件基金会
GPL(General Public License)通用公共许可证
1988年 XFree86计划:X Window System+Free+X86
其他的开源团队: sendmail团队 wu-ftp团队 apache团队
GNU的GPL解释
1>任何个人或公司可释放出自由软件(free software)
2>任何释放出自由软件的个人或公司,均可由自己的服务来收取适当的费用
3>该软件的原始码(source code)需要随软件附上,并且是可公开发表的
4>任何人可透过任何正常渠道取得此自由软件,且均可取得此授权模式
4.Linux操作系统的产生
1991年芬兰人开发出Linux(以Minix、GNU、Internet、POSIX标准、虚拟团队)
它是一个基于POSIX 的多用户、多任务并且支持多线程和多CPU的操作系统。
POSIX全称为Portable Operating System Interface,中文翻译为可移植操作系统接口,POSIX标准定义了操作系统应该为应用程序提供的接口
1994年linux 2.0 Linux Distribution(安装套件):Kernel+Free Softwares()+Application Tools
众多的distribution有何异同:
-
相同点:利用同样的Linux Kernel,几乎相同的自由软件套件 (如GNU里面的gcc/glibc/vi/apache/sendmail/bind),几乎相同的操作系统接口 (bash/KDE/GNOME等等)
-
不同点:使用的kernel与各软件的版本可能会不同;各开发商加入的应用工具不同 ,使用的套件管理方式不同(debian与RPM)
Linux的发展历程简介
1984年,Andrew S.Tanenbaum开发了用于教学的UNIX系统,命名为Minix。
1989年,Andrew S.Tanenbaum将Minix系统运行于x86的PC平台。
1990年,芬兰赫尔辛基大学学生Linus Torvalds首次接触Minix系统。
1991年,Linus Torvalds开始在Minix上编写各种驱动程序等操作系统内核组件。
1991年年底,Linus Torvalds公开了Linux内核源码0.02版(http://www.kernel.org ),注意,这里公开的Linux内核源码并不是我们现在使用的Linux系统的全部,而仅仅是Linux内核(kernel)部分的代码。
1993年,Linux 1.0版发行,Linux转向GPL版权协议。
1994年,Linux的第一个商业发行版Slackware问世。
1996年,美国国家标准技术局的计算机系统实验室确认Linux版本1.2.13(由Open Linux公司打包)符合POSIX标准。
1999年,Linux的简体中文发行版问世。
2000年后,Linux系统日趋成熟,涌现大量基于Linux服务器平台的应用,并广泛应用于基于ARM技术的嵌入式系统中。、
2003年4月,Rad Hat Linux 9.0发布。重点放在改善桌面应用方面,包括改进安装过程、更好的字体浏览、更好的打印服务等。2003年,Rad Hat的Linux市场份额超过80%。
2004年4月,Red hat公司正式停止对Red Hat 9.0版本的支持,标志着Red Hat Linux的正式完结。原本的桌面版Red Hat Linux发行包则与来自民间的Fedora计划合并,称为Fedora Core发行版本。Red Hat公司不再开发桌面版的Linux发行包,而将全部力量集中在服务器版的开发上,也就是Red Hat Enterprise Linux版。
2005年10月RHEL4(Red Hat Enterprise Linux4)发布。
2007年3月,主流版本RHEL5(Red Hat Enterprise Linux 5)发布,CentOS系统开始在中国互联网公司流行。
2010年4月,RHEL6(Red Hat Enterprise Linux 6.0)BETA测试版发布。
2014年6月,RHEL7(Red Hat Enterprise Linux 7.0)发布,RHEL7.0版本和RHEL6.0以前的版本有了较大的变化,例如:内核版本升级到3.10以上,系统启动和基本管理变化较大,文件系统也有传统的ext改为xfs,同时在大数据、云计算、Docker方面做了很大优化。
Linux的发行商包括Slackware、Red Hat、Debian、Fedora、TurboLinux、Mandrake、SUSE、CentOS、Ubuntu、红旗、麒麟……
四 总结
1、操作系统发展简史
批处理系统-》分时操作系统-》multics-》unix-》linux-》各种linux发行版
美国的贝尔实验室诞生了unix,unix系统的优秀特性如下:
1、技术可靠、稳定性高
2、极强的可伸缩性、可适用于各种x86架构
3、强大的网络功能,tcp、ip支持良好
4、强大的数据库支持能力
5、强大的开发能力,比如c语言
2、Linux介绍
linux完全兼容unix的特特性,为何现在linux会如此受欢迎呢?
1、开源、不收费的操作系统,可自由传播(windows 操作系统收费,不开源)
2、没有任何的商业化版权制约(也会有商业发行版,但我们都不用)
3、linux支持多用户多任务多线程多cpu,主要用于企业环境
linux主要用于:
1、服务器
2、嵌入式开发
3、个人pc桌面
3、Linux 历史
1969年 在美国的贝尔实验室诞生了unix
1985年 斯托曼 发起自由软件运动 自由之父 FSF 自由软件基金会
成立了一个项目 GNU (GNU is not unix)
成立一个协议 GPL 通用公共许可协议
1987年 谭宁邦 大学教授,minix 微内核 主要 用于教学
1991年 托瓦zi 大学学生,研究内核 ,发布了0.02版本的Linux,Linux之父
1994年 发布了Linux1.0版本 并加入了GPL -〉 GNU Linux操作系统
Linux操作系统的组成:
Linux内核 + GNU的项目 + 成千上万的程序员研发的程序软件
4、Linux的核心概念
FSF:自由软件基金会的缩写,提供技术上的研发
GNU:是FSF下面的一个项目 GNU is not unix
优秀的软件:
Emacs 编辑器 ; gcc 编译软件 ; bash 命令解释器 ;gawk 编程语言;
hurd内核(研发中)
GPL:通用公共许可协议
a,开放源代码,可自由传播
b,任何人都可以修改,必须把修改之后的源代码发布出来
五、Linux的发行版本
5.1 Fedora派系与Debian派系
我们主要介绍两大派系,按照源头划分
两个最古老、最著名的linux发行版
1、Fedora派系:Fedora->RHEL->CentOS
Fedora的投资人是红帽子,虽然技术上,RHEL依赖Fedora,RHEL应该叫Redora一声爸爸,但站在投资的角度,Fedora应该叫RHEL爸爸,因为我们也可以将Fedora派系称之为RedHat Enterprise Linux派系
2、Debian派系:Debian-》Ubuntu、Kaili Linux
Fedora
Debian
天下大势,分久必合、合久必分,熙熙攘攘、皆为利来利往,你听我慢慢跟你说
5.1 Fedora派系
(1)Fedora-RHEL-CentOS
Fedora是由全球社区开发,受到Red Hat公司的赞助,它的开发策略比较激进,经常在新版本中尝试最新的特性,因此Fedora的稳定性相对较低,一般推荐用于桌面应用开发新特性。
RHEL在国内火起来是Redhat5,是商业版,很多功能需要买license才能用,后来推出Centos社区免费版,从centos6开始,国内大多数公司都弃用Redhat5、Redhat6改用免费的centos。(开发人员当然可以免费使用 RHEL 进行生产部署,只是不交钱的话,最多仅可支持 16 台设备,哈哈哈)
Centos如下图,centos是RHEL的下游,直接从RHEL的代码仓库拿代码构建(会去掉一些红帽的logo)
已经持续了10几年的发布流程:(问题:从Fedora定版之后,到红帽,到大家爱用的免费centos,周期很长,不符合RHEL的推广创新)
1、一定时间Fedora会定版,红帽上游还有很多独立的项目,二者合在一起build出一个RHEL版本
2、然后反复测试RHEL,形成RHEL7,RHEL7.8等
3、centos从rhel的代码库里把代码拿出来,去掉rhel的log,换成centos,在发布
不利于红帽大规模推广,所以有了Dream一个希望:Always Ready RHEL
希望通过pipeline的方式整合所有的上游
每天出一个版本,提供给合作伙伴测试反馈,加快RHEL的更新速度,跟上时代
当红帽内部已经完成了这个pipeline的建立,整合了几千个上游项目
理想情况下,每天都可以通过RHEL的流水线构建输出一个版本,这个输出的版本就
centos stream
所以centos stream就是rhel生产流水线上一个通过红帽自己测试的版本
并没有经过企业任何验证,它的想法是交给自己的合作企业帮它做进一步的测试
centos stream稳定之后,再出一个红帽正式版本
原来centos的版本是红帽的下游,都是红帽先把坑填完完,然后再有centos来
接着用优点给大家用
而现在变成了,centos成为了红帽的上游,centos的用户成了小白鼠
rhel以后从centos stream分支上拉代码,来了构成rhel的版本
上面流水线正式运行从rhel8.x开始,rhel7.x还是过去的老模式
在centos8之前:
Fedora ==》RedHat ==》CentOS
Fedora 是RedHat的“试验场”,很多新功能和特性先加入Fedora 稳定后再加入RedHat(收费),然后从RedHat再拉出CentOS(免费,培养用户和生态)
在centos8这之后(IBM以340亿美元的价格收购了redhat,不久后便取消CentOS,改为在Fedora 和 RedHat 之间滚动发布CentOS stream)
Fedora ==》CentOS stream ==》 RedHat
(2)什么是Centos Stream
那么什么是Centos stream: 从RHEL9.0正式启用
(3)centos Stream 模式
fedora依然是最上游(它本身激进的开发策略就决定了它不是一个可以投入生产环境的系统),中游是Centos Stream,下游是RHEL,这意味着,你如果把Centos Stream当过去的Centos系统用,这里面不再有RHEL为其增添加的东西,
CentOS Stream 永远只对应 RHEL 最新的“稳定版”(注意引号用的很巧妙),Centos Stream相当于 RHEL 的未来预览版,因此软件可能无法进行最广泛的测试,因此很可能存在漏洞或稳定性问题。这引起了很多人的不满
(4)大事纪
IBM在指挥Red Hat,而Red Hat在指挥CentOS
IBM收购了Redhat不久就在2020年12月08日,CentOS官方宣布了停止维护CentOS(不会再有centos9)
ps:官方不维护意味着,一旦你的系统中发现安全漏洞,将不会有人帮你修复。
大家猜测是centos 做地太好了,很多人都不愿意买Redhat了,IBM(IBM 340亿美元收购了RedHat)可能觉得这样它的利益受损了。
CentOS8 之后,IBM取消了CentOS,改为在Fedora 和 RedHat 之间滚动发布CentOS stream,意味着不会再有centos9以及以后的centos了,取而代之的是centos9 stream。CentOS Stream是一个滚动发行版,充当Fedora中最先进的软件包与Red Hat Enterprise Linux中可用的稳定长期软件包之间的中间地带
官方公告简述如下:
重心从CentOS Linux(Red Hat Enterprise Linux即RHEL的重建版)转向CentOS Stream,而CentOS Stream在当前的RHEL版本之前发布版本。
作为RHEL 8的重建版,CentOS Linux 8将于2021年底寿终正寝。
之后,滚动版本CentOS Stream成为CentOS项目的标识。将来不会有基于RHEL 9的CentOS 9。
CentOS Linux 7将延续其生命周期,并于2024年6月30号结束。
有一些大佬不满IBM的举动,宣布创建其他分支:
(5)RockyLinux与AlmaLinux
天下大势,合久必分,centos一统天下的时间太久了。。。现在此刻即将进入一种四分五裂的状态,谁能做大,最终重新一统天下,没人知道
Centos的后续替代品
1、RockyLinux:https://rockylinux.org/
CentOS(Kurtzer)的最初创造者不满IBM的这种举措,宣布创建RockyLinux,它将是一个“社区企业操作系统,设计成100%的bug-for-bug兼容Enterprise Linux。”很多人将其视作centos的延续。
2、AlmaLinux:https://almalinux.org/
二者都是基于 Red Hat Enterprise Linux (RHEL) 发行版的免费开源操作系统,二者对比如下
前文我们说过,自2020年12月08日,CentOS官方宣布了停止维护CentOS Linux的计划,并推出了CentOS Stream项目引发大家不满之后。
在2021年,社区有分别推出了RockyLinux、AlmaLinux来作为centos的平替,但他们二者还是基于RHEL的开源进行
所以。。。。。。。你猜怎么着
2023.6.21红帽又发布:不提给给任何第三方提供RHEL源代码,CentOS Stream将成为公共 RHEL 相关源代码发布的唯一仓库。红帽的客户和合作伙伴可以付费获得源代码,但无权二次发布这些代码。
这是想对所有RHEL的下游进行毁灭性打击的节奏
红帽的这一决定将影响 Red Hat Enterprise Linux(RHEL)的所有重建和分支,(例如 AlmaLinux、Rocky Linux、EuroLinux 和 Oracle Unbreakable Linux),这些项目都依赖已发布的源代码。在无法访问所使用的源代码的情况下,保持与现有版本的 1:1 二进制兼容性会是很大的挑战。
目前,各种线上论坛的下游发行版用户正在强烈抗议,气势不输几年前红帽宣布取消 CentOS Linux 之时,最常见的字眼包括“背信弃义”、“违反 GPL”等等。“红帽做的事情很糟糕,但微软、IBM 和在后台运作的公司之间一直存在着一场更大的战斗。这是一个丑陋的局面,自由软件和开源被夹在中间。”
6.21的这次调整,对Fedora倒没多大影响,因为Fedora终究是RHEL的上游,只是资金依赖红帽而已,技术层面的依赖关系则是反过来的
目前,Alma Linux 和 Rocky Linux 的官方反应都表示谨慎乐观。
“虽然这个决定确实改变了我们用于构建 Rocky Linux 的自动化,但我们已经创建了一个短期的缓解措施,并正在制定长期的策略。对于任何不稳定的 Linux 用户、合作者或合作伙伴来说,不会有任何干扰或改变。”Rocky Linux 官方表示。
“我相信开源应该始终免费且完全稳定。它不应该隐藏在付费专区后面,也不应该由一家公司控制。”Rocky Linux 项目的创始人、该项目的主办方 Rocky Enterprise Software Foundation 董事会主席 Gregory Kurtzer 表示。
Alma Linux 官方则表示,“短期内,我们将与 RHEL 生态系统的其他成员合作,确保我们继续以众所周知的速度和稳定性提供安全更新。从长远来看,我们将与这些合作伙伴以及我们的社区合作,确保 AlmaLinux 作为企业 Linux 生态系统一部分的最佳前进道路。”
AlmaLinux 用户仍然可以获得该操作系统服务器的安全更新。短期内, AlmaLinux 计划停止 CentOS Stream 更新和 Oracle Linux 更新,以确保继续发布安全补丁。这些更新将经过精心策划,以确保它们与 RHEL 1:1 兼容,同时不违反红帽的许可,并将像所有其他版本一样进行审查和测试。
但是, AlmaLinux 的论坛帖子则弥漫着担忧的情绪:“这对整个红帽生态系统造成破坏。”AlmaLinux 表示,在 AlmaLinux 操作系统的整个生命周期中,其与红帽建立了令人难以置信的合作关系,他们希望这种关系可以继续下去。
“我们并不惊慌,因为我们使用 AlmaLinux,而且你们从多年前就开始认真对待你们的产品(Cloud Linux)。我不怕。”在 AlmaLinux 安抚社区的推文下有支持者如是说道。
早在 2011 年,红帽就调整过源代码包的分发方式,看起来就是专门给重构工作“挖坑”。但当时的举措并不成功,实际上只导致越来越多企业开始拥抱 CentOS。
有媒体在 CentOS Stream 9 发布时就曾断言,红帽犯下的最大错误就是力推 CentOS Linux。此举相当于支持了跟自家付费商业产品竞争的免费方案,属于典型的“资敌”行为。这项计划不仅没能给甲骨文带来多大阻力,反而显著削减了 RHEL 的销售额。
当时,下游发行商也找到了绕过限制的方法,而且规避的思路并不复杂。红帽恐怕也对新生代重构厂商的崛起感到了不安。
虽然 Rocky 和 Alma Linux 背后的机构都属于非营利组织(Rocky 来自由 Greg Kurtzer 创立并运营的公益企业),但有一说一,这两家的表现确实不错。就在上周,NASA 授权在内部使用 Rocky Linux;CERN 和 Fermilab 等科研机构则选择使用 Alma Linux。
红帽倒是认为这些并不是什么大事,似乎都是在为自己的 Stream 市场普及率做贡献。但从实际效果来看,红帽在 CentOS Linux 被取消之后,一刻也没有放松对蓬勃发展的重构生态发起攻击。
5.2 Debian派系
(1)简介
Debian则是社区类Linux的典范,是迄今为止最遵循GNU规范的Linux系统(它将始终保持 100% 免费),且其稳定性和安全性得到了广大用户的认可,它用于台式机和服务器计算机,也用于运行运行云的基础设施。虽然它的优势主要体现在服务器上,但桌面版在功能和外观方面都有显着改进。
Fedora派系与Debian派系的相似性和区别
以下是 Fedora 和 Debian 这两大 Linux 派系的一些主要相同和不同点:
相同点:
- 开源:Fedora 和 Debian 都是基于开源的,围绕社区驱动项目。
- 软件库:二者都拥有庞大的软件库,用户可以从中找到几乎所有他们需要的程序。
- 更新频率:都有定期的发行周期以及持续更新的模型。
- 广泛的高质量文档和社区支持:二者都有活跃的社区以及丰富的在线教程、文档等。
不同点:
- 设计哲学:这也是 Fedora 和 Debian 的主要区别之一。Fedora 倾向于包含最新的 Linux 功能和软件。它更注重新技术和创新,但这也意味着可能遭遇稳定性问题。另一方面,Debian 关注稳定性和健壮性。它可能不会包含最新的软件版本,但用户可以指望其系统稳定且少问题。
- 目标用户:Fedora 主要面向企业用户,也适用于服务器和常规计算机用户。而 Debian 适合任何类型的用户,从初学者到专业人士。
- 包管理器:Debian 使用 dpkg 和 apt ,Fedora 用 rpm 和 dnf 。
- 版本命名:Debian 用启发性的名称命名版本(例如,"Buster"),Fedora 用数字(如 Fedora 30、Fedora 31)。
- 硬盘分区:Fedora 默认为每个目录都创建单独的分区,而 Debian 则将所有目录存储在一个分区里。
- 顶级用户:Debian系统下的用户为’sudo’,需要先输入密码才能获得超级用户权限,从而提供了一个安全机制。然而在Fedora下由于’su’命令可以直接获得超级用户权限,所以面临密码泄露的风险。
- 安全:Debian 被认为在安全性上要逊色于 Fedora,后者自带了 SELinux 安全模块。
(2)Ubuntu
Ubuntu基于Debian开发,具有出色的用户界面和友好的用户体验,同时它的软件包管理非常方便,在国内的认可度很高
Ubuntu 背后的公司 Canonical 付出了巨大的努力,使其成为一个流行和广泛的发行版,以至于您现在可以在智能手机、平板电脑、个人电脑、服务器和云 VPS 中找到它。
5.3 国产系
信创—-》脱钩,安全合规
下面这两款也是基于Fedora构建,与centos兼容性没问题
阿里主导的 anolis(龙蜥) os.
华为主导的 openeuler
1、看龙蜥社区理事单位,来说还是比较强大的
2、关于openEuler说两句,也是基于centos系列的开发,但是和centos的差距越来越大,所以不能算作centos的平替
但是国内之前的一些小的开源作者有个老毛病:不可持续性,这点也是大家在做技术选型时要考量的一个因素
当提到国内之前的一些小的开源项目,可能有以下几个常见的问题:
1、价值认可度低:目前国内对开源项目的认可度不高,很多人只从技术角度看开源,缺乏对其深层次的价值认识,例如开源对推动技术创新和共享学习的积极影响。
2、维护不足:一些开源项目在初始阶段活跃度很高,但由于缺乏长期的维护和更新,项目随着时间推移可能会逐渐陷入停滞状态。
3、贡献者少,参与度不高:部分人可能只是使用开源项目,但不会将自己的改进反馈到项目中,这导致项目的改进和发展缺乏动力。
4、受益于开源却缺乏回馈:一些商业公司可能大量使用开源项目,但是很少有贡献代码或者资助开源项目的行为。
5、文档不完善:很多项目的文档写得不是很完整或者更新不及时,给使用带来一些困扰。
六、如何选择centos的平替
考虑信创、安全合规,可以考虑国产,主流的包括
阿里主导的 anolis(龙蜥) os.(更建议一下)
华为主导的 openeuler
关于openEuler说两句,也是基于centos系列的开发,但是和centos的差距越来越大,所以不能算作centos的平替
1、如果不是特殊业务需求
rocky linux or alma linux任选其一没问题,从国内资料和流行度来看,rocky linux更好一点
2、有业务需求,要面向的是国内的政企/金融客户, 有信创的刚需, 那么推荐您切换到信创系 Linux,推荐Anolis OS
3、Ubuntu和Debian,这两个算起是也不错的替代品,但是操作会有很多不同,当然会使用Ubuntu和Debian也是非常好的
课程中将同事讲rokcy linux、Ubuntu两种,rockylinux与过去的centos几乎就是一模一样,这可以方便大家查阅网上现有的资料,后续的发展rockylinux刚推出不久,加上红帽不开放源代码的打压,前途并不明朗,但大家还是对其有期待的
ubuntu相对来说积累了很久了,源自与debian系,继承了debian系追求稳定的设计思想,更符合服务器的需求
注意:系统bug报告:只是一个参考指标,少不代表真的少,有可能是社区不活跃。
Rokcy linux
赞助商:https://rockylinux.org/sponsors/
bug报告:https://bugs.rockylinux.org/view_all_bug_page.php?refresh=true
alma linux
bug报告:https://bugs.almalinux.org/view_all_bug_page.php?refresh=true
Anolis OS
官网:OpenAnolis 龙蜥操作系统开源社区
关于龙蜥:关于我们 – OpenAnolis 龙蜥操作系统开源社区
bug报告:Bugzilla Main Page
拓展阅读:
https://blog.csdn.net/swindler_ice/article/details/131057784
https://cloud.tencent.com/developer/article/1883868
https://mp.weixin.qq.com/s?__biz=MjM5MDE0Mjc4MA==&mid=2651173332&idx=1&sn=59f122bac2c23e13eaa18bcac23673d6&scene=21#wechat_redirect
https://www.modb.pro/db/615838
https://www.tecmint.com/top-most-popular-linux-distributions/
七、接下来的学习计划
大家目前处在一个新老交替的尴尬时代
服务系统的天下由几乎一统的时代变为了割裂的状态
政国企目前因为一些内外部压力,很多已经硬性转向国产操作系统:
如:
1、银河麒麟
2、中标麒麟
这些系统大多操作都与centos保持一致
商业公司还是多以centos7为主,但是马上会在2024年6月30号面临停更的风险,大多公司都没有自己解决centos安全漏洞的能力
所以转向其他操作系统也是公司着急的事情
但是,生产环境永远不可能立刻更换,所以centos7的使用还是会在公司持续大概1-2年,
这期间公司会小范围尝试更换其他系统
你会在1-2年内遇到多种系统共存的尴尬情况,至于公司会怎选,推测如下
ubuntu已经很多年了,生态也很完善,会是公司一个选择
rockylinux刚推出不久,大家还都看不太清楚接下来的发展,会是公司观望的一个选择
虽然rokcylinux在国外热度很高,但立刻更换rockylinux不太现实,图稳定,相对来说还是会对ubuntu认可度高一些
以往的经验:2013年前后国内公司很多都在用redhat5,因为redhat的收费模式问题,到升级redhat6的时,市场上出现了免费的centos6,于是国内很多公司在1-2内都升到了centos6,发展了几年后陆续都升到了7
那问题来了?我们学什么
2024年入行的同学都面临一种尴尬的情况
1、商业公司大多数都在用centos、国产的大多数系统的操作也都是与centos高度一致
2、公司接下来必然会做出小范围的操作系统换新,然后慢慢铺开,ubuntu会是一个大家认可度高的选择,此时正是ubuntu抢占国内市场的大好时机,如果能把开源免费关键是免费推进下去,ubuntu将很有可能趁势取代centos、拿到新时代的话语权,或许之后整个市场大部分都是ubuntu系统
3、rocklinux在国外热度很高,但因为刚处不久且处于被红帽打压的状态,所以大家看不清楚其接下来的发展情况,但因为rockylinux与centos一脉相承,对公司来说迁移成本肯定是低很多
天下大势合久必分啊,现在就是处于分的状态,这种分的状态,会持续一段时间,市面上蹦出来那么多系统,各自有各自的东西,做不到统一的话这本书就是一种消耗,消耗的过程中必然会有一家无论从系统性能、稳定性、维护、市场营销方面都得到大家的认可,然后才能重新归于统一的状态
这种状态,至少还要持续1-2两年,这段时间你既需要维护老的系统,又需要有尝试新系统的能力
所以课程中会同时讲解两种系统,即红帽系、debian系
考虑到大家的学习成本
我们先学习红帽系,安装一下rockylinux,除了个别更新改动之外,与centos就是一模一样,因为它本质就是centos嘛,这样学完之后你可以掌握公司现有系统的维护、包括大多数国产系统
然后我们再讲debian系的ubuntu系统,有了centos的学习经验,ubuntu会学的非常快
当然,我也建议你在学习第一种系统的同时又业余时间就去对比着搞一下另外一个,你会发现,区别也不能算太大,大多数命令都是通用的
为何要串行的讲,而不是并行的讲?
先学会一个,另外一个学起来很简单,而且在学第二的时候,对我们来说相当于一次知识的总复习,并且能够温故而知新
具体学习计划安排
讲完操作系统发展史,后面还有一个网络知识,完后按照此学习计划:
1、装系统的时候
把rockylinux9.3
把centos7.9
把ubuntu22.04.4都安装好
2、学习命令的时候
先学centos系列命令(centos7.9与rockylinux9.3都学,这二者几乎完全一样)
只是目前rockylinux刚出不久,生态没有跟上来,第三方包并不齐全,这点需要注意一下
上述学习完毕后,来一个总复习
一遍复习,一遍对比着讲解ubuntu,复习+学新都有了,很棒