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