CentOS 6 升级 CentOS 7

广告位

升级路径 升级步骤 升级前准备(非常重要) 解决升级后 grep、 yum 命令不能使用,网卡无法配置IP等问题 此步骤非常重要,如果不做或做错,升级后将无法远程连接到目标机器 libsas12.so.2.0.23、libpcre.so.0.0.1 这两个文件在不同的版本中可能版本号会不一样 操作完成后必须检查 /usr/local/lib64/ 下是否有这两个文件和其软连接 CentOS 6 升级到 CentOS 7.2 配置 yum 源 安装旧版 openscap 需确认 openscap 的版本必须是 1.0.8,而不能是 1.2.13或其他版本,否则执行升级步骤会报错 安装升级工具 升级前检查 如检查成功,会生成检查报告,此报告需要细读一遍 如检查失败,根据提示解决问题或放弃升级 上传CentOS7.2 DVD ISO 镜像包到系统任意路径,必须是DVD包,大小为4G多 执行更新 如提示 Finished. Reboot to start upgrade.,则输入 reboot 执行后续升级,此步骤需要较长时间 如报错,根据提示解决问题或放弃升级 升级后完善 升级 grep 软件包 因为 grep 没有被升级,需要手工将 grep 升级到 CentOS 7 的版本 卸载 el6 相关软件包 el6 的包是升级遗留的一些软件包,不建议保留,保留这些软件包可能会导致后续升级到最新 CentOS 7 造成依赖问题,因此需要将其卸载或升级为 CentOS 7 的版本。 此处可能需要解决很多依赖问题。而且可能有些包是被系统重要组件依赖的,卸载时要注意看清楚,建议少量多次分批卸载 最后剩余卸不掉的包,尝试将其升级为 CentOS 7 的版本 删除无效开机启动项 因…

升级限制
SELinux 必须是关闭状态
必须是 CentOS 6 x86_64
根分区剩余空间不小于5GB,/boot分区剩余空间不小于120MB
必须能连外网
升级风险
升级需要1-3小时不等,甚至更长时间,视硬盘的速度和系统已安装的软件包数量
升级可能会导致 sshd 起不来,因此远程升级有较大的风险
升级可能会导致网卡配不上IP,因此远程升级有较大的风险
升级后有部分软件不能使用(如 grep、yum等),需要手动处理
升级后需要手动解决依赖关系,此步骤通常需要1-2小时甚至更久,视系统安装的软件包数量
此升级不可逆,如升级失败系统将无法正常启动。物理机升级有较大风险,升级前务必做好数据备份。虚拟机升级前务必做好快照

升级路径

CentOS 6.x –> CentOS 7.2 –> CentOS 7 最新版

升级步骤

升级前准备(非常重要)

解决升级后 grep、 yum 命令不能使用,网卡无法配置IP等问题

此步骤非常重要,如果不做或做错,升级后将无法远程连接到目标机器

cat > /etc/ld.so.conf.d/usr-local-lib.conf << EOF
/usr/local/lib
/usr/local/lib64
EOF
cp /usr/lib64/libsas12.so.2.0.23 /usr/local/lib64/
cp /lib64/libpcre.so.0.0.1 /usr/local/lib64/
ldconfig
  • libsas12.so.2.0.23、libpcre.so.0.0.1 这两个文件在不同的版本中可能版本号会不一样
  • 操作完成后必须检查 /usr/local/lib64/ 下是否有这两个文件和其软连接
[root@localhost ~]# ll /usr/local/lib64/
total 284
lrwxrwxrwx. 1 root root     16 Apr 20 22:49 libpcre.so.0 -> libpcre.so.0.0.1
-rwxr-xr-x. 1 root root 183080 Apr 20 22:48 libpcre.so.0.0.1
lrwxrwxrwx. 1 root root     18 Apr 20 22:49 libsasl2.so.2 -> libsasl2.so.2.0.23
-rwxr-xr-x. 1 root root 106160 Apr 20 22:49 libsasl2.so.2.0.23
如无以上信息,请立即停止,请勿往下执行

CentOS 6 升级到 CentOS 7.2

  • 配置 yum 源
cat > /etc/yum.repos.d/upgrade.repo << EOF
[upgrade] name=upgrade
baseurl=https://buildlogs.centos.org/centos/6/upg/x86_64/
enabled=1
gpgcheck=0
EOF
  • 安装旧版 openscap
yum remove -y openscap
yum install -y https://buildlogs.centos.org/centos/6/upg/x86_64/Packages/openscap-1.0.8-1.0.1.el6.centos.x86_64.rpm

需确认 openscap 的版本必须是 1.0.8,而不能是 1.2.13或其他版本,否则执行升级步骤会报错

安装升级工具

yum install -y redhat-upgrade-tool preupgrade-assistant preupgrade-assistant-contents
  • 升级前检查
preupg -s CentOS6_7
  • 如检查成功,会生成检查报告,此报告需要细读一遍
  • 如检查失败,根据提示解决问题或放弃升级
  • 上传CentOS7.2 DVD ISO 镜像包到系统任意路径,必须是DVD包,大小为4G多
  • 执行更新
centos-upgrade-tool-cli --iso=/PATH/TO/CentOS7.2-DVD-ISO
  • 如提示 Finished. Reboot to start upgrade.,则输入 reboot 执行后续升级,此步骤需要较长时间
  • 如报错,根据提示解决问题或放弃升级

升级后完善

升级 grep 软件包

因为 grep 没有被升级,需要手工将 grep 升级到 CentOS 7 的版本

yum downgrade -y grep

卸载 el6 相关软件包

# 查找 el6 的包
rpm -qa | grep el6
# 卸载
yum remove xxx

el6 的包是升级遗留的一些软件包,不建议保留,保留这些软件包可能会导致后续升级到最新 CentOS 7 造成依赖问题,因此需要将其卸载或升级为 CentOS 7 的版本。

此处可能需要解决很多依赖问题。而且可能有些包是被系统重要组件依赖的,卸载时要注意看清楚,建议少量多次分批卸载

最后剩余卸不掉的包,尝试将其升级为 CentOS 7 的版本

删除无效开机启动项
因 CentOS 7 使用 systemd 作为系统初始化程序,升级后系统还残留了一些无效的启动项(服务脚本软连接,位于 /etc/rc.d/rc{0..6}.d/ 目录下),因此删除这些无效的启动项

for f in /etc/rc.d/rc{0..6}.d/*; do ls -H $f || unlink $f; done

CentOS 7.2 升级到 7.x 最新版

升级到 CentOS 7.x 最新版本,此过程需要联网升级。

  • 执行 yum update
  • 如报错,需手动解决依赖并不断循环此过程,直到升级成功

juanhao.z

关于作者: juanhao.z

为您推荐

广告位

Leave a Reply

Your email address will not be published. Required fields are marked *