工作中一直在用CentOS7和CentOS6。本来想抽空尝试一下CentOS8玩一玩。结果CentOS8已经走完了生命周期。一直好奇Centos Linux 和 CentOS Stream有什么区别,今天就来安装一下 CentOS Stream试试吧。
以下内容源于机器翻译,原文见:https://www.centos.org/cl-vs-cs/ CentOS 计划产生两种变体:CentOS Linux 和 CentOS Stream。它们在很多方面都很相似。这就是它们与众不同的地方。
另请参阅: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 9 EOL:预计 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类似,我选择的是最小化安装。安装过程省略。
安装过程可以参考: https://www.bilibili.com/video/BV1tP4y1x7Pz/
体验先安装一下neofetch看一下系统基本信息吧。
yum -y install epel-release
yum install neofetch -y
安装软件的体验与CentOS7差不多。
安装dockerdocker用起来太方便了,已经离不开它了。安装方法参考官方文档: 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引擎
安装最新版本的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安装mysql
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
防火墙设置
《CentOS7防火墙管理与配置》 https://blog.csdn.net/lxyoucan/article/details/109381325 使用方法基本一样。
#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左右。非常的精简。但是也被我删除了,因为遇到一个我至今没有解决的坑。关于这个坑的描述见: 《alpine linux中docker mysql踩坑记录》https://blog.csdn.net/lxyoucan/article/details/123906102
常用软件版本对比 软件名CentOS7CentOS Stream8gitgit version 1.8.3.1git version 2.31.1curlcurl 7.29.0curl 7.61.1sshOpenSSH_7.4p1, OpenSSL 1.0.2k-fips 26 Jan 2017OpenSSH_8.0p1, OpenSSL 1.1.1k FIPS 25 Mar 2021从上面的一些常用软件来看,他们之前软件的版本差距还是挺大的。从ssh版本来看,大概差了4年的时间。
CentOS Stream8 虚拟机挂起后mysql数据库无法连接我在虚拟机中使用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这样子。因为软件版本更新的,可以理解。