Thursday, August 22, 2013

CentOS 6.2 64bit on ESX

CentOS is a free version of RHEL where you don't have to sign up for the RHN, but can still use yum to automatically install and update packages. It generally works with any software that supports RHEL.

I downloaded:
www.centos.org
CentOS-6.2-x86_64-bin-DVD1.iso

See Installing CentOS for details about the available ISOs.

I installed on an ESX server through vSphere/vCenter 5.1.0 as follows:

[right-click] > New Virtual Machine

Configuration:          Typical
Name:                   yourBox
Inventory Location:     [accept-default]
Storage:                [disk-with-most-free-space]
Guest Operating System: Linux
Version:                CentOS 4/5/6 (64-bit)
How many NICs:          1
Network:                VLAN166
Adapter:                E1000
Connect at Power On:    [checked]
Virtual disk size:      5GB

Edit the virtual machine settings before completion
 Memory > 512mb
 Floppy > [remove]
 CD/DVD
  Datastore ISO File > Browse > CentOS-6.2-x86_64-bin-DVD1.iso
  Connect at power on > [checked]
> Finish

After creation of the vm, it appears in the esx sidebar. Right-click it to power it on. Left click it, then select the console tab. The CentOS installer will appear. Note that the ISO must be hosted on the ESX server. It won't launch if it is connected from your local machine. Also note that this installer has a limited text-based GUI. Finally note that DVD2.iso is not required.

Install or Upgrade an existing system
SKIP (the disk check)
OK (welcome to centos)
English
us
Re-initialize all
System clock uses UTC
America/New York
choose a root password
Use entire drive
Write changes to disk
it now installs 208 packages
Reboot

After reboot you are at the console. Unfortunately we can't connect via putty or copy/paste yet. Now is a good time to disconnect the iso.

[right-click] yourBox > Edit Settings > CD/DVD drive 1 > Client Device > OK

I'm assuming you're in a network that already has DHCP.

vi /etc/hosts
127.0.0.1               yourmachine yourmachine.yourdomain.com localhost...
vi /etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE="eth0"
HWADDR=LEAVE_THIS_AS_IS
NM_CONTROLLED="yes"
ONBOOT="yes"
BOOTPROTO="dhcp"
DHCP_HOSTNAME="yourmachine.yourdomain.com"
vi /etc/sysconfig/network
NETWORKING=YES
HOSTNAME=yourmachine.yourdomain.com
shutdown -r now

You should now be able to ping your new box from your local machine. It may take a while the DNS to update. If so you can use ifconfig from the ESX console to discover the IP and connect with putty via IP instead of hostname. Connecting by putty gives you a larger console and supports copy/paste.

yum list installed              # shows what you have
date                            # your clock is probably wrong
date -s 2:54pm                  # fix it
service iptables status         # by default your firewall is on

If you will need to install some 32bit apps, you may need 32bit packages like these.

yum -y install glibc.i686
yum -y install libstdc++.i686
yum -y install libgcc.i686

However, you'll run into errors like these.

Error: Protected multilib versions: libstdc++-4.4.7-3.el6.i686 != libstdc++-4.4.6-3.el6.x86_64
Error: Protected multilib versions: libgcc-4.4.7-3.el6.i686 != libgcc-4.4.6-3.el6.x86_64

This is fixed by yum update, but be warned, if you plan to install software that is sensitive to the OS version, you can't just yum update because that will up the OS version.

[root@mwas1 ~]# cat /etc/redhat-release
CentOS release 6.2 (Final)

yum update -y

[root@mwas1 ~]# cat /etc/redhat-release
CentOS release 6.4 (Final)
{ "loggedin": false, "owner": false, "avatar": "", "render": "nothing", "trackingID": "UA-36983794-1", "description": "", "page": { "blogIds": [ 443 ] }, "domain": "holtstrom.com", "base": "\/michael", "url": "https:\/\/holtstrom.com\/michael\/", "frameworkFiles": "https:\/\/holtstrom.com\/michael\/_framework\/_files.4\/", "commonFiles": "https:\/\/holtstrom.com\/michael\/_common\/_files.3\/", "mediaFiles": "https:\/\/holtstrom.com\/michael\/media\/_files.3\/", "tmdbUrl": "http:\/\/www.themoviedb.org\/", "tmdbPoster": "http:\/\/image.tmdb.org\/t\/p\/w342" }