Difference between revisions of "Creating a CentOS 6 Template"

From OpenVZ Virtuozzo Containers Wiki
Jump to: navigation, search
 
(4 intermediate revisions by the same user not shown)
Line 2: Line 2:
 
[[Category: Templates]]
 
[[Category: Templates]]
  
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 whatever you want.
+
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:<br/>
+
At a CentOS 6 host as root do:
  
  yum install yum-utils<br/>
+
  yum install yum-utils
  yumdownloader centos-release.x86_64<br/>
+
  yumdownloader centos-release
  mkdir -p /newroot/var/lib/<br/>
+
  mkdir -p /newroot/var/lib
  touch /newroot/var/lib/random-seed #without it, the initscript installation script will fail <br/>
+
  touch /newroot/var/lib/random-seed #without it, the initscript installation script will fail
  rpm --rebuilddb --root=/newroot<br/>
+
  rpm --rebuilddb --root=/newroot
  rpm -i --root=/newroot --nodeps centos-release-6-3.el6.centos.9.x86_64.rpm<br/>
+
  rpm -i --root=/newroot --nodeps centos-release-6-5.el6.centos.11.2.x86_64.rpm
  yum --installroot=/newroot install -y openssh-clients openssh-server yum yum-utils man wget sudo tar passwd<br/>
+
  yum --installroot=/newroot install -y rootfiles openssh-clients openssh-server yum yum-utils man wget sudo tar passwd
  yum --installroot=/newroot clean all<br/>
+
  yum --installroot=/newroot clean all
  ln -s /proc/mounts /newroot/etc/mtab<br/>
+
  ln -s /proc/mounts /newroot/etc/mtab
  rm -f /newroot/dev/null<br/>
+
  rm -f /newroot/dev/null
 
  mknod -m 600 /newroot/dev/console c 5 1
 
  mknod -m 600 /newroot/dev/console c 5 1
  
<br/>
 
 
Create /newroot/etc/fstab that looks like this:
 
Create /newroot/etc/fstab that looks like this:
 
  none /dev/pts devpts rw,gid=5,mode=620 0 0
 
  none /dev/pts devpts rw,gid=5,mode=620 0 0

Latest revision as of 09:36, 25 November 2014


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!