A very quick look at upgrading CentOS 6.5 to 7.0
After some serious seeding action yesterday, today CentOS 7 was released!
As it happens I installed a new MSI Wind Box with CentOS 6.5 yesterday:
[root@pingu ~]# cat /etc/redhat-release
CentOS release 6.5 (Final)
[root@pingu ~]# uptime
20:57:41 up 22:57, 1 user, load average: 0.00, 0.04, 0.05
For the first time, there is a supported path for upgrading RHEL 6 to RHEL 7. Previously this would have been a reinstall.
Disclaimer: I would not attempt the following upgrade on a production server yet. The upgrade tools are still under development and not considered to be working properly (See the development mailing list post if you want to help out).
Since I have a new box that’s not anywhere near production, what the hell… lets try this out.
First update to the latest CentOS 6 release
[root@pingu ~]# yum update
Loaded plugins: downloadonly, fastestmirror, security
Loading mirror speeds from cached hostfile
* base: mirrors.coreix.net
* epel: mirrors.mit.edu
* extras: mirrors.coreix.net
* updates: mirrors.clouvider.net
Setting up Update Process
Resolving Dependencies
--> Running transaction check
---> Package initscripts.x86_64 0:9.03.40-2.el6.centos.1 will be updated
---> Package initscripts.x86_64 0:9.03.40-2.el6.centos.2 will be an update
--> Finished Dependency Resolution
Dependencies Resolved
=============================================================================================================================
Package Arch Version Repository Size
=============================================================================================================================
Updating:
initscripts x86_64 9.03.40-2.el6.centos.2 updates 940 k
Transaction Summary
=============================================================================================================================
Upgrade 1 Package(s)
Total download size: 940 k
Is this ok [y/N]: y
Downloading Packages:
initscripts-9.03.40-2.el6.centos.2.x86_64.rpm | 940 kB 00:00
Running rpm_check_debug
Running Transaction Test
Transaction Test Succeeded
Running Transaction
Updating : initscripts-9.03.40-2.el6.centos.2.x86_64 1/2
Jul 8 20:58:08 pingu yum[6374]: Updated: initscripts-9.03.40-2.el6.centos.2.x86_64
Cleanup : initscripts-9.03.40-2.el6.centos.1.x86_64 2/2
Verifying : initscripts-9.03.40-2.el6.centos.2.x86_64 1/2
Verifying : initscripts-9.03.40-2.el6.centos.1.x86_64 2/2
Updated:
initscripts.x86_64 0:9.03.40-2.el6.centos.2
Complete!
[root@pingu ~]# yum upgrade
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
* base: mirrors.clouvider.net
* epel: mirror.vorboss.net
* extras: centos.hyve.com
* updates: centos.hyve.com
No packages marked for update
Install the upgrade utils
These are still very much in dev and may explode all the things. See http://lists.centos.org/pipermail/centos-devel/2014-July/011277.html for details.
[root@pingu ~]# yum localinstall http://dev.centos.org/centos/6/upg/x86_64/Packages/preupgrade-assistant-1.0.2-33.el6.x86_64.rpm http://dev.centos.org/centos/6/upg/x86_64/Packages/preupgrade-assistant-contents-0.5.13-1.el6.noarch.rpm http://dev.centos.org/centos/6/upg/x86_64/Packages/python-rhsm-1.9.7-1.el6.x86_64.rpm http://dev.centos.org/centos/6/upg/x86_64/Packages/redhat-upgrade-tool-0.7.22-1.el6.noarch.rpm
Loaded plugins: downloadonly, fastestmirror, security
Setting up Local Package Process
preupgrade-assistant-1.0.2-33.el6.x86_64.rpm | 438 kB 00:01
Examining /var/tmp/yum-root-1lAuZF/preupgrade-assistant-1.0.2-33.el6.x86_64.rpm: preupgrade-assistant-1.0.2-33.el6.x86_64
Marking /var/tmp/yum-root-1lAuZF/preupgrade-assistant-1.0.2-33.el6.x86_64.rpm to be installed
Loading mirror speeds from cached hostfile
* base: mirrors.coreix.net
* epel: epel.mirror.constant.com
* extras: mirrors.coreix.net
* updates: mirrors.clouvider.net
preupgrade-assistant-contents-0.5.13-1.el6.noarch.rpm | 588 kB 00:01
Examining /var/tmp/yum-root-1lAuZF/preupgrade-assistant-contents-0.5.13-1.el6.noarch.rpm: preupgrade-assistant-contents-0.5.13-1.el6.noarch
Marking /var/tmp/yum-root-1lAuZF/preupgrade-assistant-contents-0.5.13-1.el6.noarch.rpm to be installed
python-rhsm-1.9.7-1.el6.x86_64.rpm | 99 kB 00:00
Examining /var/tmp/yum-root-1lAuZF/python-rhsm-1.9.7-1.el6.x86_64.rpm: python-rhsm-1.9.7-1.el6.x86_64
Marking /var/tmp/yum-root-1lAuZF/python-rhsm-1.9.7-1.el6.x86_64.rpm to be installed
redhat-upgrade-tool-0.7.22-1.el6.noarch.rpm | 84 kB 00:00
Examining /var/tmp/yum-root-1lAuZF/redhat-upgrade-tool-0.7.22-1.el6.noarch.rpm: 1:redhat-upgrade-tool-0.7.22-1.el6.noarch
Marking /var/tmp/yum-root-1lAuZF/redhat-upgrade-tool-0.7.22-1.el6.noarch.rpm to be installed
Resolving Dependencies
--> Running transaction check
---> Package preupgrade-assistant.x86_64 0:1.0.2-33.el6 will be installed
--> Processing Dependency: openscap(x86-64) >= 0.9.3-1 for package: preupgrade-assistant-1.0.2-33.el6.x86_64
--> Processing Dependency: pkgconfig(libpcre) for package: preupgrade-assistant-1.0.2-33.el6.x86_64
--> Processing Dependency: pkgconfig(libxml-2.0) for package: preupgrade-assistant-1.0.2-33.el6.x86_64
--> Processing Dependency: pkgconfig(libxslt) for package: preupgrade-assistant-1.0.2-33.el6.x86_64
---> Package preupgrade-assistant-contents.noarch 0:0.5.13-1.el6 will be installed
---> Package python-rhsm.x86_64 0:1.9.7-1.el6 will be installed
--> Processing Dependency: m2crypto for package: python-rhsm-1.9.7-1.el6.x86_64
--> Processing Dependency: python-simplejson for package: python-rhsm-1.9.7-1.el6.x86_64
---> Package redhat-upgrade-tool.noarch 1:0.7.22-1.el6 will be installed
--> Running transaction check
---> Package libxml2-devel.x86_64 0:2.7.6-14.el6_5.2 will be installed
--> Processing Dependency: zlib-devel for package: libxml2-devel-2.7.6-14.el6_5.2.x86_64
---> Package libxslt-devel.x86_64 0:1.1.26-2.el6_3.1 will be installed
--> Processing Dependency: libgcrypt-devel for package: libxslt-devel-1.1.26-2.el6_3.1.x86_64
---> Package m2crypto.x86_64 0:0.20.2-9.el6 will be installed
---> Package openscap.x86_64 0:1.0.8-1.el6_5 will be installed
---> Package pcre-devel.x86_64 0:7.8-6.el6 will be installed
---> Package python-simplejson.x86_64 0:2.0.9-3.1.el6 will be installed
--> Running transaction check
---> Package libgcrypt-devel.x86_64 0:1.4.5-11.el6_4 will be installed
--> Processing Dependency: libgpg-error-devel for package: libgcrypt-devel-1.4.5-11.el6_4.x86_64
---> Package zlib-devel.x86_64 0:1.2.3-29.el6 will be installed
--> Running transaction check
---> Package libgpg-error-devel.x86_64 0:1.7-4.el6 will be installed
--> Finished Dependency Resolution
Dependencies Resolved
=============================================================================================================================
Package Arch Version Repository Size
=============================================================================================================================
Installing:
preupgrade-assistant x86_64 1.0.2-33.el6 /preupgrade-assistant-1.0.2-33.el6.x86_64 1.6 M
preupgrade-assistant-contents noarch 0.5.13-1.el6 /preupgrade-assistant-contents-0.5.13-1.el6.noarch 4.1 M
python-rhsm x86_64 1.9.7-1.el6 /python-rhsm-1.9.7-1.el6.x86_64 298 k
redhat-upgrade-tool noarch 1:0.7.22-1.el6 /redhat-upgrade-tool-0.7.22-1.el6.noarch 254 k
Installing for dependencies:
libgcrypt-devel x86_64 1.4.5-11.el6_4 base 118 k
libgpg-error-devel x86_64 1.7-4.el6 base 14 k
libxml2-devel x86_64 2.7.6-14.el6_5.2 updates 1.1 M
libxslt-devel x86_64 1.1.26-2.el6_3.1 base 561 k
m2crypto x86_64 0.20.2-9.el6 base 471 k
openscap x86_64 1.0.8-1.el6_5 updates 2.9 M
pcre-devel x86_64 7.8-6.el6 base 318 k
python-simplejson x86_64 2.0.9-3.1.el6 base 126 k
zlib-devel x86_64 1.2.3-29.el6 base 44 k
Transaction Summary
=============================================================================================================================
Install 13 Package(s)
Total size: 12 M
Total download size: 5.6 M
Installed size: 64 M
Is this ok [y/N]: y
Downloading Packages:
(1/9): libgcrypt-devel-1.4.5-11.el6_4.x86_64.rpm | 118 kB 00:00
(2/9): libgpg-error-devel-1.7-4.el6.x86_64.rpm | 14 kB 00:00
(3/9): libxml2-devel-2.7.6-14.el6_5.2.x86_64.rpm | 1.1 MB 00:00
(4/9): libxslt-devel-1.1.26-2.el6_3.1.x86_64.rpm | 561 kB 00:00
(5/9): m2crypto-0.20.2-9.el6.x86_64.rpm | 471 kB 00:00
(6/9): openscap-1.0.8-1.el6_5.x86_64.rpm | 2.9 MB 00:01
(7/9): pcre-devel-7.8-6.el6.x86_64.rpm | 318 kB 00:00
(8/9): python-simplejson-2.0.9-3.1.el6.x86_64.rpm | 126 kB 00:00
(9/9): zlib-devel-1.2.3-29.el6.x86_64.rpm | 44 kB 00:00
-----------------------------------------------------------------------------------------------------------------------------
Total 2.1 MB/s | 5.6 MB 00:02
Running rpm_check_debug
Running Transaction Test
Transaction Test Succeeded
Running Transaction
Installing : zlib-devel-1.2.3-29.el6.x86_64 1/13
Installing : libxml2-devel-2.7.6-14.el6_5.2.x86_64 2/13
Installing : libgpg-error-devel-1.7-4.el6.x86_64 3/13
Installing : libgcrypt-devel-1.4.5-11.el6_4.x86_64 4/13
Installing : libxslt-devel-1.1.26-2.el6_3.1.x86_64 5/13
Installing : openscap-1.0.8-1.el6_5.x86_64 6/13
Installing : m2crypto-0.20.2-9.el6.x86_64 7/13
Installing : python-simplejson-2.0.9-3.1.el6.x86_64 8/13
Installing : python-rhsm-1.9.7-1.el6.x86_64 9/13
Installing : pcre-devel-7.8-6.el6.x86_64 10/13
Installing : preupgrade-assistant-1.0.2-33.el6.x86_64 11/13
Installing : 1:redhat-upgrade-tool-0.7.22-1.el6.noarch 12/13
Installing : preupgrade-assistant-contents-0.5.13-1.el6.noarch 13/13
Verifying : libgcrypt-devel-1.4.5-11.el6_4.x86_64 1/13
Verifying : pcre-devel-7.8-6.el6.x86_64 2/13
Verifying : python-simplejson-2.0.9-3.1.el6.x86_64 3/13
Verifying : python-rhsm-1.9.7-1.el6.x86_64 4/13
Verifying : 1:redhat-upgrade-tool-0.7.22-1.el6.noarch 5/13
Verifying : preupgrade-assistant-contents-0.5.13-1.el6.noarch 6/13
Verifying : m2crypto-0.20.2-9.el6.x86_64 7/13
Verifying : openscap-1.0.8-1.el6_5.x86_64 8/13
Verifying : libgpg-error-devel-1.7-4.el6.x86_64 9/13
Verifying : libxml2-devel-2.7.6-14.el6_5.2.x86_64 10/13
Verifying : libxslt-devel-1.1.26-2.el6_3.1.x86_64 11/13
Verifying : zlib-devel-1.2.3-29.el6.x86_64 12/13
Verifying : preupgrade-assistant-1.0.2-33.el6.x86_64 13/13
Installed:
preupgrade-assistant.x86_64 0:1.0.2-33.el6 preupgrade-assistant-contents.noarch 0:0.5.13-1.el6
python-rhsm.x86_64 0:1.9.7-1.el6 redhat-upgrade-tool.noarch 1:0.7.22-1.el6
Dependency Installed:
libgcrypt-devel.x86_64 0:1.4.5-11.el6_4 libgpg-error-devel.x86_64 0:1.7-4.el6 libxml2-devel.x86_64 0:2.7.6-14.el6_5.2
libxslt-devel.x86_64 0:1.1.26-2.el6_3.1 m2crypto.x86_64 0:0.20.2-9.el6 openscap.x86_64 0:1.0.8-1.el6_5
pcre-devel.x86_64 0:7.8-6.el6 python-simplejson.x86_64 0:2.0.9-3.1.el6 zlib-devel.x86_64 0:1.2.3-29.el6
Complete!
Check for potential problems
[root@pingu ~]# preupg
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 01:09s)
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:01s)
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)
008/100 ...done (GNOME Desktop Environment underwent several design modifications in Red Hat Enterprise Linux 7 release)
009/100 ...done (KDE Desktop Environment underwent several design modifications in Red Hat Enterprise Linux 7 release)
010/100 ...done (several graphic drivers not supported in Red Hat Enterprise Linux 7)
011/100 ...done (several input drivers not supported in Red Hat Enterprise Linux 7)
012/100 ...done (several kernel networking drivers not available in Red Hat Enterprise Linux 7)
013/100 ...done (several kernel storage drivers not available in Red Hat Enterprise Linux 7)
014/100 ...done (Names, Options and Output Format Changes in arptables)
015/100 ...done (BIND9 running in a chroot environment check.)
016/100 ...done (BIND9 configuration compatibility check)
017/100 ...done (Move dhcpd/dhcprelay arguments from /etc/sysconfig/* to *.service files)
018/100 ...done (DNSMASQ configuration compatibility check)
019/100 ...done (Dovecot configuration compatibility check)
020/100 ...done (Compatibility Between iptables and ip6tables)
021/100 ...done (Net-SNMP check)
022/100 ...done (Squid configuration compatibility check)
023/100 ...done (Reusable Configuration Files)
024/100 ...done (VCS repositories)
025/100 ...done (Added and extended options for BIND9 configuration)
026/100 ...done (Added options in DNSMASQ configuration)
027/100 ...done (Packages not signed by Red Hat)
028/100 ...done (Obsoleted rpms)
029/100 ...done (w3m not available in Red Hat Enterprise Linux 7)
030/100 ...done (report incompatibilities between Red Hat Enterprise Linux 6 and 7 in qemu-guest-agent package)
031/100 ...done (Removed options in coreutils binaries)
032/100 ...done (Removed options in gawk binaries)
033/100 ...done (Removed options in netstat binary)
034/100 ...done (Removed options in quota tools)
035/100 ...done (Removed rpms)
036/100 ...done (Replaced rpms)
037/100 ...done (GMP library incompatibilities)
038/100 ...done (optional channel problems)
039/100 ...done (package downgrades)
040/100 ...done (restore custom selinux configuration)
041/100 ...done (General)
042/100 ...done (samba shared directories selinux)
043/100 ...done (CUPS Browsing/BrowsePoll configuration)
044/100 ...done (CVS Package Split)
045/100 ...done (FreeRADIUS Upgrade Verification)
046/100 ...done (httpd configuration compatibility check)
047/100 ...done (bind-dyndb-ldap)
048/100 ...done (Identity Management Server compatibility check)
049/100 ...done (IPA Server CA Verification)
050/100 ...done (NTP configuration)
051/100 ...done (Information on time-sync.target)
052/100 ...done (OpenLDAP /etc/sysconfig and data compatibility)
053/100 ...done (OpenSSH sshd_config migration content)
054/100 ...done (OpenSSH sysconfig migration content)
055/100 ...done (Configuration for quota_nld service)
056/100 ...done (Disk quota netlink message daemon moved into quota-nld package)
057/100 ...done (SSSD compatibility check)
058/100 ...done (Luks encrypted partition)
059/100 ...done (Clvmd and cmirrord daemon management.)
060/100 ...done (State of LVM2 services.)
061/100 ...done (device-mapper-multipath configuration compatibility check)
062/100 ...done (Removal of scsi-target-utils)
063/100 ...done (Configuration for warnquota tool)
064/100 ...done (Disk quota tool warnquota moved into quota-warnquota package)
065/100 ...done (Check for Add-On availability)
066/100 ...done (Architecture Support)
067/100 ...done (Binary rebuilds)
068/100 ...done (Debuginfo packages)
069/100 ...done (Cluster and High Availablility)
070/100 ...done (fix krb5kdc config file)
071/100 ...done (File Systems, Partitions and Mounts Configuration Review)
072/100 ...done (Read Only FHS directories)
073/100 ...done (Red Hat Enterprise Linux Server variant)
074/100 ...done (Sonamebumped libs)
075/100 ...done (SonameKept Reusable Dynamic Libraries)
076/100 ...done (Removed .so libs)
077/100 ...done (In-place Upgrade Requirements for the /usr/ Directory)
078/100 ...done (CA certificate bundles modified)
079/100 ...done (Developer Tool Set packages)
080/100 ...done (Hyper-V)
081/100 ...done (Content for enabling and disabling services based on RHEL 6 system)
082/100 ...done (Check for ethernet interface naming)
083/100 ...done (User modification in /etc/rc.local and /etc/rc.d/rc.local)
084/100 ...done (cgroups configuration compatibility check)
085/100 ...done (Plugable authentication modules (PAM))
086/100 ...done (Foreign Perl modules)
087/100 ...done (Python 2.7.5)
088/100 ...done (Ruby 2.0.0)
089/100 ...done (SCL collections)
090/100 ...done (Red Hat Subscription Manager)
091/100 ...done (Red Hat Network Classic Unsupported)
092/100 ...done (System kickstart)
093/100 ...done (YUM)
094/100 ...done (Check for usage of dangerous range of UID/GIDs)
095/100 ...done (Incorrect usage of reserved UID/GIDs)
096/100 ...done (NIS ypbind config files back-up)
097/100 ...done (NIS Makefile back-up)
098/100 ...done (NIS server maps check)
099/100 ...done (NIS server MAXUID and MAXGID limits check)
100/100 ...done (NIS server config file back-up)
Assessment finished (time 00:00s)
Result table with checks and their results for main contents:
------------------------------------------------------------------------------------------------------------------------------
|Configuration Files to Review |notapplicable |
|File Lists for Manual Migration |notapplicable |
|Bacula Backup Software |notapplicable |
|MySQL configuration |notapplicable |
|Migration of the MySQL data stack |notapplicable |
|General changes in default MySQL implementation |notapplicable |
|PostgreSQL upgrade content |notapplicable |
|GNOME Desktop Environment underwent several design modifications in Red Hat Enterprise Linux 7 release |notapplicable |
|KDE Desktop Environment underwent several design modifications in Red Hat Enterprise Linux 7 release |notapplicable |
|several graphic drivers not supported in Red Hat Enterprise Linux 7 |notapplicable |
|several input drivers not supported in Red Hat Enterprise Linux 7 |notapplicable |
|several kernel networking drivers not available in Red Hat Enterprise Linux 7 |notapplicable |
|several kernel storage drivers not available in Red Hat Enterprise Linux 7 |notapplicable |
|Names, Options and Output Format Changes in arptables |notapplicable |
|BIND9 running in a chroot environment check. |notapplicable |
|BIND9 configuration compatibility check |notapplicable |
|Move dhcpd/dhcprelay arguments from /etc/sysconfig/* to *.service files |notapplicable |
|DNSMASQ configuration compatibility check |notapplicable |
|Dovecot configuration compatibility check |notapplicable |
|Compatibility Between iptables and ip6tables |notapplicable |
|Net-SNMP check |notapplicable |
|Squid configuration compatibility check |notapplicable |
|Reusable Configuration Files |notapplicable |
|VCS repositories |notapplicable |
|Added and extended options for BIND9 configuration |notapplicable |
|Added options in DNSMASQ configuration |notapplicable |
|Packages not signed by Red Hat |notapplicable |
|Obsoleted rpms |notapplicable |
|w3m not available in Red Hat Enterprise Linux 7 |notapplicable |
|report incompatibilities between Red Hat Enterprise Linux 6 and 7 in qemu-guest-agent package |notapplicable |
|Removed options in coreutils binaries |notapplicable |
|Removed options in gawk binaries |notapplicable |
|Removed options in netstat binary |notapplicable |
|Removed options in quota tools |notapplicable |
|Removed rpms |notapplicable |
|Replaced rpms |notapplicable |
|GMP library incompatibilities |notapplicable |
|optional channel problems |notapplicable |
|package downgrades |notapplicable |
|restore custom selinux configuration |notapplicable |
|General |notapplicable |
|samba shared directories selinux |notapplicable |
|CUPS Browsing/BrowsePoll configuration |notapplicable |
|CVS Package Split |notapplicable |
|FreeRADIUS Upgrade Verification |notapplicable |
|httpd configuration compatibility check |notapplicable |
|bind-dyndb-ldap |notapplicable |
|Identity Management Server compatibility check |notapplicable |
|IPA Server CA Verification |notapplicable |
|NTP configuration |notapplicable |
|Information on time-sync.target |notapplicable |
|OpenLDAP /etc/sysconfig and data compatibility |notapplicable |
|OpenSSH sshd_config migration content |notapplicable |
|OpenSSH sysconfig migration content |notapplicable |
|Configuration for quota_nld service |notapplicable |
|Disk quota netlink message daemon moved into quota-nld package |notapplicable |
|SSSD compatibility check |notapplicable |
|Luks encrypted partition |notapplicable |
|Clvmd and cmirrord daemon management. |notapplicable |
|State of LVM2 services. |notapplicable |
|device-mapper-multipath configuration compatibility check |notapplicable |
|Removal of scsi-target-utils |notapplicable |
|Configuration for warnquota tool |notapplicable |
|Disk quota tool warnquota moved into quota-warnquota package |notapplicable |
|Check for Add-On availability |notapplicable |
|Architecture Support |notapplicable |
|Binary rebuilds |notapplicable |
|Debuginfo packages |notapplicable |
|Cluster and High Availablility |notapplicable |
|fix krb5kdc config file |notapplicable |
|File Systems, Partitions and Mounts Configuration Review |notapplicable |
|Read Only FHS directories |notapplicable |
|Red Hat Enterprise Linux Server variant |notapplicable |
|Sonamebumped libs |notapplicable |
|SonameKept Reusable Dynamic Libraries |notapplicable |
|Removed .so libs |notapplicable |
|In-place Upgrade Requirements for the /usr/ Directory |notapplicable |
|CA certificate bundles modified |notapplicable |
|Developer Tool Set packages |notapplicable |
|Hyper-V |notapplicable |
|Content for enabling and disabling services based on RHEL 6 system |notapplicable |
|Check for ethernet interface naming |notapplicable |
|User modification in /etc/rc.local and /etc/rc.d/rc.local |notapplicable |
|cgroups configuration compatibility check |notapplicable |
|Plugable authentication modules (PAM) |notapplicable |
|Foreign Perl modules |notapplicable |
|Python 2.7.5 |notapplicable |
|Ruby 2.0.0 |notapplicable |
|SCL collections |notapplicable |
|Red Hat Network Classic Unsupported |notapplicable |
|Red Hat Subscription Manager |notapplicable |
|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-140708210602.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 .
Hopefully everything looks ok and you can continue with the upgrade.
Run the upgrade
This tool basically downloads a custom kernel which does the actual upgrade.
This should work
redhat-upgrade-tool-cli http://mirror.bytemark.co.uk/centos/7/os/x86_64/
However it fails as below
[root@pingu ~]# redhat-upgrade-tool-cli --instrepo=http://mirror.bytemark.co.uk/centos/7/os/x86_64/ --network=7 --force --disablerepo=epel
setting up repos...
No upgrade available for the following repos: scl
.treeinfo | 1.1 kB 00:00
getting boot images...
setting up update...
verify local files 100% [==============================================================================================================================]
(1/5): libdwarf-20130207-3.el7.x86_64.rpm | 109 kB 00:00
(2/5): python-dns-1.10.0-5.el7.noarch.rpm | 220 kB 00:00
(3/5): qpdf-libs-5.0.1-3.el7.x86_64.rpm | 328 kB 00:00
(4/5): qrencode-libs-3.4.1-3.el7.x86_64.rpm | 50 kB 00:00
(5/5): satyr-0.13-4.el7.x86_64.rpm | 500 kB 00:00
warning: rpmts_HdrFromFdno: Header V3 RSA/SHA256 Signature, key ID f4a80eb5: NOKEY
Downloading failed: The GPG keys listed for the "CentOS-7.0 - Base" repository are already installed but they are not correct for this package.
Check that the correct key URLs are configured for this repository.
So I thought…. ok, for now we’ll trust the packages and not check the GPG keys. However there also seems to be a problem in detecting preupg. We ran preupg first, to check the system however the upgrade tool thinks we havn’t and fails as below
[root@pingu ~]# redhat-upgrade-tool-cli --instrepo=http://mirror.bytemark.co.uk/centos/7/os/x86_64/ --network=7 --nogpgcheck
setting up repos...
base | 3.6 kB 00:00
base/primary_db | 4.9 MB 00:01
cmdline-instrepo | 3.6 kB 00:00
cmdline-instrepo/primary_db | 4.9 MB 00:01
epel/metalink | 26 kB 00:00
epel | 4.4 kB 00:00
epel/primary_db | 6.2 MB 00:03
extras | 2.9 kB 00:00
extras/primary_db | 15 kB 00:00
updates | 2.9 kB 00:00
updates/primary_db | 1.4 MB 00:00
No upgrade available for the following repos: scl
.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
I finally ended up disabling both GPG encryption and forcing the run (to skip the preupg)
[root@pingu ~]# redhat-upgrade-tool-cli --instrepo=http://mirror.bytemark.co.uk/centos/7/os/x86_64/ --network=7 --force --nogpgcheck
setting up repos...
No upgrade available for the following repos: scl
.treeinfo | 1.1 kB 00:00
getting boot images...
setting up update...
verify local files 100% [==============================================================================================================================]
redhat_upgrade_tool.yum WARNING: Error loading productid metadata for base.
redhat_upgrade_tool.yum WARNING: Error loading productid metadata for epel.
redhat_upgrade_tool.yum WARNING: Error loading productid metadata for extras.
redhat_upgrade_tool.yum WARNING: Error loading productid metadata for updates.
testing upgrade transaction
rpm transaction 100% [=================================================================================================================================]
rpm install 100% [=====================================================================================================================================]
setting up system for upgrade
Finished. Reboot to start upgrade.
Booom - we’re getting somewhere. Now we reboot into the kernel that has been installed.
[root@pingu ~]# reboot
At this point go get a cup of tea or something - the upgrade kernel basically downloads all the required packages from yum and then reboots into a working system.
The system booted up!
Since there isn’t a SCL repo for 7 yet - we need to clean this up
[root@pingu ~]# rm -f /etc/yum.repos.d/CentOS-SCL.repo
I also have EPEL installed on this server - lets fix that up…..
[root@pingu ~]# wget -O /etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-7 http://mirror.bytemark.co.uk/fedora/epel/RPM-GPG-KEY-EPEL-7
[root@pingu ~]# sed -i 's/6/7/g' /etc/yum.repos.d/epel.repo
Update packages
At this point CentOS 7 should update cleanly
[root@pingu ~]# yum update
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
* base: mirrors.clouvider.net
* epel: mirror.vorboss.net
* extras: centos.hyve.com
* updates: centos.hyve.com
Resolving Dependencies
--> Running transaction check
---> Package epel-release.noarch 0:6-8 will be updated
---> Package epel-release.noarch 0:7-0.2 will be an update
---> Package htop.x86_64 0:1.0.1-2.el6 will be updated
---> Package htop.x86_64 0:1.0.3-3.el7 will be an update
---> Package python-crypto.x86_64 0:2.0.1-22.el6 will be updated
---> Package python-crypto.x86_64 0:2.6.1-1.el7 will be an update
---> Package python-paramiko.noarch 0:1.7.5-2.1.el6 will be updated
---> Package python-paramiko.noarch 0:1.11.3-1.el7 will be an update
---> Package python-simplejson.x86_64 0:2.0.9-3.1.el6 will be updated
---> Package python-simplejson.x86_64 0:3.3.3-1.el7 will be an update
--> Finished Dependency Resolution
Dependencies Resolved
========================================================================================================================================================
Package Arch Version Repository Size
========================================================================================================================================================
Updating:
epel-release noarch 7-0.2 epel 13 k
htop x86_64 1.0.3-3.el7 epel 87 k
python-crypto x86_64 2.6.1-1.el7 epel 469 k
python-paramiko noarch 1.11.3-1.el7 epel 678 k
python-simplejson x86_64 3.3.3-1.el7 epel 171 k
Transaction Summary
========================================================================================================================================================
Upgrade 5 Packages
Total size: 1.4 M
Is this ok [y/d/N]: y
Downloading packages:
warning: /var/cache/yum/x86_64/7/epel/packages/epel-release-7-0.2.noarch.rpm: Header V3 RSA/SHA256 Signature, key ID 352c64e5: NOKEY
Retrieving key from file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-7
Importing GPG key 0x352C64E5:
Userid : "Fedora EPEL (7) <epel@fedoraproject.org>"
Fingerprint: 91e9 7d7c 4a5e 96f1 7f3e 888f 6a2f aea2 352c 64e5
From : /etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-7
Is this ok [y/N]: y
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
Warning: RPMDB altered outside of yum.
** Found 20 pre-existing rpmdb problem(s), 'yum check' output follows:
aiccu-2007.01.15-7.el6.x86_64 has missing requires of libgnutls.so.26()(64bit)
aiccu-2007.01.15-7.el6.x86_64 has missing requires of libgnutls.so.26(GNUTLS_1_4)(64bit)
cas-0.15-1.el6.1.noarch has missing requires of python(abi) = ('0', '2.6', None)
10:centos-release-SCL-6-5.el6.centos.x86_64 has missing requires of centos-release = ('0', '6', None)
cloog-ppl-0.15.7-1.2.el6.x86_64 has missing requires of libgmp.so.3()(64bit)
hal-info-20090716-3.1.el6.noarch has missing requires of hal >= ('0', '0.5.10', None)
openscap-1.0.8-1.el6_5.x86_64 has missing requires of libpcre.so.0()(64bit)
openscap-1.0.8-1.el6_5.x86_64 has missing requires of librpm.so.1()(64bit)
openscap-1.0.8-1.el6_5.x86_64 has missing requires of librpmio.so.1()(64bit)
ppl-0.10.2-11.el6.x86_64 has missing requires of libgmp.so.3()(64bit)
preupgrade-assistant-1.0.2-33.el6.x86_64 has missing requires of libpcre.so.0()(64bit)
preupgrade-assistant-1.0.2-33.el6.x86_64 has missing requires of librpm.so.1()(64bit)
preupgrade-assistant-1.0.2-33.el6.x86_64 has missing requires of librpmio.so.1()(64bit)
preupgrade-assistant-1.0.2-33.el6.x86_64 has missing requires of python(abi) = ('0', '2.6', None)
python-dns-1.11.1-2.el6.noarch has missing requires of python(abi) = ('0', '2.6', None)
python-iwlib-0.1-1.2.el6.x86_64 has missing requires of libpython2.6.so.1.0()(64bit)
python-iwlib-0.1-1.2.el6.x86_64 has missing requires of python(abi) = ('0', '2.6', None)
qpdf-libs-5.1.1-2.el6.x86_64 has missing requires of libpcre.so.0()(64bit)
1:readahead-1.5.6-2.el6.x86_64 has missing requires of upstart
satyr-0.14-1.el6.x86_64 has missing requires of librpm.so.1()(64bit)
Updating : python-crypto-2.6.1-1.el7.x86_64 1/10
Updating : python-paramiko-1.11.3-1.el7.noarch 2/10
Updating : python-simplejson-3.3.3-1.el7.x86_64 3/10
Updating : htop-1.0.3-3.el7.x86_64 4/10
Updating : epel-release-7-0.2.noarch 5/10
warning: /etc/yum.repos.d/epel.repo saved as /etc/yum.repos.d/epel.repo.rpmsave
Cleanup : python-paramiko-1.7.5-2.1.el6.noarch 6/10
Cleanup : epel-release-6-8.noarch 7/10
Cleanup : python-crypto-2.0.1-22.el6.x86_64 8/10
Cleanup : python-simplejson-2.0.9-3.1.el6.x86_64 9/10
Cleanup : htop-1.0.1-2.el6.x86_64 10/10
Verifying : epel-release-7-0.2.noarch 1/10
Verifying : python-crypto-2.6.1-1.el7.x86_64 2/10
Verifying : htop-1.0.3-3.el7.x86_64 3/10
Verifying : python-simplejson-3.3.3-1.el7.x86_64 4/10
Verifying : python-paramiko-1.11.3-1.el7.noarch 5/10
Verifying : python-simplejson-2.0.9-3.1.el6.x86_64 6/10
Verifying : epel-release-6-8.noarch 7/10
Verifying : python-crypto-2.0.1-22.el6.x86_64 8/10
Verifying : python-paramiko-1.7.5-2.1.el6.noarch 9/10
Verifying : htop-1.0.1-2.el6.x86_64 10/10
Updated:
epel-release.noarch 0:7-0.2 htop.x86_64 0:1.0.3-3.el7 python-crypto.x86_64 0:2.6.1-1.el7 python-paramiko.noarch 0:1.11.3-1.el7
python-simplejson.x86_64 0:3.3.3-1.el7
Complete!
Let’s reboot once more to make sure things are all cleanly started…
[root@pingu ~]# reboot
Oh hey, it’s a CentOS 7 box
[root@pingu ~]# cat /etc/redhat-release
CentOS Linux release 7.0.1406 (Core)
Roundup
While it’s too new to try out anywhere near production kit, for a set of tools that ‘will need some patching to work properly’ everything works pretty well.
Hopefully with a few minor tweaks the packages will land on the normal mirrors and upgrading boxes will be bliss.
Go play with CentOS 7 and try out some of the neat features in the 3.10 kernel.
As always, remember to leave SELinux turned on.