Difference between revisions of "Creating a CentOS 6 Template"

From OpenVZ Virtuozzo Containers Wiki
Jump to: navigation, search
m
 
(5 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:
<code>
+
 
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
</code>
 
  
<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!

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!