Difference between revisions of "Creating a CentOS 6 Template"
(8 intermediate revisions by the same user not shown) | |||
Line 1: | Line 1: | ||
− | + | [[Category: HOWTO]] | |
+ | [[Category: Templates]] | ||
− | At a CentOS 6 host as root do: | + | 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. |
− | + | ||
− | yum install yum-utils | + | At a CentOS 6 host as root do: |
− | yumdownloader centos-release | + | |
− | mkdir -p /newroot/var/lib | + | yum install yum-utils |
− | touch /newroot/var/lib/random-seed #without it, the initscript installation script will fail | + | yumdownloader centos-release |
− | rpm --rebuilddb --root=/newroot | + | mkdir -p /newroot/var/lib |
− | rpm -i --root=/newroot --nodeps centos-release-6- | + | touch /newroot/var/lib/random-seed #without it, the initscript installation script will fail |
− | yum --installroot=/newroot install -y openssh-clients openssh-server yum yum-utils man wget sudo tar passwd | + | rpm --rebuilddb --root=/newroot |
− | yum --installroot=/newroot clean all | + | rpm -i --root=/newroot --nodeps centos-release-6-5.el6.centos.11.2.x86_64.rpm |
− | ln -s /proc/mounts /newroot/etc/mtab | + | yum --installroot=/newroot install -y rootfiles openssh-clients openssh-server yum yum-utils man wget sudo tar passwd |
− | rm -f /newroot/dev/null | + | yum --installroot=/newroot clean all |
− | mknod -m 600 /newroot/dev/console c 5 1 | + | 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: | 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 | Edit /newroot/etc/sysconfig/init | ||
Change the line | Change the line | ||
− | + | ACTIVE_CONSOLES=/dev/tty[1-6] | |
to | to | ||
− | + | ACTIVE_CONSOLES= | |
+ | |||
+ | Change timezone (if needed) | ||
+ | |||
+ | rm /newroot/etc/localtime <br /> | ||
+ | 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<br /> | ||
+ | rm -rf /newroot | ||
− | + | 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!