Install and configure VNC in 8 easy steps

1. Install vnc server rpm as per linux distribution you are using.

2. Once you will install vnc server you can check for the following commands listed below.

3. Now set the password for vnc sessions by executing command vncpasswd

4. Once password is set you can run the command vncserver which will create a file .Xauthority and a folder .vnc in user’s home directory with all the configuration files. It also starts the first session for client.


5. Now we have to kill the vnc session as before connecting we have to configure vnc properly. To kill a vnc session you have to use the following command shown in the figure.

Here: 1 is the vnc session id.

6. Now open .vnc/xstartup file to modify the parameter. Beginning the file looks like below

7. Now uncomment the 3rd and 4th line containing unset and exec command. Keep the next two lines as it is (uncommented).Comment out the rest lines of the file. At the end add a startx command. After making the changes the content should look like below.

N:B:-This is for GNOME Desktop Environments. For KDE Desktop environment you have to mention startkde & at the end instead of startx &

Now start the vncserver. That’s all configurations from server side.

8. Now open the vnc viwer from client side.It will ask for servername and password.

Now Give the server as hostname: session id or IP address: session id .It will ask for password and you will get the remote desktop screen after successful authentication.

9. If your client system is a Linux system then install vncviewer rpm. Then you can connect to remote system by executing vncviewer command.


“No network adapters were detected” while installing ESX 4 on VMware Workstation

Today I was trying to install ESX4 on my windows machine on top of VMware workstation 7.I and saw everything was fine but while installing the installer complains “No network adapters were detected”.For you reference I have attached the screenshot.


After searching a lot in google I found the solution.To get rid of this issue you just need to edit the <esxname>.vmx file.

make sure the following lines are present for each connected Ethernet adapter. If there are multiple cards configured for the ESX instance, there will be one copy of each of these lines for each adapter.

ethernet0.present = "TRUE"
ethernet0.virtualDev = "e1000"
ethernet0.connectionType = "bridged"
ethernet0.addressType = "generated"

If any of the line is missing you can add the entry at the end of the file.

Also You’ll need to add the following lines in the .VMX file if your processor is Intel-based:

monitor_control.restrict_backdoor = TRUE
monitor_control.vt32 = TRUE

If the processor is AMD-based, replace the line

monitor_control.vt32 = TRUE


monitor_control.enable_svm = TRUE.

Now start your ESX installation.You can proceed without any error.

15 steps to create your own VMware vSphere LAB on your home computer

VMware has given us the opportunity to test out all its product features for 60 days. So those who are preparing for VCP exam or those who want to test or learn vSphere features it will be very helpful to create a vSphere environment in their home computer. So don’t complain about VMware that you can afford the hardware cost, so you cannot test VMware.

Hardware you need

1. Mother Board having 64-bit compatibility

2. Processor with VT (Virtualization Technology) and x64 Supports

3. 4 GB of RAM (minimum)

Now a day all the motherboard and processor in the market contains these features. To see whether your current processor is 64-bit compatible or not and VT supported or not, you can use the following tool.

BITS: Download Link1

Download link2

Once you will run the program you will get a screen like below and can able to know all the facts.

Hardware that I used:

Processor:-Inter core 2 Quad CPUQ6600

Motherboard:-Intel DG31PR

RAM:-4 GB Transcend DDR-II 800MHz


1. VMWare workstation/server

2. Windows Server 2003/2008 64-bit

3. ESX/ESXi server ISO

4. vCenter Server ISO

5. Openfiler ISO

Software versions I have used

1. VMware® Workstation 7.1.2

2. Windows Server 2003 Enterprise x64 Edition

3. ESX 4.1 Installable ISO image

4. ESXi 4.1 Installable ISO image

5. VMware-VMvisor-Installer-4.0.0-171294.x86_64 ISO image

6. openfiler-2.3-x86_64-disc1 ISO image

Let’s Start our Lab

Step-1:-Install VMware workstation on your windows operating system.

Step-2:-Create 1 VM with 2.0 GB of RAM and install ESX from the DVD image.

Step-3:-Create 1 VM with 2.0 GB of RAM and install ESXi from the DVD image.

Step-4:-Create 1 VM with 2.0 GB of RAM and Windows Server 2003 Enterprise x64 Edition installed.

