[centos升级]正确的从CentOS 6升级到CentOS 7

2016年3月13日15:37:13 发表评论 14,203 views


升级CentOS 6.5到7说明

Red Hat发布了RHEL 7之后,CentOS也发布了CentOS GA版本。由于RHEL 7引入了通过 redhat-upgrade-tool工具升级6.5操作系统到7的方法,虽然CentOS 7没有详细验证这个软件包,但是从官网blog和一些网站文档来看,该工具也适合CentOS 6.5升级到7。 ( Upgrade to CentOS 7 )

前提条件:CentOS 6.x升级到最新的6.5版本




yum -y install openscap pcre-devel libxml2-devel libxslt-devel m2crypto python-simplejson mod_wsgi

下载需要的软件包 - 请不要直接复制以下软件包安装链接,应该访问原站,查找最新的软件包(经过验证20160314已经是最新版本)

rpm -ihv http://dev.centos.org/centos/6/upg/x86_64/Packages/preupgrade-assistant-1.0.2-36.0.1.el6.centos.x86_64.rpm

rpm -ihv http://dev.centos.org/centos/6/upg/x86_64/Packages/preupgrade-assistant-contents-0.5.14-1.el6.centos.noarch.rpm

rpm -ihv http://dev.centos.org/centos/6/upg/x86_64/Packages/preupgrade-assistant-ui-1.0.2-36.0.1.el6.centos.x86_64.rpm

rpm -ihv http://dev.centos.org/centos/6/upg/x86_64/Packages/redhat-upgrade-tool-0.7.22-3.el6.centos.noarch.rpm


获取可用的最近的镜像 - 访问 http://www.centos.org/download/mirrors/ 或者:http://mirror-status.centos.org/ 查看并选择最快镜像(命令里的是7.2香港地区镜像下载)


redhat-upgrade-tool --network 7.0 --instrepo http://centos.communilink.net/7.2.1511/os/x86_64/ --force

成功的升级会在最后看到消息 Finished. Reboot to start upgrade.


重启主机后,OS将启动一个称为System Upgrade的新的grub对象,支持将所有已经通过upgrade tool下载的软件包更新。

重启后检查系统版本 /etc/redhat-release 可以看到版本 CentOS Linux release 7.2.1511 (Core) 证明升级成功。



CentOS has not yet posted any official document on upgrading the CentOS 6, since there is no official documentation; we are not recommending this upgrade on production environment. If you like to give a try on development, you can just follow the simple steps.

Installing Redhat upgrade tool:

redhat-upgrade-tool is not available on standard repositories, you must setup the repository to install it.

# vi /etc/yum.repos.d/upgrade.repo

Place the following entries in it.


Install the following packages.

# yum -y install preupgrade-assistant-contents redhat-upgrade-tool preupgrade-assistant

PreUpgrade Assistant:

Run the following command to check the potential problem you might encounter with an upgrade from CentOS 6 to CentOS 7 before making a changes to the system.

# preupg

Note: Output of preupg command has been shorted to reduce the length of the post.

Preupg tool doesn't do the actual upgrade.
Please ensure you have backed up your system and/or data in the event of a failed upgrade
that would require a full re-install of the system from installation media.
Do you want to continue? y/n
Gathering logs used by preupgrade assistant:
All installed packages : 01/10 ...finished (time 00:00s)
All changed files      : 02/10 ...finished (time 00:40s)
Changed config files   : 03/10 ...finished (time 00:00s)
All users              : 04/10 ...finished (time 00:00s)
All groups             : 05/10 ...finished (time 00:00s)
Service statuses       : 06/10 ...finished (time 00:00s)
All installed files    : 07/10 ...finished (time 00:01s)
All local files        : 08/10 ...finished (time 00:03s)
All executable files   : 09/10 ...finished (time 00:00s)
RedHat signed packages : 10/10 ...finished (time 00:00s)
Assessment of the system, running checks / SCE scripts:
001/100 ...done    (Configuration Files to Review)
002/100 ...done    (File Lists for Manual Migration)
003/100 ...done    (Bacula Backup Software)
004/100 ...done    (MySQL configuration)
005/100 ...done    (Migration of the MySQL data stack)
006/100 ...done    (General changes in default MySQL implementation)
007/100 ...done    (PostgreSQL upgrade content)
Assessment finished (time 00:00s)
Result table with checks and their results for main contents:
|System kickstart                                                                                            |notapplicable  |
|YUM                                                                                                         |notapplicable  |
|Check for usage of dangerous range of UID/GIDs                                                              |notapplicable  |
|Incorrect usage of reserved UID/GIDs                                                                        |notapplicable  |
|NIS ypbind config files back-up                                                                             |notapplicable  |
|NIS Makefile back-up                                                                                        |notapplicable  |
|NIS server maps check                                                                                       |notapplicable  |
|NIS server MAXUID and MAXGID limits check                                                                   |notapplicable  |
|NIS server config file back-up                                                                              |notapplicable  |
Tarball with results is stored here /root/preupgrade-results/preupg_results-140716022514.tar.gz .
The latest assessment is stored in directory /root/preupgrade .
Upload results to UI by command:
e.g. preupg -u -r /root/preupgrade-results/preupg_results-*.tar.gz .

