Upgrade from CentOS 6 to CentOS 7
Two days back, i wrote Step by step installation CentOS 7 ; which is the clean installation of OS. As per the CentOS 7 announcement, it is possible to upgrade the CentOS 6 to CentOS 7 with the help of redhat-upgrade-tool. 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.
[upgrade]
name=upgrade
baseurl=https://dev.centos.org/centos/6/upg/x86_64/
enabled=1
gpgcheck=0
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
y
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 https://127.0.0.1:8099/submit/ -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 https://centos.excellmedia.net/7.0.1406/os/x86_64/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 https://centos.excellmedia.net/7.0.1406/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 https://centos.excellmedia.net/7.0.1406/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.

Now you can see the installation of the packages.

Once completed, you will get the login screen.

Verify using the following command.
# cat /etc/redhat-release
CentOS Linux release 7.0.1406 (Core)
That’s All!, successfully upgraded the CentOS 6 to CentOS 7.We welcome your feedback, place your valuable comments below.