CentOS 7 – Minimal to GUI

I’ve been working on tutorials for Chef and Maven and I’ve been using AWS EC2 instances.  The problem is, port 22 (SSH) is blocked at my work.  So I decided to create a local virtual machine and put CentOS 7 on it to mimic what I was doing in AWS.  I’ve been looking for a reason to get more hands-on with Linux anyway, so why not.

I am using CentOS 7 because it is a clone of Red Hat and I was using the Red Hat instance in AWS.

My internet connection is a little on the slow side at work.  I decided to download the Minimal ISO for CentOS 7.  After installing it on a virtual machine, I logged in and went down an alternate path.

I started by executing some commands that I remember from studying for the Linux+ certification (which I’ve only scratch the surface of), such as ‘yum update’…And that’s when I realized I don’t have an internet connection.

I first checked my VirtualBox settings and there was a network connection attached to the VM.  I attempted to run ifconfig and I learned that it is not part of the minimal version of CentOS 7.  A quick Google search revealed the command ip addr, but that still doesn’t setup my network connection.

So back to Google and I found this handy article.  Basically,

  • Run nmcli d to get a list of network interfaces. 
  • Run nmtui, edit the appropriate network interface
  • Make sure IPv4 is set to ‘Automatic’ and tick ‘Automatically connect’
  • Exit nmtui
  • Run service network restart

Now with my Ethernet adapter connected, I could do some damage.  I executed yum update again and this time it worked!  

Then I decided I wanted to install a GUI just to do it.

yum groupinstall "GNOME Desktop" "Graphical Administration Tools"

After a reboot, I was back at the login prompt.  No GUI.  I was getting ready to log in and remembered from my studying that after installing GUI, you have tell Linux that is what you want use when you boot up the machine.  You do that by specifying the runlevel (or target) you want to use.  I want to use runlevel5, which is runlevel3 (Multi-User Mode with Networking) with a display manager (X11).  This command will set the runlevel (target) for us:

ln -sf /lib/systemd/system/runlevel.target /etc/systemd/system/default.target

After that, reboot and the system will come up in graphical mode.  

Now, I’m sure there are other things missing due to this initially being a minimal installation.  But I’m going to try to setup either something for Chef or Maven and find out what else I have to do to get this working.