Upgrade from CentOS 6 to CentOS 7
Abstract: The server will boot with the redhat-upgrade-tool kernel to upgrade the CentOS 6the following command is used to upgrade the CentOS 6
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-assistantPreUpgrade 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.
# rpm --import http://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 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.
# rebootUpgrade 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 – Pre upgrading the PackagesNow you can see the installation of the packages.
Upgrade from CentOS 6 to CentOS 7 – Upgrading the PackagesOnce completed, you will get the login screen.
Upgrade from CentOS 6 to CentOS 7 – Login ScreenVerify 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.