Before we get into the nightmare that was CentOS 7 I recently experienced, lets cover a few things that put some context to this article. I own 3 servers that I usually have running in my basement. They are mostly test bed servers that have local network access, but not Internet access. They are where I can play with different ideas and see how they work, as well as practice things I am learning.
Recently, I decided it was time to upgrade the OS on one of the servers. Usually I go with Ubuntu Server, unless I need to install something like WHM/cPanel. However, this time I decided to go with CentOS 7. I have had a lot of good experiences with CentOS in the past, running things like DHCP servers, DNS servers, and even RADIUS/AAA network authentication servers off of past versions of CentOS. Unfortunately, this go around was anything but a pleasant experience.
After downloading the DVD ISO of CentOS 7 I loaded it onto a bootable USB thumb drive, using Rufus, as I do with all the Linux distributions I download. I booted up the server, with the thumb drive in one of the USB ports on the front. You know, standard installation from USB routine. Then the first issue hit. My BIOS was not seeing the thumb drive, and just booted to Ubuntu Server. After some troubleshooting, I found two issues causing the problem. Issue number one was that the tiny circuit board for my front panel USB connectors had apparently fried. Not a CentOS issue, and pretty easy to fix. All my servers use the same 2U rack mount chassis type, and I had an extra that wasn’t in use, so I pulled the front panel USB ports from it.
The second issue I found was that the jumpers from the motherboard to the front panel USB ports have also burned up. Odd, considering the motherboard is passing all tests, and has no issues. You would think that enough electricity to fry the wires would also fry some circuits on the motherboard. Okay, so I swap out the jumpers and their accompanying wires. Presto, USB ports now work.
Now here comes the real nightmare. Everything with the install goes freakishly fast, considering it is the DVD ISO, and supposed to be around a 4-5 Gb install, and I am installing onto a mechanical HDD. I started to get suspicious here, as there is no reason the install should have gone that fast. Once the install is complete, I went ahead and booted to the primary HDD. Right away I can tell something is wrong. CentOS has always shipped with a GUI (usually older versions of Gnome). However, after boot, I am getting the terminal login with no GUI. I usually uninstall the GUI if the distribution has one on my servers anyway; No use for a GUI on a server. However, I know there is something wrong when the GUI is completely missing right from the get go. Remember, this is the DVD ISO, not the Minimal ISO.
Hoping for the best, and that nothing else is missing, I login. Everything good so far on this front… until I attempt to install OpenSSH. I use YUM to issue the command, and bang, I get an error that NONE of the repositories can be contacted. Me being me, I immediately jumped into troubleshoot mode. I issue an ifconfig command, and get an invalid command error. What? Why would ifconfig be missing. So I issue a ifcfg command, with no operators, just to check if it is missing to. Nope, not missing, and gives me the available operators, such as adding an address. I attempt to manually issue an address to eth0… and I get an error that eth0 does not exist.
So, naturally, I start digging in, and what I find is that HALF of the networking systems, files, commands, and subsystems are either completely missing or corrupt. Thinking that there is no way a distribution as reliable as CentOS released this much of a mess, I immediately think “Oh, it must be either my hard drive or the USB thumb drive.” Nope. Both of those pass my tests with flying colors. After some extensive research online, I find that, while most people are not having this issue, I am not the only person who is.
As of writing this article, I still have not found a solution, though I am still working on it. As soon as I do find out how to fix it, and get everything working, I will post a tutorial on this blog for others having the same issue to use (complete with re-installing the GUI). Trust me, I have already tried re-downloading the ISO from a different mirror, and thumb drive, with the same result.