CentOS 6 升级 CentOS 7

广告位

[su_box title=”升级限制” style=”noise” box_color=”#e78c76″ title_color=”#000000″]SELinux 必须是关闭状态 必须是 CentOS 6 x86_64 根分区剩余空间不小于5GB,/boot分区剩余空间不小于120MB 必须能连外网 [/su_box] [su_box title=”升级风险” style=”noise” box_color=”#e6e776″ title_color=”#000000″]升级需要1-3小时不等,甚至更长时间,视硬盘的速度和系统已安装的软件包数量升级可能会导致 sshd 起不来,因此远程升级有较大的风险升级可能会导致网卡配不上IP,因此远程升级有较大的风险升级后有部分软件不能使用(如 grep、yum等),需要手动处理升级后需要手动解决依赖关系,此步骤通常需要1-2小时甚至更久,视系统安装的软件包数量 此升级不可逆,如升级失败系统将无法正常启动。物理机升级有较大风险,升级前务必做好数据备份。虚拟机升级前务必做好快照[/su_box] 升级路径 升级步骤 升级前准备(非常重要) 解决升级后 grep、 yum 命令不能使用,网卡无法配置IP等问题 此步骤非常重要,如果不做或做错,升级后将无法远程连接到目标机器 libsas12.so.2.0.23、libpcre.so.0.0.1 这两个文件在不同的版本中可能版本号会不一样 操作完成后必须检查 /usr/local/lib64/ 下是否有这两个文件和其软连接 [su_note note_color=”#ffeb66″]如无以上信息,请立即停止,请勿往下执行[/su_note] CentOS 6 升级到 CentOS 7.2 配置 yum 源 安装旧版 openscap 需确认 openscap 的版本必须是 1.0.8,而不能是 1.2.13或其他版本,否则执行升级步骤会报错 安装升级工具 升级前检查 如检查成功,会生成检查报告,此报告需要细读一遍 如检查失败,根据提示解决问题或放弃升级 上传CentOS7.2 DVD ISO 镜像包到系统任意路径,必须是DVD包,大小为4G多 执行更新 如提示 Finished. Reboot to…

[su_box title=”升级限制” style=”noise” box_color=”#e78c76″ title_color=”#000000″]SELinux 必须是关闭状态
必须是 CentOS 6 x86_64
根分区剩余空间不小于5GB,/boot分区剩余空间不小于120MB
必须能连外网 [/su_box]

[su_box title=”升级风险” style=”noise” box_color=”#e6e776″ title_color=”#000000″]升级需要1-3小时不等,甚至更长时间,视硬盘的速度和系统已安装的软件包数量
升级可能会导致 sshd 起不来,因此远程升级有较大的风险
升级可能会导致网卡配不上IP,因此远程升级有较大的风险
升级后有部分软件不能使用(如 grep、yum等),需要手动处理
升级后需要手动解决依赖关系,此步骤通常需要1-2小时甚至更久,视系统安装的软件包数量
此升级不可逆,如升级失败系统将无法正常启动。物理机升级有较大风险,升级前务必做好数据备份。虚拟机升级前务必做好快照[/su_box]

升级路径

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

[su_note note_color=”#ffeb66″]如无以上信息,请立即停止,请勿往下执行[/su_note]

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
  • 如报错,需手动解决依赖并不断循环此过程,直到升级成功

关于作者: Harrison K

为您推荐

广告位

Leave a Reply

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