From the above you can find what all are the packages and application will be affected by this upgrade, if you are ok with it; you can go ahead for the next step.

Perform upgrade:

We are going to use the repo file for the upgrade, issue the following command to import the GPG key.

# rpm --import http://centos.communilink.net/RPM-GPG-KEY-CentOS-7

As per the man page, the following command is used to upgrade the CentOS 6; this will download the packages from the internet.

# redhat-upgrade-tool --network 7.0 --instrepo http://centos.communilink.net/7.2.1511/os/x86_64/

But when i issued the command, it gave me the error to re-run the preupgrade-assistant again. I tried multiple times but no luck.

setting up repos...
.treeinfo                                                                                                                                        | 1.1 kB     00:00
preupgrade-assistant has not been run.
To perform this upgrade, either run preupg or run redhat-upgrade-tool --force

Re-run the  redhat-upgrade-tool with the –force option (not recommended, but this is only solution as of now)

# redhat-upgrade-tool --network 7.0 --force --instrepo http://centos.communilink.net/7.2.1511/os/x86_64/

Note: Output of redhat-upgrade-tool command has been shorted to reduce the length of the post.

setting up repos...
.treeinfo                                                                                                                                        | 1.1 kB     00:00
getting boot images...
vmlinuz-redhat-upgrade-tool                                                                                                                      | 4.7 MB     01:38
initramfs-redhat-upgrade-tool.img                                                                                                                |  32 MB     14:45
setting up update...
finding updates 100% [=================================================================================================================================================](1/272): acl-2.2.51-12.el7.x86_64.rpm                                                                                                            |  81 kB     00:00
(2/272): attr-2.4.46-12.el7.x86_64.rpm                                                                                                           |  66 kB     00:00
(3/272): audit-2.3.3-4.el7.x86_64.rpm                                                                                                            | 223 kB     00:01
(4/272): audit-libs-2.3.3-4.el7.x86_64.rpm                                                                                                       |  77 kB     00:00
(5/272): authconfig-6.2.8-8.el7.x86_64.rpm                                                                                                       | 399 kB     00:08
(6/272): basesystem-10.0-7.el7.centos.noarch.rpm                                                                                                 | 5.0 kB     00:00
(7/272): bash-4.2.45-5.el7.x86_64.rpm                                                                                                            | 1.0 MB     00:17
(270/272): yum-plugin-fastestmirror-1.1.31-24.el7.noarch.rpm                                                                                     |  28 kB     00:03
(271/272): zlib-1.2.7-13.el7.x86_64.rpm                                                                                                          |  89 kB     00:06
(272/272): zlib-devel-1.2.7-13.el7.x86_64.rpm                                                                                                    |  49 kB     00:01
setting up system for upgrade
Finished. Reboot to start upgrade.

Now reboot the server.

# reboot

Upgrade toCentOS 7:

The server will boot with the redhat-upgrade-tool kernel to upgrade the CentOS 6, now you can find the up-gradation activity via console.

Upgrade  from CentOS 6 to CentOS 7 - Upgrading the Packages
Upgrade from CentOS 6 to CentOS 7 – Pre upgrading the Packages

Now you can see the installation of the packages.

Upgrade  from CentOS 6 to CentOS 7 - Upgrading the Packages
Upgrade from CentOS 6 to CentOS 7 – Upgrading the Packages

Once completed, you will get the login screen.

Upgrade  from CentOS 6 to CentOS 7 - Login
Upgrade from CentOS 6 to CentOS 7 – Login Screen

Verify using the following command.

# cat /etc/redhat-release
CentOS Linux release 7.2.1511 (Core)

That’s All!, successfully upgraded the CentOS 6 to CentOS 7.We welcome your feedback, place your valuable comments below.


  • 我的微信
  • 这是我的微信扫一扫
  • weinxin
  • 我的微信公众号
  • 我的微信公众号扫一扫
  • weinxin
0 0 投票数

0 评论