Installation on CentOS

From Linux-VServer

Revision as of 10:37, 25 April 2008 by (Talk)

Jump to: navigation, search


Install CentOS 5

My CentOS 5 installation is a DVD install with only the "Desktop - GNOME" group selected.

On restart, a number of questions (timezone/security level/etc) are asked. At this stage set the "SELinux" option to disabled. If you skip this step, then simply modify the /etc/sysconfig/selinux file and disable selinux from there. You will need to reboot before this takes effect, but its okay to wait until you have installed the kernel before doing this (just to save some time :)

Add the repository

In order to install the necessary packages, you will have to add the repository containing them to your yum configuration. Paste the following in /etc/yum.repos.d/dhozac-vserver.repo

name=Linux-VServer related packages for CentOS $releasever - $basearch

Update yum

Before you do anything else, update yum. If you don't, you'll have to sit through lots of "you're using a knackered version of yum. Wait 5 seconds" messages.

yum update yum

Which should pick the version from the dhozac repository.

Install the kernel

To install the kernel, run

yum install kernel

Double check the grub file to make sure it is the bootable kernel (/boot/grub/grub.conf). If all is okay we are ready to restart the server.

At this stage (before the reboot) I also modify the hosts sshd config file, so it doesn't listen to every interface on the server, which would block any guest's attempt to run sshd.

vi /etc/ssh/sshd_config

and add the line "ListenAddress"

Install util-vserver

To install util-vserver, run

yum install util-vserver{,-core,-lib,-sysv,-build}

Post installation steps

Make certain /proc entries visible

/etc/init.d/vprocunhide start

Install a guest

As root, try the following to test your installation (this example installs a CentOS 5 guest)

vserver testing01 build -m yum --context 4040 --hostname=test01.test.loc \
--interface eth0: -- -d centos5

yum will install the minimal packages now. If you see something like

    /usr/lib/util-vserver/distributions/centos5/initpost: line 105:  3587 Killed
    $_VSERVER "$vserver" exec bash -c ': >/tmp/startwait' >&/dev/null

Don't worry, it's okay.

At this point you should be able to start and enter your vserver install. To start the guest do,

vserver testing01 start

And to enter the guest, do

vserver testing01 enter

To get back to the host, just exit the shell.

If you want to manage the packages inside the guest, you will have to install some package management programs as well as internalize the RPM database. This can be achieved by

vyum testing01 -- install yum
vserver testing01 pkgmgmt internalize

Depending on your host distribution, you may also need to do

vserver testing01 exec bash -c "rm -f /var/lib/rpm/__db*; rpm --rebuilddb"

You'll know it's required if a simple rpm -qa inside the guest complains about a database version mismatch.

Optionally, the following may be run to increase the functionality of the guest:

vyum testing01 -- install yum vim-common vim-minimal vim-enhanced openssh-server openssh \
 gcc gcc-c++ kernel-devel bison openssl-devel libtermcap-devel ncurses-devel doxygen \
 curl-devel newt-devel mlocate lynx tar wget nmap bzip2 speex speex-devel unixODBC \
 unixODBC-devel libtool-ltdl libtool-ltdl-devel mysql-connector-odbc mysql mysql-devel
mkdir /etc/vservers/testing01/apps/vunify
vserver testing01 hashify

Enter the guest and run:


which splits /etc/passwd into /etc/passwd and /etc/shadow.

Then remove any lines which contain '' from /etc/pam.d/sshd, /etc/pam.d/login and /etc/pam.d/remote.

Edit /etc/ssh/sshd_config and change the line '#ListenAddress' to 'ListenAddress w.x.y.z' (where w.x.y.z is the IP allocated to the guest)

Create /etc/resolv.conf with the appropriate details.

If all goes well you now have a working setup :)

Personal tools