Difference between revisions of "Creating a CentOS 5.0 Template"
(cagegorized, added {{wikify}}, removed some crap) |
(VE, VPS -> container) |
||
Line 89: | Line 89: | ||
<li class=MsoNormal style='mso-list:l0 level1 lfo1;tab-stops:list .5in'><span | <li class=MsoNormal style='mso-list:l0 level1 lfo1;tab-stops:list .5in'><span | ||
style='font-size:10.0pt;font-family:Tahoma'>On the <span class=SpellE>OpenVZ</span> | style='font-size:10.0pt;font-family:Tahoma'>On the <span class=SpellE>OpenVZ</span> | ||
− | server create a “dummy” | + | server create a “dummy” container by creating a folder called <b |
style='mso-bidi-font-weight:normal'>/vz/private/50</b> and copying the <b | style='mso-bidi-font-weight:normal'>/vz/private/50</b> and copying the <b | ||
style='mso-bidi-font-weight:normal'>/<span class=SpellE>etc/vz/conf/ve-vps.basic.conf-sample</span></b> | style='mso-bidi-font-weight:normal'>/<span class=SpellE>etc/vz/conf/ve-vps.basic.conf-sample</span></b> | ||
Line 103: | Line 103: | ||
<p class=MsoNormal style='margin-left:.5in'><b style='mso-bidi-font-weight: | <p class=MsoNormal style='margin-left:.5in'><b style='mso-bidi-font-weight: | ||
normal'><span style='font-size:8.0pt;font-family:Tahoma;color:red'>50</span></b><span | normal'><span style='font-size:8.0pt;font-family:Tahoma;color:red'>50</span></b><span | ||
− | style='font-size:8.0pt;font-family:Tahoma;color:red'> is the | + | style='font-size:8.0pt;font-family:Tahoma;color:red'> is the CTID for the |
− | + | container. You can choose any unused CTID on | |
− | the | + | the OpenVZ server.</span></p> |
<p class=MsoNormal style='margin-left:.5in'><span style='font-size:8.0pt; | <p class=MsoNormal style='margin-left:.5in'><span style='font-size:8.0pt; | ||
Line 329: | Line 329: | ||
<li class=MsoNormal style='mso-list:l0 level1 lfo1;tab-stops:list .5in'><span | <li class=MsoNormal style='mso-list:l0 level1 lfo1;tab-stops:list .5in'><span | ||
style='font-size:10.0pt;font-family:Tahoma'>You can install additional | style='font-size:10.0pt;font-family:Tahoma'>You can install additional | ||
− | packages into the | + | packages into the container by typing</span><span style='font-size:10.0pt; |
font-family:"Courier New"'> <span class=SpellE>vzyum</span> 50 install | font-family:"Courier New"'> <span class=SpellE>vzyum</span> 50 install | ||
<package></span><span style='font-size:10.0pt;font-family:Tahoma'> | <package></span><span style='font-size:10.0pt;font-family:Tahoma'> | ||
Line 339: | Line 339: | ||
<ol style='margin-top:0in' start=1 type=a> | <ol style='margin-top:0in' start=1 type=a> | ||
<li class=MsoNormal style='mso-list:l0 level2 lfo1;tab-stops:list 1.0in'><span | <li class=MsoNormal style='mso-list:l0 level2 lfo1;tab-stops:list 1.0in'><span | ||
− | style='font-size:10.0pt;font-family:Tahoma'>Enter the | + | style='font-size:10.0pt;font-family:Tahoma'>Enter the container by typing </span><span |
class=SpellE><span style='font-size:10.0pt;font-family:"Courier New"'>vzctl</span></span><span | class=SpellE><span style='font-size:10.0pt;font-family:"Courier New"'>vzctl</span></span><span | ||
style='font-size:10.0pt;font-family:"Courier New"'> enter 50</span><span | style='font-size:10.0pt;font-family:"Courier New"'> enter 50</span><span | ||
Line 369: | Line 369: | ||
<ol style='margin-top:0in' start=22 type=1> | <ol style='margin-top:0in' start=22 type=1> | ||
<li class=MsoNormal style='mso-list:l0 level1 lfo1;tab-stops:list .5in'><span | <li class=MsoNormal style='mso-list:l0 level1 lfo1;tab-stops:list .5in'><span | ||
− | style='font-size:10.0pt;font-family:Tahoma'>Exit the | + | style='font-size:10.0pt;font-family:Tahoma'>Exit the container by typing </span><span |
style='font-size:10.0pt;font-family:"Courier New"'>exit</span><span | style='font-size:10.0pt;font-family:"Courier New"'>exit</span><span | ||
style='font-size:10.0pt;font-family:Tahoma'> at the prompt.</span></li> | style='font-size:10.0pt;font-family:Tahoma'> at the prompt.</span></li> | ||
<li class=MsoNormal style='mso-list:l0 level1 lfo1;tab-stops:list .5in'><span | <li class=MsoNormal style='mso-list:l0 level1 lfo1;tab-stops:list .5in'><span | ||
− | style='font-size:10.0pt;font-family:Tahoma'>Stop the | + | style='font-size:10.0pt;font-family:Tahoma'>Stop the container by typing <span |
class=SpellE>vzctl</span> stop 50.</span></li> | class=SpellE>vzctl</span> stop 50.</span></li> | ||
<li class=MsoNormal style='mso-list:l0 level1 lfo1;tab-stops:list .5in'><span | <li class=MsoNormal style='mso-list:l0 level1 lfo1;tab-stops:list .5in'><span |
Revision as of 11:33, 9 April 2008
Note: this article is not formatted according to this Wiki standards. Please help reformatting it in a better way. |
- Install a system (virtual or physical) with the default CentOS installation that you wish to package. This could be a minimal distro or the default distro or even something custom.
- Once the OS has been installed, you need to tar the contents of the OS.
- First, create a file called /tmp/exclude and add the following lines to it:
.bash_history
lost+found
/dev/*
/mnt/*
/tmp/*
/proc/*
/sys/*
/usr/src/*
- Now, tar the OS file up by typing:
tar –czvf /tmp/centos-5.0-<ARCH>-<DISTRO>-image.tar.gz / –X /tmp/exclude
where <ARCH> represents the system architecture (i386 or x86_64) and <DISTRO> represents the distribution (default, minimal, etc.).
- Now transfer the file over to the OpenVZ server into /vz/template/cache folder.
- On the OpenVZ server create a “dummy” container by creating a folder called /vz/private/50 and copying the /etc/vz/conf/ve-vps.basic.conf-sample to /etc/vz/conf/50.conf.
NOTE:
50 is the CTID for the container. You can choose any unused CTID on the OpenVZ server.
- Now create a new folder called /vz/template/centos/5.0/<ARCH>/config again where <ARCH> represents the system architecture.
- Create a file in the folder called rpm and add the following line:
43
- Create a file called yum.conf in the folder and add the following lines:
[main]
cachedir=/vz/template/centos/5.0/<ARCH>/yum-cache/
reposdir=/dev/null
installonlypkgs=
[centos5-base]
name=CentOS 5 - <ARCH> - Base
baseurl=http://mirror.centos.org/centos/5/os/<ARCH>/
enabled=1
gpgcheck=1
[centos5-updates-released]
name=CentOS 5 - <ARCH> - Released Updates
baseurl=http://mirror.centos.org/centos/5/updates/<ARCH>/
enabled=1
gpgcheck=1
- Copy /etc/vz/dists/centos-4.conf to /etc/vz/dists/centos-5.0.conf.
- Change to the /vz/private/50 folder and then run the command gunzip –dc /vz/template/cache/centos-5.0-<ARCH>-<DISTRO>-image.tar.gz | tar –xvf – to unpack the base image to the folder.
- Make sure you are in the /vz/private/50 folder.
- Edit etc/shadow and remove the replace the root password with !! instead of the hashed value.
- Edit the etc/inittab file and comment out the lines that respawn /sbin/mingetty on tty1 through tty6. Just put a # at the beginning of the line.
- Remove the etc/mtab file and then create a symbolic link by typing ln –s /proc/mounts etc/mtab.
- Remove all of the lines from etc/fstab except for the line that mounts /dev/pts.
- Edit etc/rc.d/rc.sysinit and comment out the line that starts /sbin/start_udev by placing a # at the beginning of the line.
- Now create device nodes by typing:
mknod dev/ptmx c 5 2
mkdir dev/pts
/sbin/MAKEDEV –d /vz/private/50/dev ttyp ptyp
mknod dev/null c 1 3
mknod dev/urandom c 1 9
- Create the var/lock/rpm folder.
- If you wish to disable IPv6, do the following:
- Edit etc/sysconfig/network and set NETWORKING_IPV6 to no.
- Add the following lines to etc/modprobe.d/blacklist:
blacklist ipv6
blacklist net-pf-10
- Disable any physical NICs by modifying the etc/sysconfig/network-scripts/ifcfg-ethX files (where X is the interface number starting from 0) and setting ONBOOT to no.
- Now you’re ready to start the template. Type vzctl start 50 and wait for it to start.
- You can install additional packages into the container by typing vzyum 50 install <package> at the prompt where <package> represents the name of the software package you wish to install.
- Finally, you should turn off unnecessary services.
- Enter the container by typing vzctl enter 50.
- View the services that are set to run at startup by typing chkconfig --list | grep 5:on.
- Disable any unwanted service by typing chkconfig --levels 2345 <service> off where <service> represents the service to disable.
Services that you can (and should) turn off without harm are acpid, apmd, kudzu, and microcode_ctl.
- Exit the container by typing exit at the prompt.
- Stop the container by typing vzctl stop 50.
- Finally, package up the new template by typing tar –czvf /vz/template/cache/centos-5.0-<ARCH>-<DISTRO>.tar.gz .
- The template is ready for use.