Step-5:- Create 1 VM with minimum 256mb of RAM and OpenFiler installed

N: B-Never reserve any memory for any host if you donot have more than 6GB memory as the memory usage may become constraint in powering some guest.

Step-6:-Mount VMware-VMvisor-Installer-4.0.0-171294.x86_64.iso to windows server 2003 VM and install vCenter Server (VC) in the same VM. Also install the vSphere client on the same VM.This will be our vcenter Server.

Step-7:-Install vSphere client in your Base operating system which is in my case Windows 7 64 bit.

Step-8:-Now put all the 4 VM’e in “Powerd On” state.

Step-9:-Open vSphere Client on your base operating system.It will ask username/password of vcenter server.You will get a screen like below.

Give the username and password of your windows 2003 server and press login button.

Step-10:-Once after successful login you will be presented a screen like below.

Step-11: Create a folder with name as per your convenience by right clicking on the vCenter server as shown in above screen.

Step-12: Create a datacenter with name as per your convenience by right clicking on the folder created in the above step.

Step-13: Now you can add host to the data center by right clicking on datacenter and selecting Add Host.

Step-14:-After adding host you can see them like shown below

Step-15:-Now you can click on the hosts and create virtual machines, resource pools etc. like shown below

This way you will get a testing environment for VMware vSphere.To test storage you can use Openfiler as iSCSI storage device.For more information on how to install and use open filer with vSphere you can go here.

20 steps to connect openfiler to esx as iscsi storage

December 25, 2010 4 comments

Openfiler is a Linux based small operating system that provides file-based network-attached storage and block-based storage area network and is free software. It can run with very minimal resource.Below I will show how we can take the benefit of openfiler to make SAN/NAS storage for our VMware ESX host.

There are two types of openfiler installation. You can click on the installation link to see all details on how to help

1.Text Based Installation

2.Graphical Installation

N:B:-Make sure you have not partitioned all the disk space.Make the OS partition to small size and keep rest as free space which later we will use as iSCSI LUN.

At the time of installation or post installation you have to configure static IP address and necessary DNS configuration.

Once your installation is done, after reboot you will get a screen like below where it will give the URL where you can access opnefiler from browser.

N:B:- Configure static IP address and necessary DNS configuration before doing anything

Step-1:Now open the URL given at openfiler startup screen using any browser to login to its web interface. For first time it will give a security warning like the picture shown below.

You just need to ignore the warning and proceed to the login page.

You will get a login screen like given below.

N:B:-Don’t login using the root user credentials what you have provided during openfiler installation.

Default username:-openfiler

Default Password:-password

Once after successful login you will get a screen which will be containing all your openfiler server information

Step-2:Go to volumes tab.If you are opening this for first time you will get a screen like below.

You have to select create new volume group. Then you will get a screen like below.

Step-3:Click on disk name (Here in my case its /dev/sdb) under Edit Disk which contains the free space we are going to use iSCSI storage. Now you will get a screen where you can make your physical volume.

From Partition Type dropdown menu select Physical volume and click Create.It will create a physical volume.

Step-4:Now click on Volume Groups on the right hand side. You will be presented a window like below.

Here give some valid name for the volume group and select the physical volumes shown in the list in order to add to the volume group. Then click on Add volume group.

Once volume group creation finishes you can see the volume group listed under volumes tab.

Step-5:Now volume group creation is done,So we have to configure LUN(Logical Unit Number).To do this click on Add Volume.

Here give some volume name and slide the slider to allocate space to LUN.Choose Filesystem type as iSCSI and click on create.

Step-6:Next action is to enable iSCSI service. For this open Services tab. You will find there are some service listed and have option to disable/enable the services. From here you have to enable iSCSI target server will be disabled by default.

Step-7:Once iSCSI is enabled we need to share the volume to specific IP/Networks. To do this open System tab and on bottom you will find Network Access Configuration. Here provide the details of the ESX/ESXi server information and click on update.

N:B:-Sometimes in Network Access Configuration if you will allow only host then the iSCSI volume may not be shown in storage volumes under vSphere client.To overcome this allow the whole network as shown in the second rule in Network Access Configuration.

Step-8:Now you need to configure the iSCSI target and allow for the host.To do this goto Volumes tab.On right hand side you will find iSCSI Targets.From there goto Target Configuration as shown in figure below.

