事件概述

本博客自22.12一直部署在一台hk的centos7服务器上,最近手痒喜欢用dnf,想升级到centos8,一通乱搞成功给系统干崩,SSL网站全部连接不了,只得冲头刷镜像再来。

第一步 备份网站

我自己博客的备份

本站的备份是长期在One Drive上,每天两次备份,所以我并不担心本站会消失。

另外一个在我服务器上的就是社团网站cumtb.club了,没做任何备份。

开始升级之前的准备

我在宝塔面板选择了备份网站以为万无一失,万万没想到这个备份只备份网站文件目录而不备份网站数据库,给之后的我埋了个超级大雷。

第二步 升级

首先就是安装dnf

yum install dnf

之后骚的来了

卸载yum

# dnf -y remove yum yum-metadata-parser

# rm -Rf /etc/yum

这个时候事情尚可挽回,在更新完dnf之后的下一步就更加逆天咯:

# rpm -e `rpm -q kernel`

删除了内核

本来事情到这里就很顺利 然后装新内核就完事了

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

dnf -y install kernel-core

报错一堆

Open ssl与NetWork Manager不兼容啊各种问题

于是找到了缓存中的包手动安装:

rpm -ivh --nodeps --force /var/cache/dnf/包名字

哦这一步干完内核能安装了,于是重启。

于是ssh连不上了,网站打不开了。

于是寄了。

第三步 抢救

试试Debain

原系统现在已经无论如何都没法操控了,完全完蛋了。重刷吧。

首先刷了个debain装宝塔面板。

我们首先自己手贱装一个php8:

sudo apt install php8.0

结果宝塔面板又自己装了一份(子弹出膛!

装好WordPress准备恢复备份文件的时候发现文章怎么全部没有了。分析可得数据库炸裂了,没有成功恢复,重启后WordPress直接打不开了。

猜测和自己装的php有关系,但是不清楚,人当时已经慌了

还是 Centos

于是装回CentOs7 重新装上WordPress出现下一个问题

备份完成,但是密码忘了,以前的密码都是存在浏览器的强密码,但是刚刚因为注册等等一大堆操作让那个密码直接被覆盖没了。

所以我们现在需要手动又去改数据库内的值。

这个操作也是很无语,里面存的是密码的MD5值,所以我也没法推出密码,只能搞个新密码重新生成一份MD5塞进去。

再然后是伪静态配置等无关紧要的事情,基本到这个时候我自己的博客已经完全回复了。

但是社团网站因为没有备份被彻底炸飞了(

第四步 反思

为什么炸飞了

直接原因是直接 -force 安装缓存里面的包给炸飞的。

根本原因是在生产环境乱来,包括上次给打印机上位机更新导致连接不到下位机一样,说到底还是瞎折腾导致的。

所以还是少折腾生产环境上东西,要用的。

另一方面是备份不可只靠一份备份,要是没备份回来那就起飞了。