Difference between revisions of "Creating a CentOS 6 Template"

From OpenVZ Virtuozzo Containers Wiki
Jump to: navigation, search
(Created page with "DRAFT - still in the works This guide requires that you already have a CentOS 6 (Having 5 might also work) - If you do not have CentOS 6 installed, do it in KVM or VirtualBox...")
 
 
(11 intermediate revisions by the same user not shown)
Line 1: Line 1:
DRAFT - still in the works
+
[[Category: HOWTO]]
 +
[[Category: Templates]]
  
This guide requires that you already have a CentOS 6 (Having 5 might also work) - 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 do:
+
At a CentOS 6 host as root do:
  
yum install yum-utils
+
yum install yum-utils
yumdownloader centos-release.x86_64
+
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
  
mkdir -p /newroot/var/lib/
+
Create /newroot/etc/fstab that looks like this:
touch /newroot/var/lib/random-seed #without it, the initscript installation script will fail
+
none /dev/pts devpts rw,gid=5,mode=620 0 0
 +
none /dev/shm tmpfs defaults 0 0
  
  rpm --rebuilddb --root=/newroot
+
Edit /newroot/etc/sysconfig/init
  rpm -i --root=/newroot --nodeps centos-release-6-3.el6.centos.9.x86_64.rpm
+
Change the line
  yum --installroot=/newroot install -y openssh-clients openssh-server yum yum-utils man wget sudo tar passwd
+
ACTIVE_CONSOLES=/dev/tty[1-6]
  # if you want a extremely minimal installation only install yum
+
to
 +
ACTIVE_CONSOLES=
  
  yum --installroot=/newroot clean all  # not sure if that is really needed
+
Change timezone (if needed)
  
  ln -s /proc/mounts /newroot/etc/mtab
+
rm /newroot/etc/localtime <br />
 +
ln -s /usr/share/zoneinfo/Your/Timezone /newroot/etc/localtime
  
/newroot/etc/fstab should look like this:
+
The only thing missing is to create a tarball of our new root.
  none /dev/pts devpts rw,gid=5,mode=620 0 0
+
tar zcf /vz/template/cache/centos-6-x86_64.tar.gz -C /newroot .
  none /dev/shm tmpfs defaults 0 0
 
  
  rm -f /newroot/dev/null
+
You probably want to get rid of /newroot<br />
  mknod -m 600 /newroot/dev/console c 5 1
+
rm -rf /newroot
  
#if you want (not sure about this. If they are there, mingettys will run. On the other hand, if you upgrade your CentOS VPS in OpenVZ they would probably be recreated)
+
And you are done!
 
 
 rm /newroot/etc/init/start-ttys.conf /newroot/etc/init/tty.conf
 
  tar zcf /vz/template/cache/centos-6-x86_64.tar.gz .
 

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!