今天要将一台腾讯云主机系统迁移为tencentOS系统。
首先确认了系统版本。
按腾讯云官方说明,迁移需要python3.检查python3已经安装。
下载官方软件包:
wget http://mirrors.tencent.com/tlinux/3.1/Updates/x86_64/RPMS/migrate2tencentos-1.0-4.tl3.noarch.rpm
顺利下载,使用rpm安装。
rpm -ivh migrate2tencentos-1.0-4.tl3.noarch.rpm
下一步就要执行迁移命令了,如下:
python3 /usr/sbin/migrate2tencentos.py -v 3.1
接下来是等待......
然后就报错了...
关键点是两个软件包版本较低,不满足要求。
尝试升级,但是没有可用的软件包。
找腾讯咨询,经过诊断,给我的回答是“已经成功了”
cat /etc/os-release
看到NAME="TencentOS Server"
再使用uname -r查看内核
看到内核还是4.18,这个还是CentOS8的内核,TencentOS 3.1内核应该是5.4
想了下,还没重启过服务器。Linux如果内核升级了必须重启才能生效。
在重启重启之前,还有个步骤就是执行yum update -y
大约有数百个软件包更新。可能有的软件包会失败,不管它,update完成后
reboot......
耐心等待2分钟,远程连接成功。
再次执行uname -r,显示内核5.4.至此大功告成。
不过为什么命名迁移成功了,给我报上面的错误?还是没明白。
最后重新生成yum缓存。
yum clean all
yum makecache
下面验证一下效果。迁移系统的主要目的是获得技术支持。之前腾讯云主机安全提示包括内核相关的软件包存在安全漏洞,但是CentOS8已经无法获得技术支持。相关提示如下:
升级后我们看看相关软件版本:
如图所示,大部分软件版本都高于原来版本。
python3-perf这个软件包比较遗憾,版本没有更高的。
还有一个问题,从上图发现kernel,kernel-modules,kernel-core这三个存在两个版本。其中一个就是主机安全提示的问题版本。
我们可以将问题版本使用rpm命令移除。
这里面会遇到软件包依赖而无法移除的问题。
建议按如下操作进行:
第一步执行:rpm -e kernel-4.18.0-348.7.1.el8_5.x86_64
第二步执行:rpm -e kernel-modules-4.18.0-348.7.1.el8_5.x86_64
第三步执行: rpm -e vdo-6.2.5.74-14.tl3.x86_64 kmod-kvdo-6.2.5.72-81.el8.x86_64 kernel-core-4.18.0-348.7.1.el8_5.x86_64
第四步执行:yum install vdo
第四步实际上会安装vdo-6.2.5.74-14.tl3.x86_64和 kmod-kvdo-6.2.5.72-81.el8.x86_64两个软件包。kmod-kvdo-6.2.5.72-81.el8.x86_64安装依赖将会指向新版kernel-core-4.18.0-305.3.1.el8.x86_64
至此,问题软件包被清除。