Upgrade from CentOS 6 to CentOS 7

FROM:http://www.itzgeek.com/how-tos/linux/centos-how-tos/upgrade-from-centos-6-to-centos-7.html

 

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=http://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 http://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.

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.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 http://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.

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.0.1406 (Core)

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