阿里云测试服1(轻量应用服务器)重构日志——系统升级篇

发布于 2020-03-05  18 次阅读


[infobox title="前言"]

作为本站的子网站梦之境的服务器是阿里云的学生机轻量应用服务器。同时也是我个人日常测试服。所搭载的系统是CentOS 7.7 1908,LNMP架构。服务器配置是单核(Intel(R) Xeon(R) Platinum 8163 CPU @ 2.50GHz,有时会变成E5-2667 V4 @ 2.40GHz),2GB内存,40GB SSD云盘(Zbench脚本测试IO速率是145 MB/s左右,所以恐怕我对SSD是有什么误解吧

因为是测试服,所以也就没怎么打理,就是个用 ,然后就开始各种爆内存,报错什么的。再加上CentOS 8已经发布了,一直想尝新,但不知为何学生机不提供CentOS 8的镜像。所以折腾了一段时间(我懒,我咕,我自豪 )直到一个月前才算是搞定。

[/infobox]

[successbox title="准备工作"]

1. 升级yum包[block]

yum update -y

[/block]

2. 安装EPEL储存库[block]

yum install epel-release -y

[/block]

3. 安装yum-utils工具[block]

yum install yum-utils -y

[/block]

4. 安装rpmconf[block]

yum install rpmconf -y

[/block]

5. 解析rpm包(全部选择Y)[block]

rpmconf -a

[/block]

6. 清理不需要的软件包[block]

package-cleanup --leaves
package-cleanup --orphans

[/block]

[/successbox]

[successbox title="正式升级部分"]

1. 安装dnf包管理器(CentOS 8 的默认包管理器由yum换成dnf)[block]

yum install dnf -y

[/block]

2. 删除yum包管理器以及yum源[block]

dnf -y remove yum yum-metadata-parser
rm -rf /etc/yum

[/block]

3. 使用dnf包管理器升级系统[block]

dnf update
dnf upgrade

[/block]

4. 更换CentOS-Base.repo源[block]

vi /etc/yum.repos.d/CentOS-Base.repo

[/block]

PS:此源为CentOS官方源,升级完成后可替换为国内源

将CentOS-Base.repo文件内容替换成以下部分:

   CentOS-Base.repo  ==>  展开 / 收起

替换完成后,:wq保存即可。

4. 使用dnf安装CentOS 8.0发行包[block]

dnf -y upgrade https://mirrors.aliyun.com/centos/8.0.1905/BaseOS/x86_64/os/Packages/centos-release-8.0-0.1905.0.9.el8.x86_64.rpm

[/block]

 

P.S.:由于CentOS 8.1发行包不能直接进行安装,会提示如下图的错误,所以需要先安装CentOS 8.0发行包进行过渡。

4.1. 使用dnf安装CentOS 8.1发行包[block]

dnf -y upgrade https://mirrors.aliyun.com/centos/8.1.1911/BaseOS/x86_64/os/Packages/centos-release-8.1-1.1911.0.8.el8.x86_64.rpm

[/block]

5. 升级EPEL存储库[block]

dnf -y upgrade https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm

[/block]

6. 清理临时文件[block]

dnf clean all

[/block]

7. 清理CentOS 7的旧内核[block]

rpm -e `rpm -q kernel` --nodeps

[/block]

8.  删除所有冲突的软件包[block]

rpm -e --nodeps sysvinit-tools

[/block]

9. 启动CentOS 8 系统升级[block]

dnf -y --releasever=8 --allowerasing --setopt=deltarpm=false distro-sync

[/block]

10. 安装CentOS 8的新内核[block]

dnf -y install kernel-core

[/block]

11. 安装Centos 8 最小安装包[block]

 dnf -y groupupdate "Core" "Minimal Install"

[/block]

12. 检查当前系统版本并重启系统[block]

cat /etc/centos-release
reboot

[/block]

 

 

至此,CentOS 正式升级完毕。

[/successbox]

[infobox title="小结"]

总的来说,CentOS升级真心不是特别舒服。相比起Ubuntu的do-release-upgrade一键式升级,CentOS,由于软件源的原因,总是会在安装rpm时报各种各样的错。而且由于阿里云的学生机不提供CentOS 8的镜像,以及如果你的生产服务器是CentOS,不想再重新配置一遍环境的话,这套流程相对来说还算可以。反正我在写这篇日志的时候,测试服重置了NNNNN遍,我都开始怀疑当初我是怎样没有任何报错的升上去的。不过也好,毕竟技术更多是靠debug出来的。

那么随着今后,以防我自己健忘,我会继续写我自己的服务器的维护日志,例如Nginx安全防护,Mariadb、PHP性能优化等等,先立一个Flag吧!随缘更新 !

[/infobox]