You will see some long name under Target IQN.This is going to be your iSCSI target name.Click on Add to add the target.

Step-9:Then go to LUN Mapping and click on Map to map the LUN to the iSCSI target.

Step-10:Next goto Network ACL on the same page.You will see the list of network/hostname present here are similar to what you gave in Network Access Configuration before and all will be deny by default.You have to allow them and click on Update.

Now openfiler configuration is over.We have to attach the storage volume to our ESX/ESXi server.

To do that login to the ESX /ESXi server using vSphere client.

Step – 11:In vSphere client Goto to Inventory > Configuration > Networking.

Now you need to add VMkernel to have features like vMotion and HA.To do that click on Add Networking. Select VMkernel and click Next.

Step-12:-Now if you have more than one network adaptor you can create a new virtual switch but in my case I have only one so I choose use vSwitch0 which will handle the network traffic for VMkernel.Click Next to proceed.

Step-13:From the next screen you can choose the options to enable services like VMotion,FT etc. but as we are mainly focused on storage leave those part for now.

Click next to proceed

Step-14:Set an IP adress for the VMkernel

Click Next. Then click Finish to finish the process of creation of VMkernel.

Step-15: Go to Configuration TAB and click on Storage Adapters.Click on iSCSI Software Adapter.

Step-16: Click on Properties of iSCSI Software Adapter, then goto General > Configure and enable the software initiator checkbox.

Step-17:Then click on Dynamic Discovery tab.Click on Add and then put your Openfiler IP address in iSCSCI Server field. In my case the IP is

Click OK and then click Close to close the Properties window.Now a pop-up will appear to rescan all host bus adapter.Click on Yes to rescan.

Now you can see the storage device by selecting the iSCSI adapter as shown below.

Step-18:To create LUN goto Configuration > Storage > Add Storage.

Step-19:Once you will click on Add Storage you will be prompted as below

Click Next.

Select the iSCSI disk and click Next.You will be represented the disk layout.


Click Next to proceed.Now you will be prompted to put a datastore name.

Put any datastore name of your choice and click Next.

Select you block size from the dropdown list and click Next.

Now your LUN is ready.Click on Finish.

Step-20: Now automatically your Openfiler LUN will appear in datastore list.To view this go to Configuration>Storage.

N:B:-If your datastore is not appearing in the list just click on Rescan all to rescan the host bus adapter. Now you can definitely see your datastore.

Different Run levels in Linux and how to switch between them

What are different Run levels in Linux and how to switch between them?

Run levels:-Run levels define what processes or services to run automatically while the system boots up. This is defined in /etc/inittab file.

N. B: – The init process is the last step in the boot procedure and has pid of ‘1’.’ “init” is responsible for starting system processes as per defined in the /etc/inittab file.


“init” process checks which default run level is defined in /etc/inittab and starts the system in that run level which means all the services defined for that run level gets executed.


There are 7 different run levels present (run level 0-6) in Linux system for different purpose. The descriptions are given below.

0: Halt System (To shutdown the system)
1: Single user mode
2: Basic multi user mode without NFS
3: Full multi user mode (text based)
4: unused
5: Multi user mode with Graphical User Interface
6: Reboot System


Most desktop Linux distributions boot into run level 5, which starts up the Graphical Login Prompt. This allows the user to use the system with X-Windows server enabled. Most servers boot into run level 3, which starts the text based login prompt as it is advisable not to install graphical windows in a server as lots of space goes waste and also it takes lot of resource to run.


Each run level is defined inside its own directory structure. These directories are located in the /etc/rc.d/ directory, under which you have rc1.d, rc2.d… rc6.d directories where the number from 0 to 6 corresponds to the specific run level. Inside each directory symbolic links are defined to a  to master initscripts found in /etc/init.d or /etc/rc.d/init.d.


Switching or Changing between different runlevels:-

Method-1: Changing run level temporarily without reboot.

We can use init command to change rune levels without rebooting the system.

Ex:-if we are currently in run level 3 and want to go to run level 1, just we need to execute

# init 1

Or if you want to shutdown a machine you can take help of run level ‘0’ .Just you need to execute

#init 0

Remember this change is not permanent and on next reboot you will get your default runlevel.


Method-2: Changing run level permanently

If you want to change your default run level then

Open the file /etc/inittab and edit entry initdefault:

