目录
一、背景
二、操作流程
1. 使用CentOS默认源
2. 更新源
3. 卸载6.x自带的较新的助手,并安装升级系统助手
4. 预升级助手检测是否可以升级:
5. 导入CentOS7的key
6. 开始升级
7. reboot重启设置系统升级,完成reboot重启后生效
三、升级后的问题
1. 库文件加载失败
2. 无法上网
3. ssh连接失败
4. yum update失败
5. python环境部分出现异常
挂载ISO镜像
编辑repo
清理 YUM 缓存:
重装python2
一、背景
个人测试机为CentOS6系统,因想更新到CentOS7,故尝试直接升级系统。常见升级方式:
- 通过红帽提供的centos-upgrade-tool-cli工具实现
- 直接通过ISO镜像系统实现
- 新装一个CentOS7系统,将CentOS6数据迁移到新系统
本人才用了方式一进行升级:
- 升级前系统版本:
- 升级前内核版本:
- 升级后系统版本:CentOS Linux release 7.2.1511 (Core)
- 升级后内核版本:Linux 3.10.0-327.el7.x86_64 #1 SMP Thu Nov 19 22:10:57 UTC 2015 x86_64 x86_64 x86_64 GNU/Linux
二、操作流程
1. 使用CentOS默认源
由于 CentOS 6 已停产,我们需要将 yum 指向 vault 仓库,为此我们运行以下命令:
curl https://www.getpagespeed.com/files/centos6-eol.repo --output /etc/yum.repos.d/CentOS-Base.repo
2. 更新源
安装Redhat升级工具:
redhat-upgrade-tool 在标准yum源中不可用,您必须设置yum源才能安装它。
vi /etc/yum.repos.d/upgrade.repo
将以下内容放入其中。
[upgrade]
name=upgrade
baseurl=http://buildlogs.centos.org/centos/6/upg/x86_64/
enabled=1
gpgcheck=0
3. 卸载6.x自带的较新的助手,并安装升级系统助手
安装(并重新安装)以下软件包。
yum erase openscap -y
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
yum install -y redhat-upgrade-tool preupgrade-assistant-contents
4. 预升级助手检测是否可以升级:
在对系统进行更改之前,运行以下命令来检查从 CentOS 6 升级到 CentOS 7 时可能遇到的潜在问题。
preupg
从上一个命令的输出中,您可以找到哪些包将受到此升级的影响。
5. 导入CentOS7的key
执行实际升级:
我们将使用 repo 文件进行升级,发出以下命令导入 GPG 密钥:
rpm --import http://mirror.centos.org/centos/7/os/x86_64/RPM-GPG-KEY-CentOS-7
6. 开始升级
根据手册页,以下命令用于升级 CentOS 6; 这将从互联网上下载必要的包
centos-upgrade-tool-cli --network=7 --force --instrepo=http://vault.centos.org/7.0.1406/os/x86_64/
下载文件如若失败请更换国内镜像源地址进行,下面为清华大学镜像源站方式:
centos-upgrade-tool-cli --network 7 --force --instrepo=https://mirrors.tuna.tsinghua.edu.cn/centos-vault/7.2.1511/os/x86_64/
7. reboot重启
设置系统升级,完成reboot重启后生效
reboot
服务器将使用 redhat-upgrade-tool 内核启动以升级 CentOS 6,现在您可以通过控制台查看升级进度/活动。
现在您可以看到软件包的安装。
阅读在 CentOS 7 / RHEL 7 上配置 iSCSI 目标和启动器
完成后,您将看到登录屏幕。
三、升级后的问题
1. 库文件加载失败
提示报错:grep: error while loading shared libraries: libpcre.so.0: cannot open shared object file: No such file or director
搜索引擎搜索,发现只要做个软连接就可以了,修复方式如下:
# ls -l /usr/lib64/libpcre.so*
lrwxrwxrwx 1 root root 16 3月 15 14:13 /usr/lib64/libpcre.so -> libpcre.so.1.2.0
lrwxrwxrwx 1 root root 16 3月 15 14:12 /usr/lib64/libpcre.so.1 -> libpcre.so.1.2.0
-rwxr-xr-x 1 root root 398272 11月 20 2015 /usr/lib64/libpcre.so.1.2.0
# ln -s /usr/lib64/libpcre.so.1.2.0 /usr/lib64/libpcre.so.0
# ln -s /lib64/libpcre.so.1 /lib64/libpcre.so.0
# ln -s /usr/lib64/libsasl2.so.3.0.0 /usr/lib64/libsasl2.so.2
2. 无法上网
修复网卡异常
3. ssh连接失败
处理第1、2问题后重启ssh就好
4. yum update失败
配置国内清华大学yum源,可以参考如下:
CentOS7配置yum清华源_yum 清华源_飞Link的博客
5. python环境部分出现异常
在可以正常上网后如果yum update出现python问题,可以利用系统同版本ISO镜像作为yum源重新安装,以下为操作命令:
挂载ISO镜像
mkdir /mnt/iso
mount -t iso9660 -o loop CentOS-7-x86_64-DVD-1511.iso /mnt/iso或者
mount -t auto /dev/cdrom /mnt/iso/
编辑repo
sudo vi /etc/yum.repos.d/centos7.repo
在编辑器中,添加以下内容:
makefile
Copy code
[centos7]
name=CentOS 7
baseurl=file:///mnt/iso
enabled=1
gpgcheck=0
保存并关闭文件。
禁用其他存储库(可选):如果你有其他第三方或自定义的存储库启用,请根据需要禁用它们,以避免在修复过程中出现意外冲突。
清理 YUM 缓存:
sudo yum clean all
安装修复的 Python 包:
重装python2
yum reinstall python
这将使用本地挂载的 ISO 镜像中的 Python 包来修复你的 Python 环境。