使用可用源從CentOS6升級到CentOS7

參考:
https://tlanyan.me/upgrade-ce...
https://blog.51cto.com/moerji...
https://blog.csdn.net/hjnth/a...html

說明

非必要狀況,請使用從新安裝系統的方式升級,緣由以下:python

  1. 並不是全部的系統都能順利從6升級到7,安裝的軟件越少,升級成功的可能性越大;
  2. 只支持6.5及以上系統升級到不高於7.2系統;
  3. 升級的耗時徹底不比從新安裝少,絕大多數狀況下會耗費更長的時間和更多精力;
  4. 升級完成後處理各類依賴是一個很是頭大的問題。

升級

配置升級工具upgradetool源

cat>/etc/yum.repos.d/upgradetool.repo<<EOF
[upg]
name=CentOS-$releasever - Upgrade Tool
baseurl=https://buildlogs.centos.org/centos/6/upg/x86_64/
gpgcheck=1
enabled=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6
EOF

或者

cat <<EOF >/etc/yum.repos.d/upgrade.repo
[upgrade]
name=upgrade
baseurl=https://buildlogs.centos.org/centos/6/upg/x86_64/
enable=1
gpgcheck=0
EOF

安裝升級工具

爲防止報錯 preupg: error: [Errno 2] No such file or directory: '/root/preupgrade/result.html',從新裝舊版本的openscp
yum erase openscap -y &&\
yum install -y http://buildlogs.centos.org/centos/6/upg/x86_64/Packages/openscap-1.0.8-1.0.1.el6.centos.x86_64.rpm &&\
sudo yum install -y preupgrade-assistant-contents redhat-upgrade-tool preupgrade-assistant

升級前可行性分析

查看支持的升級

preupg -l

執行升級分析

preupg -s CentOS6_7
沒有提示出錯,能夠繼續下一步。不然請檢查!!!要所有PASS才能夠。

上面這個命令生成的報告須要看看,主要是關於升級的風險的
我的經驗就是升級前儘可能將非官方的rpm安裝的軟件都刪掉
安裝的第三方的rpm包越少,升級的風險越小shell

導入CentOS7的key

多個源鏡像

官方源:

rpm --import http://mirror.centos.org/centos/RPM-GPG-KEY-CentOS-7
rpm --import http://vault.centos.org/centos/7.2.1511/os/x86_64/RPM-GPG-KEY-CentOS-7

阿里源:

rpm --import https://mirrors.aliyun.com/centos/7/os/x86_64/RPM-GPG-KEY-CentOS-7

升級系統

多個源鏡像

官方源:

redhat-upgrade-tool-cli --force --network 7 --instrepo=http://mirror.centos.org/centos/7/os/x86_64
redhat-upgrade-tool-cli --force --network 7 --instrepo=http://vault.centos.org/centos/7.2.1511/os/x86_64/

阿里源:

redhat-upgrade-tool --force --network 7.0 --instrepo=http://mirrors.aliyun.com/centos/7/os/x86_64/

新華大學源:

centos-upgrade-tool-cli --force --network 7 --instrepo=https://mirrors.tuna.tsinghua.edu.cn/centos-vault/7.2.1511/os/x86_64/
若是遇到報錯 Error: database disk image is malformed,清除緩存,再次重試
yum clean dbcache

重啓服務器

reboot

收尾工做

機器起來後,登上服務器,須要作一些擦屁股的工做,好比,看還有沒有CentOS6的軟件殘餘,用命令:
rpm -qa | grep -i el6;
有的話要麼想辦法刪掉,要麼想辦法將其升級到el7的相應的軟件包。

升級完成後遇到的問題

ssh、yum不可用問題:

vi /root/start.sh 輸入如下內容:
#!/bin/bash
ln -s /usr/lib64/libsasl2.so.3.0.0 /usr/lib64/libsasl2.so.2
ln -s /usr/lib64/libpcre.so.1.2.0 /usr/lib64/libpcre.so.0
service sshd restart
rm -rf /etc/rc.d/rc.local 
mv /etc/rc.d/rc.local.bak /etc/rc.d/rc.local #恢復原始文件
rm -rf /root/start.sh #刪除自身
執行如下命令
chmod +x start.sh &&\
chmod +x /etc/rc.d/rc.local &&\
# 建立備份
cp /etc/rc.d/rc.local /etc/rc.d/rc.local.bak &&\
# 添加腳本爲開機自啓動
echo 'bash /root/start.sh' >>/etc/rc.d/rc.local
重啓後看下ssh是否能夠正常鏈接
reboot

ps工具不可用問題:

yum upgrade -y &&\
yum downgrade grep &&\
yum upgrade python &&\
yum update
相關文章
相關標籤/搜索