# vi /etc/inittab

Let’s set initdefault to 5, so that you can boot to X next time when Linux comes up:



Method-3:-Change run level at boot time

You can also change the run level at boot time. If your system uses LILO as the boot manager, you can append the run level to the boot command:

LILO: linux 3 or
LILO: linux 5

If your system uses GRUB, you can change the boot runlevel by pressing the `e’ key to edit the boot configuration. Append the run level(in our case 5) to the end of the boot command as shown:

kernel /vmlinuz-2.6.18-164.el5 ro root=LABEL=/ rhgb quiet  5



Categories: Linux Tags: , , , ,

Create your own local repository and solve yum related problems

November 22, 2010 2 comments

In RHEL 5.0 onwards Red hat introduced YUM concept by which it is very easy to install some rpm without being getting worry about the dependency problem.YUM takes care of this dependency problem by selecting all dependent RPM to install from a central repository either from RED HAT or from some third party repository like oracle has or you can create your own repository if you want to use YUM offline

YUM: – Yellowdog Updater, Modified (YUM)

In first section we will discuss how to create your own local repository.

1. To create that inserts your Red hat DVD installer inside DVD ROM.

2. Mount the DVD by

[root@localhost ~]#mounts /dev/cdrom /media

3. Create a folder of your choice. In my case I have created /home/rpms

4. Copy all the RPM from /media/Server/ to /hom/rpms folder

[root@localhost ~]#mkdir /home/rpms
[root@localhost ~]#cp -rv /media/Server/*  /home/rpms

6. Now look for a folder /etc/yum.repos.d. If the directory exists then YUM package is already installed and you can skip this step. So you just need to configure. If it is not there you have to install yum and yum-utils package. Also install one RPM called createrepo.

[root@localhost rpms]# cd /media/Server/
[root@localhost Server]# rpm -ivh yum-3.0.1-5.el5.noarch.rpm
[root@localhost Server]# rpm –ivh yum-utils-1.0.4-3.el5.noarch.rpm
[root@localhost Server]# rpm -ivh createrepo-0.4.4-2.fc6.noarch.rpm

7. Once YUM packages are installed you will get the /etc/yum.repos.d folder. Go inside the folder and open the entire .repo file present inside that folder. In all .repo file search for

enabled = 1

and replace by

enabled = 0

This means you are disabling the default repository locations or else you can delete all repo files.

8. Edit the /etc/yum.conf file,change the following line:

keepcache=0 to keepcache=1

9. Now prepare the directory /rpms to act as a repository. For this we run the command

[root@localhost ~]createrepo -p /rpms 

This command will take some time to finish and once finished you can see a directory called repodata will be created inside the /rpms directory.

11.If some error comes like “Cannot delete .olddata” Then you have to remove it manually by “rm -rf /home/rpms/.olddata”

yum error 39

10. Now create a file myrepo.repo inside /etc/yum.repos.d folder

[root@localhost ~]touch /etc/yum.repos.d/myrepo.repo

11. Put the following contents inside the myrepo.repo file

 name=My Local Repo

Save the file and exit.

Now your repository is ready. Before running any installation first clean the cache by

Yum clean all

Now you can install anything like

[root@localhost ~]yum install httpd

You will get a screen like below where you have to say “y” or “n”

yum installation

N:B-Here I have used file:// protocol as base url.You can use ftp:/// or http:// if you have remote repository location.

Common Errors and their solutions

1)Errno 256:Metadata file does not match checksum


1) Edit /etc/yum.conf and add the following line


2) Run "yum clean metadata"

3) Retry the yum install

2)“TypeError: rpmdb open failed” or “TypeError: rpmdb unable to join the environment”


# yum clean all 
#rm -f /var/lib/rpm/__db* 
#rpm –rebuilddb 
#yum update

3)ValueError: need more than 1 value to unpack


#yum clean all

#yum clean metadata

#yum clean dbcache


and then execute

#yum makecache

4)thread.error: can’t start new thread


#rm /usr/lib/yum-plugins/

#yum update

5)[Errno -3] Error performing checksum


#createrepo -v -s sha1 <repository location>

#yum clean all

6)TypeError: unsubscriptable object


#yum clean metadata

#yum update missing dependency error


#yum clean all

#yum update

7)Yum install GPG error


#rpm --import /etc/pki/rpm-gpg/RPM*

8)Error: Cannot retrieve repository metadata (repomd.xml)


This is a network issue.Please check DNS,Proxy etc. settings for the same.

Categories: Linux Tags: , , , ,

Step by step explanation of Linux boot sequence

October 19, 2010 25 comments

In this topic we will discuss indepth of Linux Boot Sequence.How a linux system boots?This will help administrators in

troubleshooting some bootup problem.Before discussing about  I will notedown the major component we need to know

who are responsible for the booting process.

        1.BIOS(Basic Input/Output System)

        2.MBR(Master Boot Record)

        3.LILO or GRUB

             LILO:-LInux LOader

             GRUB:-GRand Unified Bootloader



        6.Run Levels


      i.When we power on BIOS performs a Power-On Self-Test (POST) for all of the different hardware components in the system to make sure everything is working properly

     ii.Also it checks for whether the computer is being started from an off position (cold boot) or from a restart (warm boot) is
stored at this location.

     iii.Retrieves information from CMOS (Complementary Metal-Oxide Semiconductor) a battery operated memory chip on the motherboard that stores time, date, and critical system information.

     iv.Once BIOS sees everything is fine it will begin searching for an operating system Boot Sector on a valid master boot sector
on all available drives like hard disks,CD-ROM drive etc.

     v.Once BIOS finds a valid MBR it will give the instructions to boot and executes the first 512-byte boot sector that is the first
sector (“Sector 0”) of a partitioned data storage device such as hard disk or CD-ROM etc .


     i. Normally we use multi-level boot loader.Here MBR means I am referencing to DOS MBR.

     ii.Afer BIOS executes a valid DOS MBR,the DOS MBR will search for a valid primary partition marked as bootable on the hard disk.

     iii.If MBR finds a valid bootable primary partition then it executes the first 512-bytes of that partition which is second level MBR.

     iv. In linux we have two types of the above mentioned second level MBR known as LILO and GRUB


     i.LILO is a linux boot loader which is too big to fit into single sector of 512-bytes.

     ii.So it is divided into two parts :an installer and a runtime module.

     iii.The installer module places the runtime module on MBR.The runtime module has the info about all operating systems installed.

     iv.When the runtime module is executed it selects the operating system to load and transfers the control to kernel.

     v.LILO does not understand filesystems and boot images to be loaded and treats them as raw disk offsets


     i.GRUB MBR consists of 446 bytes of primary bootloader code and 64 bytes of the partition table.

     ii.GRUB locates all the operating systems installed and gives a GUI to select the operating system need to be loaded.

     iii.Once user selects the operating system GRUB will pass control to the karnel of that operating system.
see below what is the difference between LILO and GRUB


     i.Once GRUB or LILO transfers the control to Kernel,the Kernels does the following tasks

  • Intitialises devices and loads initrd module
  • mounts root filesystem


     i.The kernel, once it is loaded, finds init in sbin(/sbin/init) and executes it.

     ii.Hence the first process which is started in linux is init process.

     iii.This init process reads /etc/inittab file and sets the path, starts swapping, checks the file systems, and so on.

     iv.It runs all the boot scripts(/etc/rc.d/*,/etc/rc.boot/*)

     v.starts the system on specified run level in the file /etc/inittab


     i.There are 7 run levels in which the linux OS runs and different run levels serves for different purpose.The descriptions are
given below.

  • 0  – halt
  • 1  – Single user mode
  • 2  – Multiuser, without NFS (The same as 3, if you don’t have networking)
  • 3  – Full multiuser mode
  • 4  – unused
  • 5  – X11
  • 6  – Reboot

     ii.We can set in which runlevel we want to run our operating system by defining it on /etc/inittab file.

Now as per our setting in /etc/inittab the Operating System the operating system boots up and finishes the bootup process.

Below are given some few  important differences about LILO and GRUB



LILO has no interactive command interface GRUB has interactive command interface
LILO does not support booting from a network GRUB does support booting from a network
If you change your LILO config file, you have to rewrite the LILO stage one boot loader to the MBR GRUB automatically detects any change in config file and auto loads the OS
LILO supports only linux operating system GRUB supports large number of OS

To know more about the booting process you can follow the link below

Categories: Linux Tags: , , , , , ,