[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 执行后续升级,此步骤需要较长时间
- 如报错,根据提示解决问题或放弃升级
升级后完善
yum downgrade -y grep
# 查找 el6 的包 rpm -qa | grep el6 # 卸载 yum remove xxx
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
- 如报错,需手动解决依赖并不断循环此过程,直到升级成功