Upgrade to CentOS 7
Last month Red Hat released RHEL 7 and few days ago CentOS announced the GA of CentOS 7. As you may know, starting RHEL 7 Red Hat introduces support for upgrading to major releases (RHEL 6.5 –> RHEL 7) via a tool called redhat-upgrade-tool. Not sure if this is 100% supported by CentOS at this time, but I found the CentOS rpm packages on their development site and thought of giving them a try and luckily it turned out OK.
Of course this is only a proof of concept, it may possibly not work by default on production environments, so use with care. For my test I used a fully updated base installation of CentOS 6.5 VM running on VirtualBox.
Download required packages
mkdir -p /root/upgrade
cd /root/upgrade
wget http://dev.centos.org/centos/6/upg/x86_64/Packages/preupgrade-assistant-1.0.2-33.0.3.el6.centos.x86_64.rpm http://dev.centos.org/centos/6/upg/x86_64/Packages/preupgrade-assistant-contents-0.5.13-1.0.5.el6.centos.noarch.rpm http://dev.centos.org/centos/6/upg/x86_64/Packages/preupgrade-assistant-ui-1.0.2-33.0.3.el6.centos.x86_64.rpm http://dev.centos.org/centos/6/upg/x86_64/Packages/redhat-upgrade-tool-0.7.22-3.el6.centos.noarch.rpm
Install preupgrade assistant
yum localinstall preupgrade-assistant-*
Run preupgrade assistant
preupg
This does a check on the installed system and tries to identify potential issues after the upgrade. It should be run until all tests pass successfully. Not sure it did anything on my VM as all tests returned “not applicable”. I haven’t used the original tool (for RHEL7) but I suspect the CentOS equivalent is still work in progress, so I decided to skip it. More info on the preupgrade assistant is available in the RedHat official documentation.
Install redhat-upgrade-tool
yum localinstall redhat-upgrade-tool-0.7.22-3.el6.centos.noarch.rpm
Import the CentOS 7 rpm gpg key
rpm --import http://ftp.plusline.de/centos/7.0.1406/os/x86_64/RPM-GPG-KEY-CentOS-7
Run the upgrade tool
The tool can use a local ISO, the local media drive or a network URL to perform the upgrade. The network command argument needs to be followed by a release version (rawhide is also supported) and a valid installation repository (at the time of this writing not all repositories were updated or reachable, so I did some trial and error until I found a working repo) which can be defined as a standard URL or a mirror (full mirror list is available here).
redhat-upgrade-tool --network 7.0 --instrepo http://ftp.plusline.de/centos/7.0.1406/os/x86_64/
Should this warn you that you didn’t run the upgrade assistant, you can force its execution by adding the extra option:
redhat-upgrade-tool --network 7.0 --instrepo http://ftp.plusline.de/centos/7.0.1406/os/x86_64/ --force
A successful run ends with this message: “Finished. Reboot to start upgrade.“
Reboot
After restarting the machine, the OS will boot a new grub entry called System Upgrade which is supposed to upgrade all packages previously downloaded by the upgrade tool. I ran into a small problem here “Database environment version mismatch” likely caused by the rpm tool itself (rpm version is 4.11 in CentOS 7 and 4.8 in CentOS 6).
cd /mnt/var/lib/rpm
rm __*
init 6
Removing the rpm database files and rebooting worked for me (CTRL+D or exiting the shell should also work as that would exit the emergency mode and continue from the last step before the error occurred) and the upgrade went through without other issues.
cat /etc/centos-release
CentOS Linux release 7.0.1406 (Core)
UPDATE
If you follow this guide make sure you use the latest releases of the upgrade packages (preupgrade-assistant-* and redhat-upgrade-tool) as provided by CentOS here. Also note that after the writing of this article, CentOS published a wiki page on the upgrade tool so it’s probably best to use that instead. Thanks.
I am using Centos 6.5. According to the article I think it’s not suitable for remote upgrade through ssh, right? I hope there will be an automated script for upgrading.
The only supported upgrade method for RHEL7 is via the preupgrade assistant and redhat-upgrade-tool. The recommended way is to do a clean install.
As I said above this is only a proof of concept on how it is supposed to work, but unfortunately the CentOS tools are not yet ready for production (the ones I used were in development), so I would definitely not recommend using them.
I tried this on centos 6.5 64 bit and I got as far as the command ‘redhat-upgrade-tool –network 7.0 –instrepo http://ftp.plusline.de/centos/7.0.1406/os/x86_64/ –force’
but at the end of it the console gave:
“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.”
@tony: thanks for reporting this, I missed adding one important step: importing the CentOS 7 rpm gpg key, please check the updated post! Just import the key, then rerun redhat-upgrade-tool.
How long did the redhat-upgrade-tool take to run on your system? Mine has been running for >18 hours. Granted I have a lot of packages installed (~4k) but the time still seems excessive. I am generating the debug log and can see that it is still running. CPU usage is ~25% but memory usage is ~78% (on a system with 32 GB).
@cvoltz: definitely not that long, I’d say 1-2 hrs (~1300 packages to download). Do you see any progress? For reference, here’s a sample output from my machine:
If your output shows that it’s still downloading after 18 hrs, maybe you need to choose another mirror closer to your location. Otherwise it could be some other issue that is preventing the upgrade tool from starting the update preparation process. Hope you’re not doing this on a production server :D
I am installing from the already downloaded DVD ISO so there shouldn’t be any downloading. The output to the terminal hasn’t changed in a long time but I see a ton of stuff spewing into the debug log (currently at 32 GB). Here is my terminal output:
I did run the preupg assistant and it ran fairly quickly and didn’t find any problems. The debug log shows a bunch of lines from redhat_upgrade_tool.depsolve mostly format_missing_requires and procReqPo.
@cvoltz: not sure if related but could be. The redhat-upgrade-tool man page states “the –iso image must be on a filesystem listed in /etc/fstab”, is that true in your case? But more likely the upgrade tool entered some kind of loop, I suggest canceling it and run it again with the verbose option (-v) so you have a better picture of what it’s doing.
The ISO is on a filesystem listed in /etc/fstab.
Before I got your post, I killed the original install and restarted with:
I noticed that it generates a log in /var/log/redhat_upgrade_tool.log. I took a look at it and it does look like it is in a loop in the dependency resolution.
I did try re-running with the -v option as you suggested but the output is pretty much the same as before:
What happens with MySQL after upgrade? Is it replaced (“upgraded”) with MariaDB or ?
I ran into the “database version mismatch” problem that you mentioned.
The only problem is that after deleting the rpm databases the system boots centos 6.5 (which seems “a bit” broken afterwards) and does not continue with the update.
I guess (but I am really not sure) that is due to the fact that I use a separate /boot (and /home) partition. Do you only use one partition for the whole centos system?
I do have backups of all my data, but I would not want to install centos 7 from scratch and re-import my data?
Any ideas?
Worked like a charm for me today. I did not have to do the rm __* files after the reboot.
@Goran: not sure, I didn’t have MySQL installed, but either make sure you plan ahead and backup all MySQL databases and configuration.
@Niko_K: deleting the rpm database files has nothing to do with the Grub configuration which sets the default boot entry which should be “System Upgrade” (that is, if redhat-upgrade-tool completed successfully). Also, having /boot and /home as separate partitions shouldn’t matter (I have the same configuration with /boot, /home and /). I suggest you check again and possibly re-run redhat-upgrade-tool; upon completion you should be able to check /boot/grub.grub.conf and see the new upgrade entry. If you need to fix the existing rpm database check out this post: http://linuxsysconfig.com/2013/03/recover-the-rpm-database-on-fedora-18/
@admin
I have a backup of my databases. And I don’t try first on production machine.
I hope that someone who uses MySQL/MariaDB, and used this procedure can comment regarding, whether MySQL database is upgraded/replaced with MariaDB, or MySQL is still preserved along with MariaDB, or something else.
Of course the cleanest path would be fresh install and migration from MySQL to MariaDB but, I would like to try first the upgrade option.
@Goran: just had another attempt with Oracle Linux with these results:
“During inplace upgrade, the old MySQL 5.1 RPM package is uninstalled and the new MariaDB 5.5 RPM package is installed, but RPM does not take this operation as an update.”
Obviously the upgrade tools are different on CentOS and Oracle Linux, but they share large chunks of the same source code, so it might work the same on CentOS.
http://linuxsysconfig.com/2014/07/inplace-upgrade-from-ol6-5-to-ol7/ (check 3rd pic from the first batch of screenshots)
Re running the tool did not solve the problem.
However, I was able to solve it by calling ./upgrade and ./upgrade-post on the emergency shell after deleting the yum database files.
@Nikolaus Krismer: cool, thanks for sharing.
Brilliant. It worked as stated above. I didn’t have any issues. Thank you. I have been waiting my whole linux life for a way to upgrade in place. Life is wonderful!! Long Live Linux.
Thank you Linus.
I was using mysql. After the updgrade to centos7 mariadb is used by the system.
This might need some small changes (pid/log paths), but works without major database-engine updates (or similar).
I did the same process mentioned here I found on another site and was able to upgrade fine. I have actually done this on a could centos 7 host, but I do have a small issue on both of them in that GDM does not work for me afterward (black screen and mouse cursor is all that comes up) , but startx works perfectly fine.. I have not been able to find the cause for this, but I wonder if anyone else has seen this, or maybe have an idea for the cause / fix to get GDM to display something other than a blank screen with a cursor LOL .
Thanks for you suggestions..
Net Nut.
@Admin: One would expect from Oracle to use appropriate version of MySQL instead MariaDB in Linux distro with Oracle branding.
@Niko_K: What happened with your old MySQL data(bases)? Where they upgraded and avaliable after Centos upgrade?
hello admin, when im trying to run redhat-upgrade-tool-0.7.22-1.el6.noarch.rpm python-rhsm-1.9.7-1.el6.x86_64.rpm
command , showing ann error — “redhat-upgrade-tool- command not found”
why i facing thiss issue.? please answer me ASAP
@nidhin: not sure what you’re trying to do, in order to use redhat-upgrade-tool you first have to install it with yum. Note that CentOS released newer versions of the upgrade packages recently, so if you’re following my guide make sure you use the new download links.
…I am very appreciative of your post, but when I followed it, all I was greeted with was a small pile of 404s from wget:
–2014-08-15 16:24:07– http://dev.centos.org/centos/6/upg/x86_64/Packages/preupgrade-assistant-1.0.2-33.el6.x86_64.rpm
Resolving dev.centos.org… 204.15.73.242
Connecting to dev.centos.org|204.15.73.242|:80… connected.
HTTP request sent, awaiting response… 404 Not Found
2014-08-15 16:24:07 ERROR 404: Not Found.
…etc.
@aquishix: I’ve updated the download links, thanks
@Gaston: It works now with the updated URLs. I added the CentOS wiki for people to follow as it’s easier to use the upgrade repo instead of downloading the RPMs manually.
@jodan20xx: Thanks, I noticed python-rhsm is no longer required and removed it
This procedure no longer works. This one has been updated: http://majzel.blogspot.ca/2014/08/centos-65-to-centos-70.html
Gaston
The small pile of 404s are because the links are now bad. If you look at the dev site, you will see that the files hosted there are now slightly different (different version numbers). Additionally, the python is gone completely. I am running the process now with the new file names and I will post the new wget strings assuming it works.
Have a look here–> http://wiki.centos.org/TipsAndTricks/CentOSUpgradeTool
It works absolutely fine.
Uninstall package installed from this post (yum remove preupgrade-assistant-* && yum remove redhat-upgrade-tool-0.7.22-3.el6.centos.noarch.rpm && yum remove epel*) and afterwards follow the above links sayings.
When i have downloaded the preupdate tools then i wil install them but i get
what is going wrong ????
Examining preupgrade-assistant-ui-1.0.2-36.0.1.el6.centos.x86_64.rpm: preupgrade-assistant-ui-1.0.2-36.0.1.el6.centos.x86_64
Cannot add package preupgrade-assistant-ui-1.0.2-36.0.1.el6.centos.x86_64.rpm to transaction. Not a compatible architecture: x86_64
Skipping: preupgrade-assistant-ui-1.0.2-36.0.1.el6.centos.x86_64.rpm.1, filename does not end in .rpm.
Resolving Dependencies
–> Running transaction check
—> Package preupgrade-assistant-contents.noarch 0:0.5.14-1.el6.centos will be installed
–> Processing Dependency: preupgrade-assistant(x86-64) >= 1.0.2-14 for package: preupgrade-assistant-contents-0.5.14-1.el6.centos.noarch
–> Finished Dependency Resolution
Error: Package: preupgrade-assistant-contents-0.5.14-1.el6.centos.noarch (/preupgrade-assistant-contents-0.5.14-1.el6.centos.noarch)
Requires: preupgrade-assistant(x86-64) >= 1.0.2-14
You could try using –skip-broken to work around the problem
You could try running: rpm -Va –nofiles –nodigest
I’d recommend the CentOS plugin **protectbase** this plugin will help when dealing with multiple 3rd party repos or just EPEL/RPMForge
You can use “yum –disablerepo=[reponame] update” but that’s a single use option if you’d like to protect your system continuously then I’d highly recommend the “protectbase”
“yum install yum-plugins-protectbase”
Then add “protect=1” on the repos you’d want to protect. Aka CentOS-Base
And add “protect=0” to epel.repo this should solve most common conflicts when dealing with 3rd party repositories.
I created a more in-depth guide on my blog here [Dealing with multiple repositories on CentOS 4/5/6/7][1]
[1]: https://zm.nubes.ca/dealing-with-multiple-repositories-on-centos-4-5-7-with-yum-and-protectbase-plugin-1053/
i get error below
Setting up Install Process
Resolving Dependencies
–> Running transaction check
—> Package preupgrade-assistant-contents.noarch 0:0.5.14-1.el6.centos will be installed
–> Processing Dependency: preupgrade-assistant(x86-64) >= 1.0.2-14 for package: preupgrade-assistant-contents-0.5.14-1.el6.centos.noarch
—> Package redhat-upgrade-tool.noarch 1:0.7.22-3.el6.centos will be installed
–> Processing Dependency: preupgrade-assistant >= 1.0.2-4 for package: 1:redhat-upgrade-tool-0.7.22-3.el6.centos.noarch
–> Finished Dependency Resolution
Error: Package: 1:redhat-upgrade-tool-0.7.22-3.el6.centos.noarch (upg)
Requires: preupgrade-assistant >= 1.0.2-4
Error: Package: preupgrade-assistant-contents-0.5.14-1.el6.centos.noarch (upg)
Requires: preupgrade-assistant(x86-64) >= 1.0.2-14
You could try using –skip-broken to work around the problem
You could try running: rpm -Va –nofiles –nodigest
On which exact command you get these?? Post the exact commandand i will tell you what to do.
It could possibly tell you to use–> yum install redhat-upgrade-tool preupgrade-assistant-contents –skip-broken
Then preupg -l or preupg -s CentOS6_7 if the first one returns Centos6_7
Then–> centos-upgrade-tool-cli –network 7 –instrepo=http://mirror.centos.org/centos/7/os/x86_64/ must be turn into –>>centos-upgrade-tool-cli –network 7 –force –nogpgchechk –instrepo=http://mirror.centos.org/centos/7/os/x86_64/
yum localinstall preupgrade-assistant-*
Then i get Above Dependencies error
Giorgos
I try your option, but the i get the same error
What version is your Centos? It works absolutely fine in Centos6.5.
Anyway. Forget eveything about localinstall or whatever is written on this thread/posts and follow the steps i mention below.
1st)Create a Repo file in /etc/yum.repos.d/, named something like upgradetool.repo
—> vim /etc/yum.repos.d/upgradetool.repo –>add the below> [upg]
name=CentOS-$releasever – Upgrade Tool
baseurl=http://dev.centos.org/centos/6/upg/x86_64/
gpgcheck=1
enabled=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6
2nd)run–> yum install redhat-upgrade-tool preupgrade-assistant-contents
3rd–>run–>preupg -l
if CentOS6_7 is returned then run–> preupg -s CentOS6_7
4th) finally run–> centos-upgrade-tool-cli –network 7 –force –nogpgchechk –instrepo=http://mirror.centos.org/centos/7/os/x86_64/
And tell me about the outcome.
CentOS release 6.5 (Final)
With the latest updates
With
yum install redhat-upgrade-tool preupgrade-assistant-contents
i have the same Error
You should try cleaning up all of your repos. Run yum repolist all & have a look at your repos then run–>yum clean -or- yum clean all –>yum update. Afterwards try once again all the steps of the process i mentioned above.
I do not know if you have a brand new server or a working and setted up one but you should know that several modules/stuff are not yet included in any of the centos 7 repos.SO it is recommended only for freshly installed server setups.
The server is a working server used for webserver and mail and mysql
I did yum clean all and Yum update but the problem is not solved, I think its better to get a fresh install
Have you removed the packages i mention, before the upgrade procedure?
yum remove preupgrade-assistant-* && yum remove redhat-upgrade-tool-0.7.22-3.el6.centos.noarch.rpm && yum remove epel*
and then the upgrade procedure i mention.
Try it & if that fails too, you should either wait for an updated upgrade or upgrade a fresh 6.5 install or install fresh centos7.
yum remove preupgrade-assistant-*
yum remove redhat-upgrade-tool-0.7.22-3.el6.centos.noarch.rpm
They are not installed
yum remove epel* i remove them yesterday after i update Centos 6.5
base
centosplus
extras updates upg is for upgrade to CentOS 7.0 Repo
Ok. Run –>yum remove preupgrade*yum remove redhat-upgrade* and try it all over. You definitely have errors in your preupgrade packages and that is all about the dependencies erros.
There you can find all the packages http://dev.centos.org/centos/6/upg/
and the x86_64 packages needed http://dev.centos.org/centos/6/upg/x86_64/
[root@scorpion yum.repos.d]# yum remove preupgrade*
Loaded plugins: fastestmirror, security
Setting up Remove Process
No Match for argument: preupgrade*
Loading mirror speeds from cached hostfile
* base: http://ftp.nluug.nl
* centosplus: mirror.oxilion.nl
* extras: nl.mirror.eurid.eu
* updates: mirror.oxilion.nl
Package(s) preupgrade* available, but not installed.
No Packages marked for removal
[root@scorpion yum.repos.d]#
[root@scorpion yum.repos.d]#
[root@scorpion yum.repos.d]# yum remove redhat-upgrade*
Loaded plugins: fastestmirror, security
Setting up Remove Process
No Match for argument: redhat-upgrade*
Loading mirror speeds from cached hostfile
* base: http://ftp.nluug.nl
* centosplus: mirror.oxilion.nl
* extras: nl.mirror.eurid.eu
* updates: mirror.oxilion.nl
Package(s) redhat-upgrade* available, but not installed.
No Packages marked for removal
yum -y install preupgrade-assistant-contents redhat-upgrade-tool preupgrade-assistant
Loaded plugins: fastestmirror, security
Loading mirror speeds from cached hostfile
* base: http://ftp.nluug.nl
* centosplus: mirror.oxilion.nl
* extras: nl.mirror.eurid.eu
* updates: mirror.oxilion.nl
Setting up Install Process
No package preupgrade-assistant available.
Resolving Dependencies
–> Running transaction check
—> Package preupgrade-assistant-contents.noarch 0:0.5.14-1.el6.centos will be installed
–> Processing Dependency: preupgrade-assistant(x86-64) >= 1.0.2-14 for package: preupgrade-assistant-contents-0.5.14-1.el6.centos.noarch
—> Package redhat-upgrade-tool.noarch 1:0.7.22-3.el6.centos will be installed
–> Processing Dependency: preupgrade-assistant >= 1.0.2-4 for package: 1:redhat-upgrade-tool-0.7.22-3.el6.centos.noarch
–> Finished Dependency Resolution
Error: Package: 1:redhat-upgrade-tool-0.7.22-3.el6.centos.noarch (upg)
Requires: preupgrade-assistant >= 1.0.2-4
Error: Package: preupgrade-assistant-contents-0.5.14-1.el6.centos.noarch (upg)
Requires: preupgrade-assistant(x86-64) >= 1.0.2-14
You could try using –skip-broken to work around the problem
You could try running: rpm -Va –nofiles –nodigest
Will this upgrade delete my folders and websites on my current server and will it also delete my databases or it will only upgrade OS files ?
@Mohammad Farouk: An in-place upgrade does NOT remove user data from the system, it only updates existing packages and applies additional configuration if needed. Please read more here and also note this method is NOT to be used in production without proper testing!
Hi admin
i follow each steps and everything went fine then even i didn’t have any problem with “Database mismatch” issue that u’ve mentioned but after rebooting a black screen appears with mouse cursor on it and that’s it nothing happin, and i logged in using terminal tried to using Yum to install new desktop environment and an error appears tells me that “There is no installed groups file”
what should i do now ??
@Mohamed Abdou: you’ve probably hit this bug if you upgraded from GNOME 2 to GNOME 3 (which is not supported). You could try adding group_command=compat to /etc/yum.conf (as suggested in the link) or mark the group as installed and then remove and install it again.
I’m having the exact same problem as NetNut404 above in that GDM hangs with a black screen showing only a mouse cursor, except that I get it on a fresh install of CentOS 7. Very annoying.
It may sound bizarre, but try increasing the number of user watches for inotify. That was what fixed it for me:
sudo sysctl -w fs.inotify.max_user_watches=750000
If that works don’t forget to update /etc/sysctl.conf to make the change permanent:
sudo bash -c “echo fs.inotify.max_user_watches=750000 >> /etc/sysctl.conf”
After executing this command:
redhat-upgrade-tool –network 7.0 –instrepo http://ftp.plusline.de/centos/7.0.1406/os/x86_64/ –force
I got this error message
setting up system for upgrade
Traceback (most recent call last):
File “/usr/bin/redhat-upgrade-tool”, line 310, in
main(args)
File “/usr/bin/redhat-upgrade-tool”, line 238, in main
prep_boot(kernel, initrd)
File “/usr/lib/python2.6/site-packages/redhat_upgrade_tool/sysprep.py”, line 200, in prep_boot
modify_bootloader(kernel, initrd)
File “/usr/lib/python2.6/site-packages/redhat_upgrade_tool/sysprep.py”, line 171, in modify_bootloader
remove_kargs=remove_args)
File “/usr/lib/python2.6/site-packages/redhat_upgrade_tool/boot.py”, line 40, in add_entry
output = check_output(cmd)
File “/usr/lib/python2.6/site-packages/redhat_upgrade_tool/util.py”, line 42, in check_output
process = Popen(stdout=PIPE, *popenargs, **kwargs)
File “/usr/lib64/python2.6/subprocess.py”, line 642, in __init__
errread, errwrite)
File “/usr/lib64/python2.6/subprocess.py”, line 1234, in _execute_child
raise child_exception
OSError: [Errno 2] No such file or directory
Does anybody know how to fix it?
Thanx
I was trying to upgrade 6.3 to 7.0 using this tutorial.I had only a basic Desktop system, But now it is installing all application related to centos How can I set upgrade only basic things with out mysql and java and other applications
@Ali Mansoor: it’s not possible to choose specific packages to upgrade with redhat-upgrade-tool. The Minimal Desktop installation option from CentOS 6 includes basic-desktop and java-platform groups which might require different dependencies in CentOS 7, hence the increased number of installed packages.
Getting below error
Downloading failed: couldn’t get boot images: Timeout on http://ftp.plusline.de/centos/7.0.1406/os/x86_64/images/pxeboot/vmlinuz: (28, ‘Operation too slow. Less than 1 bytes/sec transfered the last 30 seconds’)
@Ravi: Please use the official wiki as stated in the UPDATE paragraph:
Thanks for quick reply, getting error there as well
Downloading failed: couldn’t get boot images: Timeout on http://mirror.centos.org/centos/7/os/x86_64/images/pxeboot/vmlinuz: (28, ‘Operation too slow. Less than 1 bytes/sec transfered the last 30 seconds’)
@Ravi: that error could have a number of causes including a broken yum mirror or a slow Internet connection (either direct or via proxy). Try either cleaning up yum caches or bypassing the mirror selection if using the plugin (if the latter doesn’t work, make sure you enabled it back):
Wais up Im wearin centos 6.4 as a personal computer not used as server mainly but have installed centos 7 on other machine and it shows up only ssh msdos ambient,so my question is if I run this upgrade will I keep using my centos as a windows type pc?
@mischa: if you don’t know what you’re doing you might end up with a broken desktop environment as documented here under “Know issues when upgrading”: http://wiki.centos.org/TipsAndTricks/CentOSUpgradeTool
I suggest you don’t perform the upgrade, but you might want to update your system to CentOS 6.6 as there were a lot of security updates since 6.4 was released. Just run ‘yum update’.
So you are underestimating me and that is ok knowing you are a gringo from United States ,just North America because Latino America is still America and is not part of your territory,the same corrupted and doped sense of humor that contaminates the whole world.
You are wrong,to date there is many things in programming I ignore but still there hasnt been one time I dont achieve any programmer goal,Im like any programmer in the world Im mighty in some stuff and ignorant at other stuff,just like you.
Look dude its so sad you didnt get the point of my communication and yopu came up with other none sense,honestly I dont like to speak much with gringo engineers ,I sort out most everything with other nations engineers,so whatever is the same with you.
Wow Mischa, no need to change the tone. The admin is just trying to help and he did point you to the right place. CentOs notes clearly say “If you have either the Gnome or KDE desktop installed, upgrade is likely not going to work .. at least not completely.”
I appreciate the time Admin has spent answering our questions and writing this guide.
BTW, I am also a Latino.
Cheers.
I upgraded 6.7 to 7 today and I had to delete __* in /mnt/var/lib/rpm as described, and then press control-D to continue the upgrade process instead of the described init 6. I first tried init 6 and that did not go well.
Hello,
I followed the installation process as mention above. It was noticed that some links were broken. But after replace the those links, the installation was successfully complete. Here are my steps:
Thanks for share this upgrade process.
Regards,
Steven
Correction …, here are the replacement broken links:
Regards,
Steven
This worked great for CentOS 7.2.1511.. I did a fresh install of CentOS 6.5 and then followed this guide, updating only the release number for the KEY and –instrepo steps as had been down with prior 7.x reelases in this post. Thanks – This was really great!
Regards,
Mark
I’m running CentOS release 6.7 (Final). At step “Import the CentOS 7 rpm gpg key” i get failures.
curl: (22) The requested URL returned error: 404 Not Found
error: http://ftp.plusline.de/centos/7.0.1406/os/x86_64/RPM-GPG-KEY-CentOS-7: import read failed(2).
@Paul: See Steven’s reply above with the updated URL.
Thank you so much for the how-to. I was able to successfully upgrade from CentOS 6.7 (final) to CentOS 7.2.1511.
This is the URL I used for 7.2.1511 (Steven’s URL for 1503 no longer works):
Forgot to mention. I also installed latest preupgrade-assistant from here http://dev.centos.org/centos/6/upg/x86_64/Packages/?C=M;O=A:
preupgrade-assistant-1.0.2-36.0.1.el6.centos.x86_64.rpm
preupgrade-assistant-ui-1.0.2-36.0.1.el6.centos.x86_64.rpm
preupgrade-assistant-contents-0.5.14-1.el6.centos.noarch.rpm
Previous post double – got removed by HTML. Try pre tab:
After upgrade from 6.7, you may see this error during reboot or try to run commands like grep:
error while loading shared libraries: libpcre.so.0: cannot open shared object file: No such file or directory
It was caused by old libpcre.so.0.0.1 was replaced by new libpcre.so.1.2.0.
To fix this, cd to /usr/lib64 and create a symlink:
ln -s libpcre.so.1.2.0 libpcre.so.0
After upgrade, some services, like nfs server and rsyslogd, no longer start on boot. You will need to enable and start them with systemctl.
systemctl enable rsyslog
systemctl start rsyslog
I am happy that my nfs server now can use new features come with the new kernel.
please help ! what’s the problem? )
I got the same error as below.
[root@centos6 yum.repos.d]# sudo /usr/bin/redhat-upgrade-tool-cli --network 7 --instrepo=http://192.168.1.80
setting up repos...
Traceback (most recent call last):
File "/usr/bin/redhat-upgrade-tool-cli", line 310, in
main(args)
File "/usr/bin/redhat-upgrade-tool-cli", line 125, in main
if f.treeinfo.get('general', 'version').split('.')[0] != \
File "/usr/lib/python2.6/site-packages/redhat_upgrade_tool/download.py", line 379, in treeinfo
self._treeinfo = Treeinfo(self._get_treeinfo())
File "/usr/lib/python2.6/site-packages/redhat_upgrade_tool/download.py", line 369, in _get_treeinfo
reget=None)
File "/usr/lib/python2.6/site-packages/urlgrabber/mirror.py", line 408, in urlgrab
return self._mirror_try(func, url, kw)
File "/usr/lib/python2.6/site-packages/urlgrabber/mirror.py", line 402, in _mirror_try
self._failure(gr, obj)
File "/usr/lib/python2.6/site-packages/urlgrabber/mirror.py", line 297, in _failure
action = cb(cb_obj, *args, **kwargs) or {}
File "/usr/lib/python2.6/site-packages/redhat_upgrade_tool/download.py", line 53, in raise_exception
raise failobj.exception
urlgrabber.grabber.URLGrabError: [Errno 14] PYCURL ERROR 22 - "The requested URL returned error: 404 Not Found"
I followed above steps properly but still not able to upgrade..Could you know the reason of above error?
I did the upgrade on two of my machine as described here. Thanks for the post, anyway.
Everything went fine except after the complete upgrade and a last reboot I cannot log in.
After entering username of root and the correct (!) password I get the login-prompt again. It’s an endless loop, obviously.
Not forget to mention that I receive the error “Host SMBus controller not enabled” as well (piix4_smbus). It’s a VMware-env.
No possibility to log in, even in the rescue console.
Has anybody an idea?
Highliy appreciated!
Hello,
Are there any updates? I am trying to upgrade CentOS release 6.9 (Final) to version 7.
no, the tool it’s not deprecated fully !
ok, so where do I start, first of all thanks for this post! on the attempt to update from ISO with the tool.
you have to downgrade to 6.5 by updating the kernel and release packages for 6.5 (2.3-32-341) from a (vault/ archive centos.org) url (OR) a 6.5 DVD/ISO (OR) a locally made custom repo (7GB)….basically get the RPM package for the 6.5 kernel and centOS release version RPM ;
and for the rest of the downgrade, I used a DVD of 6.5 for the packages (mounted locally)
then do a (yum dist-sync) , which will take you to 6.5 fully.
Running the Tool!
the problem is:
Downloading failed: invalid data in .treeinfo: No option ‘upgrade’ in section: ‘images-x86_64’
why: well centos.org is no longer posting the checksum of the vmlinux and other boot media on there repos in the file .treeinfo usually poasted on os/x86_64/ urls
the secret sauce it’s :
finding a Centos.org mirror archive/ vault URL with a valid .treeinfo checksum, (which the DVD images don’t have either) the latest up to date with a checksum is the 7.2 repo url, and anything prior has it (7.0 or 7.1) , every other newer repo URL is missing the checksum inside the .treeinfo file.
check it for yourself —> http://vault.centos.org/centos/7.2.1511/os/x86_64/.treeinfo
at the time of this post that’s a valid checksum.
the issue continues:
once you find a valid repo URL , the packages directory for the old distros are missing RPM packages for 7.2 and errors ensued; the tool does not like ISO or DVD repos ! of 7.X; I tried !
the fix is:
adding a current yum repo with the tool ,on the OS to be used by YUM (although the repo has to be added with the tool it does not like it otherwise or at leased it has to be named CentOS7 – like the version of the tool) and it has to have the latest repo packages or at lease what 7.2 needs.
as so;
here is the command…..
redhat-upgrade-tool-cli –network 7 –cleanup-post –instrepo=http://vault.centos.org/centos/7.2.1511/os/x86_64/ –addrepo=CentOS7=http://mirror.centos.org/centos/7/os/x86_64/
from:
http://a-records.info/upgrade-centos69-to-centos-73/
Thanks joel diort for providing the way to do! I was almost able to do it but I had version mismatch problems, which I was able to solve thanks to the option –addrepo=CentOS7=http://mirror.centos.org/centos/7/os/x86_64
after i did this i was no longer able to log into my server, but that may be because i didn’t first downgraded centos to 6.5