Creating a CentOS 6 Template

From OpenVZ Virtuozzo Containers Wiki
Jump to: navigation, search


This guide requires that you already have a CentOS 6 - If you do not have CentOS 6 installed, do it in KVM or VirtualBox or even use an already existing CentOS 6 container.

At a CentOS 6 host as root do:

yum install yum-utils
yumdownloader centos-release
mkdir -p /newroot/var/lib
touch /newroot/var/lib/random-seed #without it, the initscript installation script will fail
rpm --rebuilddb --root=/newroot
rpm -i --root=/newroot --nodeps centos-release-6-5.el6.centos.11.2.x86_64.rpm
yum --installroot=/newroot install -y rootfiles openssh-clients openssh-server yum yum-utils man wget sudo tar passwd
yum --installroot=/newroot clean all
ln -s /proc/mounts /newroot/etc/mtab
rm -f /newroot/dev/null
mknod -m 600 /newroot/dev/console c 5 1

Create /newroot/etc/fstab that looks like this:

none /dev/pts devpts rw,gid=5,mode=620 0 0
none /dev/shm tmpfs defaults 0 0

Edit /newroot/etc/sysconfig/init Change the line

ACTIVE_CONSOLES=/dev/tty[1-6]

to

ACTIVE_CONSOLES=

Change timezone (if needed)

rm /newroot/etc/localtime 
ln -s /usr/share/zoneinfo/Your/Timezone /newroot/etc/localtime

The only thing missing is to create a tarball of our new root.

tar zcf /vz/template/cache/centos-6-x86_64.tar.gz -C /newroot .

You probably want to get rid of /newroot

rm -rf /newroot

And you are done!