Difference between revisions of "Creating a CentOS 6 Template"

From OpenVZ Virtuozzo Containers Wiki
Jump to: navigation, search
m
Line 5: Line 5:
  
 
At a CentOS 6 host as root do:<br/>
 
At a CentOS 6 host as root do:<br/>
<code>
+
 
yum install yum-utils<br/>
+
yum install yum-utils<br/>
yumdownloader centos-release.x86_64<br/>
+
yumdownloader centos-release.x86_64<br/>
mkdir -p /newroot/var/lib/<br/>
+
mkdir -p /newroot/var/lib/<br/>
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 <br/>
rpm --rebuilddb --root=/newroot<br/>
+
rpm --rebuilddb --root=/newroot<br/>
rpm -i --root=/newroot --nodeps centos-release-6-3.el6.centos.9.x86_64.rpm<br/>
+
rpm -i --root=/newroot --nodeps centos-release-6-3.el6.centos.9.x86_64.rpm<br/>
yum --installroot=/newroot install -y openssh-clients openssh-server yum yum-utils man wget sudo tar passwd<br/>
+
yum --installroot=/newroot install -y openssh-clients openssh-server yum yum-utils man wget sudo tar passwd<br/>
yum --installroot=/newroot clean all<br/>
+
yum --installroot=/newroot clean all<br/>
ln -s /proc/mounts /newroot/etc/mtab<br/>
+
ln -s /proc/mounts /newroot/etc/mtab<br/>
rm -f /newroot/dev/null<br/>
+
rm -f /newroot/dev/null<br/>
mknod -m 600 /newroot/dev/console c 5 1
+
mknod -m 600 /newroot/dev/console c 5 1
</code>
 
  
 
<br/>
 
<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
  none /dev/shm tmpfs defaults 0 0
+
none /dev/shm tmpfs defaults 0 0
  
 
Edit /newroot/etc/sysconfig/init
 
Edit /newroot/etc/sysconfig/init
 
Change the line
 
Change the line
  ACTIVE_CONSOLES=/dev/tty[1-6]
+
ACTIVE_CONSOLES=/dev/tty[1-6]
 
to
 
to
  ACTIVE_CONSOLES=
+
ACTIVE_CONSOLES=
 +
 
 +
Change timezone (if needed)
 +
 
 +
rm /newroot/etc/localtime <br />
 +
ln -s /usr/share/zoneinfo/Your/Timezone /newroot/etc/localtime
  
Change timezone (if needed)<br />
 
<code>
 
rm /newroot/etc/localtime <br />
 
ln -s /usr/share/zoneinfo/Your/Timezone /newroot/etc/localtime
 
</code>
 
<br />
 
 
The only thing missing is to create a tarball of our new root.
 
The only thing missing is to create a tarball of our new root.
<code>tar zcf /vz/template/cache/centos-6-x86_64.tar.gz -C /newroot .</code>
+
tar zcf /vz/template/cache/centos-6-x86_64.tar.gz -C /newroot .
  
 
You probably want to get rid of /newroot<br />
 
You probably want to get rid of /newroot<br />
<code>
+
rm -rf /newroot
rm -rf /newroot
+
 
</code>
+
And you are done!

Revision as of 12:33, 24 October 2012


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.

At a CentOS 6 host as root do:

yum install yum-utils
yumdownloader centos-release.x86_64
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-3.el6.centos.9.x86_64.rpm
yum --installroot=/newroot install -y 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!