运维必看
运维必看
工作中一直在用CentOS7和CentOS6。本来想抽空尝试一下CentOS8玩一玩。结果CentOS8已经走完了生命周期。一直好奇Centos Linux和CentOS Stream有什么区别,今天就来安装一下CentOS Stream试试吧。
CentOS计划产生两种变体:CentOS Linux和CentOS Stream。它们在很多方面都很相似。这就是它们与众不同的地方。
正如2020年12月宣布的那样,CentOS计划已将重点从CentOS Linux转移到CentOS Stream。以下是我们各种版本的预期寿命终止(EOL)日期。
CentOS Linux 7停产:2024-06-30。
CentOS Linux 8停产:2021-12-31。
CentOS Stream 8停产:2024-05-31。
CentOS Stream 9EOL:预计 2027 年,取决于“全面支持阶段”的 RHEL9 结束。
CentOS Linux是Red Hat Enterprise Linux(RHEL)的重建。因此,它是 RHEL的下游。CentOS Linux发行版本号反映了它们所基于的RHEL发行日期。例如,CentOS 8.2105是2021年5月发布的RHEL 8.3的重建版本。
另一方面,CentOS Stream是RHEL的上游公共开发分支。具体来说,CentOS Stream 8是RHEL 8的下一个次要版本的上游,CentOS Stream 9 是RHEL 9的下一个次要版本的上游,依此类推。
CentOS Linux是对当前发布的RHEL内容的重新构建。新的次要版本包含大量更新。较小批量的更新在次要版本之间交付。
CentOS Stream包含为即将发布的RHEL次要版本计划的内容。更新不会分批成次要版本,而是在准备就绪时发布。
贡献模式
对CentOS Linux进行更改涉及对包含在发行版中的上游项目做出贡献。这包括但不一定限于为Fedora做出贡献。使其进入Fedora的更改可能会在RHEL的下一个版本中,然后将在下一次CentOS重建中。这个过程可能需要数年时间。
CentOS Stream提供了一种直接贡献的方式,将这个过程缩短到数周或数天。
测试
CentOS Linux和CentOS Stream的测试非常相似,主要区别在于事情发生的时间。
只有经过严格的测试,CentOS Stream和RHEL才会发生变化。这些测试既发生在Red Hat内部,也发生在我们的公共发行版测试套件中。因此,您可以将您的测试贡献给该系统,以便将来的更改不会破坏您关心的内容。
作为一个重建,CentOS Linux受益于所有这些相同的测试,但是,在 CentOS Stream之前,缺乏一种让你影响测试内容和方式的方法。
下载地址:https://www.centos.org/download/
我下载的是CentOS Stream 8。为什么不下载CentOS Stream 9呢?因为CentOS Stream 9安装镜像太大了近8个G,也没找到精简版本的。下载太久不想尝试,所以就安装CentOS Stream 8。
阿里镜像地址:
http://mirrors.aliyun.com/centos/8-stream/isos/x86_64/
我下载的是:CentOS-Stream-8-x86_64-20220328-boot.iso。
安装方法与CentOS7类似,我选择的是最小化安装。
体验
先安装一下neofetch看一下系统基本信息吧。
yum -y install epel-release yum install neofetch -y
安装软件的体验与CentOS7差不多。
docker用起来太方便了,已经离不开它了。安装方法参考官方文档:
https://docs.docker.com/engine/install/centos/
使用存储库安装
在新主机上首次安装Docker Engine之前,需要设置Docker存储库。之后,您可以从存储库安装和更新Docker。
设置存储库:
安装yum-utils软件包(提供yum-config-manager 实用程序)并设置稳定的存储库。
sudo yum install -y yum-utils sudo yum-config-manager \ --add-repo \ https://download.docker.com/linux/centos/docker-ce.repo
安装最新版本的Docker Engine和容器,或转到下一步以安装特定版本:
sudo yum install docker-ce docker-ce-cli containerd.io
如果提示您接受GPG密钥,请验证指纹是否匹配060A 61C5 1B55 8A7F 742B 77AA C52F EB6B 621E 9F35,如果是,则接受它。
启动Docker。
sudo systemctl start docker
开机启动Docker。
systemctl enable docker
通过运行hello-world 映像来验证是否正确安装了Docker Engine 。
sudo docker run hello-world
docker安装mysql5.7:
#下载镜像 docker pull mysql:5.7.37 #创建mysql实例 docker run --name ruoyi-mysql -p 3306:3306 -e MYSQL\_ROOT\_PASSWORD=itkey123456 -d mysql:5.7.37
连接mysql数据库测试:
下面我们来测试一下数据库连接是否正常。
docker run -it --rm mysql:5.7.37 mysql --port=3307 -h172.17.0.1 -uroot -pitkey123456
redis 6.2安装
那我们下载当前最新的稳定版本吧。redis 6.2:
#下载镜像 docker pull redis:6.2 #启动一个redis实例 docker run --name ruoyi-redis -p 6379:6379 -d redis:6.2
连接测试:
docker run -it --rm redis:6.2 redis-cli -h 172.17.0.1
防火墙设置
#mysql:5.7.37 firewall-cmd --add-port=3306/tcp firewall-cmd --add-port=3306/tcp --permanent #redis firewall-cmd --add-port=6379/tcp firewall-cmd --add-port=6379/tcp --permanent
磁盘空间占用对比
以下是我在两个系统中安装完docker mysql redis neofetch后,两个操作系统磁盘空间占用对比。
CentOS7硬盘占用2.6G:
CentOS Stream8硬盘占用3.6G:
在我的应用场景中,安装了相同的应用软件后。CentOS Stream8的空间占用比CentOS7多了1GB的占用。对于我来说是能接受的。
之前我安装了Ubuntu Server 12.04LTS版本,同样安装完这些应用,空间占用大概是8.6GB。因为占用比较多,而且安装过程太久了。所以没截图之前就被我删除了。
要是讲体积最小的就是Alpine Linux,同样安装完以上这些应用后,空间占用大概是1.6GB左右。非常的精简。但是也被我删除了,因为遇到一个我至今没有解决的坑。
常用软件版本对比
从上面的一些常用软件来看,他们之前软件的版本差距还是挺大的。从ssh版本来看,大概差了4年的时间。
我在虚拟机中使用docker安装了mysql服务,当我把虚拟机挂起以后,重新启动虚拟机。虽然显示docker中的mysql正在运行,但是实际上数据库无法连接。如下所示:
~ » mysql --port=3306 -h172.16.184.24 -uroot -pitkey123456 mysql: [Warning] Using a password on the command line interface can be insecure. ERROR 2003 (HY000): Can't connect to MySQL server on '172.16.184.24:3306' (60)
如果想让mysql数据库可以使用,则必须重启docker服务才行。
systemctl restart docker
而在CentOS7中确没有这样的问题。这个问题是导致我最终还是选择使用CentOS7的根本原因。
总结
从使用的角度来看,我感受不到Centos Linux和CentOS Stream的区别。最直观的感受就是CentOS Stream的软件版本相对新一些。从理论上来讲Centos Linux是下游版本,更稳定一些。CentOS Stream是上游版本,更具探索性,相对不稳定一些。
同样是mini版本的ISO文件安装后的系统磁盘空间占用情况:CentOS Stream8占用空间比CentOS7大一些。多个几百M这样子。因为软件版本更新的,可以理解。
推荐阅读
>>>新手必备-Linux系统安装配置+Xshell远程连接
运维界升职加薪必备的云计算技术,你学了吗?
学完高级运维云计算课程之后,你可以:
跨越90%企业的招聘硬门槛
增加70%就业机会
拿下BAT全国TOP100大厂敲门砖
体系化得到运维技术硬实力
技术大佬年薪可达30w+