事件概述
本博客自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 安装缓存里面的包给炸飞的。
根本原因是在生产环境乱来,包括上次给打印机上位机更新导致连接不到下位机一样,说到底还是瞎折腾导致的。
所以还是少折腾生产环境上东西,要用的。
另一方面是备份不可只靠一份备份,要是没备份回来那就起飞了。