详解CentOS 6.4下PXE+Kickstart无人值守安装操作系统
<p><strong><span>一、简介</span></strong></p>
<p>
<strong>1.1 什么是pxe</strong></p>
<p>
pxe(pre-boot execution environment,预启动执行环境)是由intel公司开发的最新技术,工作于client/server的网络模式,支持工作站通过网络从远端服务器下载映像,并由此支持通过网络启动操作系统,在启动过程中,终端要求服务器分配ip地址,再用tftp(trivial file transfer protocol)或mtftp(multicast trivial file transfer protocol)协议下载一个启动软件包到本机内存中执行,由这个启动软件包完成终端基本软件设置,从而引导预先安装在服务器中的终端操作系统。</p>
<p>
严格来说,pxe 并不是一种安装方式,而是一种引导方式。进行 pxe 安装的必要条件是在要安装的计算机中必须包含一个 pxe 支持的网卡(nic),即网卡中必须要有 pxe client。pxe 协议可以使计算机通过网络启动。此协议分为 client端和 server 端,而pxe client则在网卡的 rom 中。当计算机引导时,bios 把 pxe client 调入内存中执行,然后由 pxe client 将放置在远端的文件通过网络下载到本地运行。运行 pxe 协议需要设置 dhcp 服务器和 tftp 服务器。dhcp 服务器会给 pxe client(将要安装系统的主机)分配一个 ip 地址,由于是给 pxe client 分配 ip 地址,所以在配置 dhcp 服务器时需要增加相应的 pxe 设置。此外,在 pxe client 的 rom 中,已经存在了 tftp client,那么它就可以通过 tftp 协议到 tftp server 上下载所需的文件了。</p>
<p>
<strong>pxe的工作过程:</strong></p>
<p>
1. pxe client 从自己的pxe网卡启动,向本网络中的dhcp服务器索取ip;</p>
<p>
2. dhcp 服务器返回分配给客户机的ip 以及pxe文件的放置位置(该文件一般是放在一台tftp服务器上) ;</p>
<p>
3. pxe client 向本网络中的tftp服务器索取pxelinux.0 文件;</p>
<p>
4. pxe client 取得pxelinux.0 文件后之执行该文件;</p>
<p>
5. 根据pxelinux.0 的执行结果,通过tftp服务器加载内核和文件系统 ;</p>
<p>
6. 进入安装画面, 此时可以通过选择http、ftp、nfs 方式之一进行安装;</p>
<p>
详细工作流程,请参考下面这幅图:</p>
<p>
<img style="max-width:100%!important;height:auto!important;"title="详解CentOS 6.4下PXE+Kickstart无人值守安装操作系统" alt="详解CentOS 6.4下PXE+Kickstart无人值守安装操作系统" src="https://zhuji.jb51.net/uploads/img/202305/51e0b464b1badb6ad14eac957e789c94.jpg"></p>
<p>
<strong>1.2 什么是kickstart</strong></p>
<p>
kickstart是一种无人值守的安装方式。它的工作原理是在安装过程中记录典型的需要人工干预填写的各种参数,并生成一个名为ks.cfg的文件。如果在安装过程中(不只局限于生成kickstart安装文件的机器)出现要填写参数的情况,安装程序首先会去查找kickstart生成的文件,如果找到合适的参数,就采用所找到的参数;如果没有找到合适的参数,便需要安装者手工干预了。所以,如果kickstart文件涵盖了安装过程中可能出现的所有需要填写的参数,那么安装者完全可以只告诉安装程序从何处取ks.cfg文件,然后就去忙自己的事情。等安装完毕,安装程序会根据ks.cfg中的设置重启系统,并结束安装。</p>
<p>
pxe+kickstart 无人值守安装操作系统完整过程如下:</p>
<p>
<img style="max-width:100%!important;height:auto!important;"title="详解CentOS 6.4下PXE+Kickstart无人值守安装操作系统" alt="详解CentOS 6.4下PXE+Kickstart无人值守安装操作系统" border="0" src="https://zhuji.jb51.net/uploads/img/202305/1e28314c2249e0ecd51aa0d157e5181b.jpg"></p>
<p>
<span><strong>二、系统环境</strong></span></p>
<p>
实验环境:vmware workstation 10</p>
<p>
系统平台:centos release 6.4 (最小化安装)</p>
<p>
网络模式:nat模式(共享主机的ip地址)</p>
<p>
dhcp / tftp ip:192.168.111.130</p>
<p>
http / ftp / nfs ip:192.168.111.130</p>
<p>
防火墙已关闭/iptables: firewall is not running.</p>
<p>
selinux=disabled</p>
<p>
<span><strong>三、准备工作</strong></span></p>
<p>
生成ks.cfg 文件需要system-config-kickstart 工具,而此工具依赖于x windows,所以我们需要安装x windows 和desktop 并重启系统,操作如下:</p>
<div class="jb51code">
<div>
<div class="syntaxhighlighterbash" id="highlighter_161785">
<div class="toolbar">
<span>?</span>
</div>
<table border="0" cellpadding="0" cellspacing="0"><tbody><tr>
<td class="gutter">
<div class="line number1 index0 alt2">
1</div>
<div class="line number2 index1 alt1">
2</div>
<div class="line number3 index2 alt2">
3</div>
<div class="line number4 index3 alt1">
4</div>
<div class="line number5 index4 alt2">
5</div>
</td>
<td class="code">
<div class="container">
<div class="line number1 index0 alt2">
<code class="bash comments"># yum groupinstall "x window system"</code>
</div>
<div class="line number2 index1 alt1">
</div>
<div class="line number3 index2 alt2">
<code class="bash comments"># yum groupinstall desktop</code>
</div>
<div class="line number4 index3 alt1">
</div>
<div class="line number5 index4 alt2">
<code class="bash comments"># reboot</code>
</div>
</div>
</td>
</tr></tbody></table>
</div>
</div>
</div>
<p>
<span><strong>四、配置http安装方式</strong></span></p>
<p>
系统的安装方式可以选择http、ftp、 nfs,我们这里介绍http方式的安装,其他两种方式的安装,大家可以自行百度。</p>
<p>
4.1 安装并配置http</p>
<div class="jb51code">
<div>
<div class="syntaxhighlighterbash" id="highlighter_216859">
<div class="toolbar">
<span>?</span>
</div>
<table border="0" cellpadding="0" cellspacing="0"><tbody><tr>
<td class="gutter">
<div class="line number1 index0 alt2">
1</div>
<div class="line number2 index1 alt1">
2</div>
<div class="line number3 index2 alt2">
3</div>
</td>
<td class="code">
<div class="container">
<div class="line number1 index0 alt2">
<code class="bash comments"># yum install httpd –y</code>
</div>
<div class="line number2 index1 alt1">
</div>
<div class="line number3 index2 alt2">
<code class="bash comments"># rpm -qa|grep httpd </code>
</div>
</div>
</td>
</tr></tbody></table>
</div>
</div>
</div>
<p>
</p>
<p>
<img style="max-width:100%!important;height:auto!important;"title="详解CentOS 6.4下PXE+Kickstart无人值守安装操作系统" alt="详解CentOS 6.4下PXE+Kickstart无人值守安装操作系统" border="0" src="https://zhuji.jb51.net/uploads/img/202305/dfa41c6cdc7f6c6c78d28d279a019bc7.jpg"></p>
<p>
开启服务并设置开机启动</p>
<div class="jb51code">
<div>
<div class="syntaxhighlighterbash" id="highlighter_389233">
<div class="toolbar">
<span>?</span>
</div>
<table border="0" cellpadding="0" cellspacing="0"><tbody><tr>
<td class="gutter">
<div class="line number1 index0 alt2">
1</div>
<div class="line number2 index1 alt1">
2</div>
<div class="line number3 index2 alt2">
3</div>
</td>
<td class="code">
<div class="container">
<div class="line number1 index0 alt2">
<code class="bash comments"># /etc/init.d/httpd start</code>
</div>
<div class="line number2 index1 alt1">
</div>
<div class="line number3 index2 alt2">
<code class="bash comments"># chkconfig --level 35 httpd on</code>
</div>
</div>
</td>
</tr></tbody></table>
</div>
</div>
</div>
<p>
4.2 加载iso镜像</p>
<p>
在虚拟机中设置加载iso镜像。</p>
<p>
<img style="max-width:100%!important;height:auto!important;"title="详解CentOS 6.4下PXE+Kickstart无人值守安装操作系统" alt="详解CentOS 6.4下PXE+Kickstart无人值守安装操作系统" border="0" src="https://zhuji.jb51.net/uploads/img/202305/166fef1c3ff167a9b3973c41e2cfefe0.jpg"></p>
<p>
将iso文件挂载至/mnt/cdrom.</p>
<p>
<img style="max-width:100%!important;height:auto!important;"title="详解CentOS 6.4下PXE+Kickstart无人值守安装操作系统" alt="详解CentOS 6.4下PXE+Kickstart无人值守安装操作系统" border="0" src="https://zhuji.jb51.net/uploads/img/202305/b4bf32c163585e071963c5465fb3ba9d.jpg"></p>
<p>
4.3 复制光盘全部内容至http 的根目录/var/www/html/ 下</p>
<div class="jb51code">
<div>
<div class="syntaxhighlighterbash" id="highlighter_241294">
<div class="toolbar">
<span>?</span>
</div>
<table border="0" cellpadding="0" cellspacing="0"><tbody><tr>
<td class="gutter">
<div class="line number1 index0 alt2">
1</div>
</td>
<td class="code">
<div class="container">
<div class="line number1 index0 alt2">
<code class="bash comments"># cp -r /mnt/cdrom/ /var/www/html/</code>
</div>
</div>
</td>
</tr></tbody></table>
</div>
</div>
</div>
<p>
http部分设置完毕。</p>
<p>
<span><strong>五、配置tftp</strong></span></p>
<p>
5.1 安装tftp-server</p>
<div class="jb51code">
<div>
<div class="syntaxhighlighterbash" id="highlighter_780021">
<div class="toolbar">
<span>?</span>
</div>
<table border="0" cellpadding="0" cellspacing="0"><tbody><tr>
<td class="gutter">
<div class="line number1 index0 alt2">
1</div>
</td>
<td class="code">
<div class="container">
<div class="line number1 index0 alt2">
<code class="bash comments"># yum install tftp-server –y</code>
</div>
</div>
</td>
</tr></tbody></table>
</div>
</div>
</div>
<p>
5.2 启用tftp 服务</p>
<div class="jb51code">
<div>
<div class="syntaxhighlighterbash" id="highlighter_373376">
<div class="toolbar">
<span>?</span>
</div>
<table border="0" cellpadding="0" cellspacing="0"><tbody><tr>
<td class="gutter">
<div class="line number1 index0 alt2">
1</div>
</td>
<td class="code">
<div class="container">
<div class="line number1 index0 alt2">
<code class="bash comments"># vi /etc/xinetd.d/tftp</code>
</div>
</div>
</td>
</tr></tbody></table>
</div>
</div>
</div>
<div class="jb51code">
<div>
<div class="syntaxhighlighterbash" id="highlighter_215984">
<div class="toolbar">
<span>?</span>
</div>
<table border="0" cellpadding="0" cellspacing="0"><tbody><tr>
<td class="gutter">
<div class="line number1 index0 alt2">
1</div>
<div class="line number2 index1 alt1">
2</div>
<div class="line number3 index2 alt2">
3</div>
<div class="line number4 index3 alt1">
4</div>
<div class="line number5 index4 alt2">
5</div>
<div class="line number6 index5 alt1">
6</div>
<div class="line number7 index6 alt2">
7</div>
<div class="line number8 index7 alt1">
8</div>
<div class="line number9 index8 alt2">
9</div>
<div class="line number10 index9 alt1">
10</div>
<div class="line number11 index10 alt2">
11</div>
<div class="line number12 index11 alt1">
12</div>
<div class="line number13 index12 alt2">
13</div>
</td>
<td class="code">
<div class="container">
<div class="line number1 index0 alt2">
<code class="bash plain">service tftp </code>
</div>
<div class="line number2 index1 alt1">
<code class="bash plain">{ </code>
</div>
<div class="line number3 index2 alt2">
<code class="bash spaces"> </code><code class="bash plain">socket_type = dgram </code>
</div>
<div class="line number4 index3 alt1">
<code class="bash spaces"> </code><code class="bash plain">protocol = udp </code>
</div>
<div class="line number5 index4 alt2">
<code class="bash spaces"> </code><code class="bash plain">wait = </code><code class="bash functions">yes</code>
</div>
<div class="line number6 index5 alt1">
<code class="bash spaces"> </code><code class="bash plain">user = root </code>
</div>
<div class="line number7 index6 alt2">
<code class="bash spaces"> </code><code class="bash plain">server = </code><code class="bash plain">/usr/sbin/in</code><code class="bash plain">.tftpd </code>
</div>
<div class="line number8 index7 alt1">
<code class="bash spaces"> </code><code class="bash plain">server_args = -s </code><code class="bash plain">/var/lib/tftpboot</code>
</div>
<div class="line number9 index8 alt2">
<code class="bash spaces"> </code><code class="bash plain">disable = no </code>
</div>
<div class="line number10 index9 alt1">
<code class="bash spaces"> </code><code class="bash plain">per_source = 11 </code>
</div>
<div class="line number11 index10 alt2">
<code class="bash spaces"> </code><code class="bash plain">cps = 100 2 </code>
</div>
<div class="line number12 index11 alt1">
<code class="bash spaces"> </code><code class="bash plain">flags = ipv4 </code>
</div>
<div class="line number13 index12 alt2">
<code class="bash plain">}</code>
</div>
</div>
</td>
</tr></tbody></table>
</div>
</div>
</div>
<p>
将disable 设置为no</p>
<p>
5.3 启动tftp服务</p>
<p>
因为tftp服务是挂载在超级进程xinetd 下的,所以通过启动xinetd 来启动tftp服务。</p>
<div class="jb51code">
<div>
<div class="syntaxhighlighterbash" id="highlighter_774301">
<div class="toolbar">
<span>?</span>
</div>
<table border="0" cellpadding="0" cellspacing="0"><tbody><tr>
<td class="gutter">
<div class="line number1 index0 alt2">
1</div>
</td>
<td class="code">
<div class="container">
<div class="line number1 index0 alt2">
<code class="bash comments"># /etc/init.d/xinetd restart</code>
</div>
</div>
</td>
</tr></tbody></table>
</div>
</div>
</div>
<p>
<img style="max-width:100%!important;height:auto!important;"title="详解CentOS 6.4下PXE+Kickstart无人值守安装操作系统" alt="详解CentOS 6.4下PXE+Kickstart无人值守安装操作系统" height="53" src="https://zhuji.jb51.net/uploads/img/202305/7a4ee3d11c5ed68f45455e388bb54739.jpg" width="568"></p>
<p>
设置开机启动xinetd</p>
<div class="jb51code">
<div>
<div class="syntaxhighlighterbash" id="highlighter_770031">
<div class="toolbar">
<span>?</span>
</div>
<table border="0" cellpadding="0" cellspacing="0"><tbody><tr>
<td class="gutter">
<div class="line number1 index0 alt2">
1</div>
</td>
<td class="code">
<div class="container">
<div class="line number1 index0 alt2">
<code class="bash comments"># chkconfig xinetd on</code>
</div>
</div>
</td>
</tr></tbody></table>
</div>
</div>
</div>
<p>
<span><strong>六、配置支持pxe的启动程序</strong></span></p>
<p>
6.1 复制pxelinux.0 文件至/var/lib/tftpboot/ 文件夹中</p>
<div class="jb51code">
<div>
<div class="syntaxhighlighterbash" id="highlighter_576877">
<div class="toolbar">
<span>?</span>
</div>
<table border="0" cellpadding="0" cellspacing="0"><tbody><tr>
<td class="gutter">
<div class="line number1 index0 alt2">
1</div>
</td>
<td class="code">
<div class="container">
<div class="line number1 index0 alt2">
<code class="bash comments"># cp /usr/share/syslinux/pxelinux.0 /var/lib/tftpboot/</code>
</div>
</div>
</td>
</tr></tbody></table>
</div>
</div>
</div>
<p>
说明:syslinux是一个功能强大的引导加载程序,而且兼容各种介质。更加确切地说:syslinux是一个小型的linux操作系统,它的目的是简化首次安装linux的时间,并建立修护或其它特殊用途的启动盘。</p>
<p>
6.2 复制iso 镜像中的/image/pxeboot/initrd.img 和vmlinux 至/var/lib/tftpboot/ 文件夹中</p>
<div class="jb51code">
<div>
<div class="syntaxhighlighterbash" id="highlighter_743667">
<div class="toolbar">
<span>?</span>
</div>
<table border="0" cellpadding="0" cellspacing="0"><tbody><tr>
<td class="gutter">
<div class="line number1 index0 alt2">
1</div>
</td>
<td class="code">
<div class="container">
<div class="line number1 index0 alt2">
<code class="bash comments"># cp /var/www/html/cdrom/images/pxeboot/{initrd.img,vmlinuz} /var/lib/tftpboot/</code>
</div>
</div>
</td>
</tr></tbody></table>
</div>
</div>
</div>
<p>
6.3 复制iso 镜像中的/isolinux/*.msg 至/var/lib/tftpboot/ 文件夹中</p>
<div class="jb51code">
<div>
<div class="syntaxhighlighterbash" id="highlighter_518833">
<div class="toolbar">
<span>?</span>
</div>
<table border="0" cellpadding="0" cellspacing="0"><tbody><tr>
<td class="gutter">
<div class="line number1 index0 alt2">
1</div>
</td>
<td class="code">
<div class="container">
<div class="line number1 index0 alt2">
<code class="bash comments"># cp /var/www/html/cdrom/isolinux/*.msg /var/lib/tftpboot/</code>
</div>
</div>
</td>
</tr></tbody></table>
</div>
</div>
</div>
<p>
6.4 在/var/lib/tftpboot/ 中新建一个pxelinux.cfg目录</p>
<div class="jb51code">
<div>
<div class="syntaxhighlighterbash" id="highlighter_648699">
<div class="toolbar">
<span>?</span>
</div>
<table border="0" cellpadding="0" cellspacing="0"><tbody><tr>
<td class="gutter">
<div class="line number1 index0 alt2">
1</div>
</td>
<td class="code">
<div class="container">
<div class="line number1 index0 alt2">
<code class="bash comments"># mkdir /var/lib/tftpboot/pxelinux.cfg</code>
</div>
</div>
</td>
</tr></tbody></table>
</div>
</div>
</div>
<p>
6.5 将iso 镜像中的/isolinux 目录中的isolinux.cfg复制到pxelinux.cfg目录中,同时更改文件名称为default</p>
<div class="jb51code">
<div>
<div class="syntaxhighlighterbash" id="highlighter_69782">
<div class="toolbar">
<span>?</span>
</div>
<table border="0" cellpadding="0" cellspacing="0"><tbody><tr>
<td class="gutter">
<div class="line number1 index0 alt2">
1</div>
</td>
<td class="code">
<div class="container">
<div class="line number1 index0 alt2">
<code class="bash comments"># cp /var/www/html/cdrom/isolinux/isolinux.cfg /var/lib/tftpboot/pxelinux.cfg/default</code>
</div>
</div>
</td>
</tr></tbody></table>
</div>
</div>
</div>
<p>
6.6 修改default文件</p>
<div class="jb51code">
<div>
<div class="syntaxhighlighterbash" id="highlighter_119597">
<div class="toolbar">
<span>?</span>
</div>
<table border="0" cellpadding="0" cellspacing="0"><tbody><tr>
<td class="gutter">
<div class="line number1 index0 alt2">
1</div>
</td>
<td class="code">
<div class="container">
<div class="line number1 index0 alt2">
<code class="bash comments"># vi /var/lib/tftpboot/pxelinux.cfg/default</code>
</div>
</div>
</td>
</tr></tbody></table>
</div>
</div>
</div>
<div class="jb51code">
<div>
<div class="syntaxhighlighterbash" id="highlighter_658765">
<div class="toolbar">
<span>?</span>
</div>
<table border="0" cellpadding="0" cellspacing="0"><tbody><tr>
<td class="gutter">
<div class="line number1 index0 alt2">
1</div>
<div class="line number2 index1 alt1">
2</div>
<div class="line number3 index2 alt2">
3</div>
<div class="line number4 index3 alt1">
4</div>
<div class="line number5 index4 alt2">
5</div>
<div class="line number6 index5 alt1">
6</div>
<div class="line number7 index6 alt2">
7</div>
<div class="line number8 index7 alt1">
8</div>
<div class="line number9 index8 alt2">
9</div>
<div class="line number10 index9 alt1">
10</div>
<div class="line number11 index10 alt2">
11</div>
<div class="line number12 index11 alt1">
12</div>
<div class="line number13 index12 alt2">
13</div>
<div class="line number14 index13 alt1">
14</div>
<div class="line number15 index14 alt2">
15</div>
<div class="line number16 index15 alt1">
16</div>
<div class="line number17 index16 alt2">
17</div>
<div class="line number18 index17 alt1">
18</div>
<div class="line number19 index18 alt2">
19</div>
<div class="line number20 index19 alt1">
20</div>
<div class="line number21 index20 alt2">
21</div>
<div class="line number22 index21 alt1">
22</div>
<div class="line number23 index22 alt2">
23</div>
</td>
<td class="code">
<div class="container">
<div class="line number1 index0 alt2">
<code class="bash plain">default ks </code><code class="bash comments">#默认启动的是 'label ks' 中标记的启动内核</code>
</div>
<div class="line number2 index1 alt1">
<code class="bash plain">prompt 1 </code><code class="bash comments">#显示 'boot: ' 提示符。为 '0' 时则不提示,将会直接启动 'default' 参数中指定的内容。</code>
</div>
<div class="line number3 index2 alt2">
<code class="bash plain">timeout 6 </code><code class="bash comments">#在用户输入之前的超时时间,单位为 1/10 秒。</code>
</div>
<div class="line number4 index3 alt1">
<code class="bash plain">display boot.msg </code><code class="bash comments">#显示某个文件的内容,注意文件的路径。默认是在/var/lib/tftpboot/ 目录下。也可以指定位类似 '/install/boot.msg'这样的,路径+文件名。</code>
</div>
<div class="line number5 index4 alt2">
<code class="bash plain">f1 boot.msg </code><code class="bash comments">#按下 'f1' 这样的键后显示的文件。</code>
</div>
<div class="line number6 index5 alt1">
<code class="bash plain">f2 options.msg </code>
</div>
<div class="line number7 index6 alt2">
<code class="bash plain">f3 general.msg </code>
</div>
<div class="line number8 index7 alt1">
<code class="bash plain">f4 param.msg </code>
</div>
<div class="line number9 index8 alt2">
<code class="bash plain">f5 rescue.msg </code>
</div>
<div class="line number10 index9 alt1">
<code class="bash plain">label linux </code><code class="bash comments">#'label' 指定你在 'boot:' 提示符下输入的关键字,比如boot: linux,这个会启动'label linux' 下标记的kernel 和initrd.img 文件。</code>
</div>
<div class="line number11 index10 alt2">
<code class="bash spaces"> </code><code class="bash plain">kernel vmlinuz </code><code class="bash comments">#kernel 参数指定要启动的内核。</code>
</div>
<div class="line number12 index11 alt1">
<code class="bash spaces"> </code><code class="bash plain">append initrd=initrd.img </code><code class="bash comments">#append 指定追加给内核的参数,能够在grub 里使用的追加给内核的参数,在这里也都可以使用。</code>
</div>
<div class="line number13 index12 alt2">
<code class="bash plain">label text </code>
</div>
<div class="line number14 index13 alt1">
<code class="bash spaces"> </code><code class="bash plain">kernel vmlinuz </code>
</div>
<div class="line number15 index14 alt2">
<code class="bash spaces"> </code><code class="bash plain">append initrd=initrd.img text </code>
</div>
<div class="line number16 index15 alt1">
<code class="bash plain">label ks </code>
</div>
<div class="line number17 index16 alt2">
<code class="bash spaces"> </code><code class="bash plain">kernel vmlinuz </code>
</div>
<div class="line number18 index17 alt1">
<code class="bash spaces"> </code><code class="bash plain">append ks=http:</code><code class="bash plain">//192</code><code class="bash plain">.168.111.130</code><code class="bash plain">/ks</code><code class="bash plain">.cfg initrd=initrd.img </code><code class="bash comments">#告诉系统,从哪里获取ks.cfg文件 </code>
</div>
<div class="line number19 index18 alt2">
<code class="bash plain">label </code><code class="bash functions">local</code>
</div>
<div class="line number20 index19 alt1">
<code class="bash spaces"> </code><code class="bash plain">localboot 1 </code>
</div>
<div class="line number21 index20 alt2">
<code class="bash plain">label memtest86 </code>
</div>
<div class="line number22 index21 alt1">
<code class="bash spaces"> </code><code class="bash plain">kernel memtest </code>
</div>
<div class="line number23 index22 alt2">
<code class="bash spaces"> </code><code class="bash plain">append -</code>
</div>
</div>
</td>
</tr></tbody></table>
</div>
</div>
</div>
<p>
<span><strong>七、配置dhcp</strong></span></p>
<p>
7.1 安装dhcp服务</p>
<div class="jb51code">
<div>
<div class="syntaxhighlighterbash" id="highlighter_747309">
<div class="toolbar">
<span>?</span>
</div>
<table border="0" cellpadding="0" cellspacing="0"><tbody><tr>
<td class="gutter">
<div class="line number1 index0 alt2">
1</div>
</td>
<td class="code">
<div class="container">
<div class="line number1 index0 alt2">
<code class="bash comments"># yum -y install dhcp</code>
</div>
</div>
</td>
</tr></tbody></table>
</div>
</div>
</div>
<p>
7.2 复制配置模板文件到dhcp的配置目录中</p>
<div class="jb51code">
<div>
<div class="syntaxhighlighterbash" id="highlighter_269251">
<div class="toolbar">
<span>?</span>
</div>
<table border="0" cellpadding="0" cellspacing="0"><tbody><tr>
<td class="gutter">
<div class="line number1 index0 alt2">
1</div>
</td>
<td class="code">
<div class="container">
<div class="line number1 index0 alt2">
<code class="bash comments"># cp -f /usr/share/doc/dhcp-4.1.1/dhcpd.conf.sample /etc/dhcp/dhcpd.conf</code>
</div>
</div>
</td>
</tr></tbody></table>
</div>
</div>
</div>
<p>
7.3 修改/etc/dhcp/dhcpd.conf 配置文件,内容如下:</p>
<div class="jb51code">
<div>
<div class="syntaxhighlighterbash" id="highlighter_363840">
<div class="toolbar">
<span>?</span>
</div>
<table border="0" cellpadding="0" cellspacing="0"><tbody><tr>
<td class="gutter">
<div class="line number1 index0 alt2">
1</div>
<div class="line number2 index1 alt1">
2</div>
<div class="line number3 index2 alt2">
3</div>
<div class="line number4 index3 alt1">
4</div>
<div class="line number5 index4 alt2">
5</div>
<div class="line number6 index5 alt1">
6</div>
<div class="line number7 index6 alt2">
7</div>
<div class="line number8 index7 alt1">
8</div>
<div class="line number9 index8 alt2">
9</div>
<div class="line number10 index9 alt1">
10</div>
<div class="line number11 index10 alt2">
11</div>
<div class="line number12 index11 alt1">
12</div>
<div class="line number13 index12 alt2">
13</div>
<div class="line number14 index13 alt1">
14</div>
</td>
<td class="code">
<div class="container">
<div class="line number1 index0 alt2">
<code class="bash plain">ddns-update-style interim; </code>
</div>
<div class="line number2 index1 alt1">
<code class="bash plain">ignore client-updates; </code>
</div>
<div class="line number3 index2 alt2">
<code class="bash plain">filename </code><code class="bash string">"pxelinux.0"</code><code class="bash plain">; </code><code class="bash comments">#pxelinux 启动文件位置;</code>
</div>
<div class="line number4 index3 alt1">
<code class="bash plain">next-server 192.168.111.130; </code><code class="bash comments">#tftp server 的ip地址;</code>
</div>
<div class="line number5 index4 alt2">
</div>
<div class="line number6 index5 alt1">
<code class="bash plain">subnet 192.168.111.0 netmask 255.255.255.0 {</code>
</div>
<div class="line number7 index6 alt2">
</div>
<div class="line number8 index7 alt1">
<code class="bash spaces"> </code><code class="bash plain">option routers 192.168.111.130; </code>
</div>
<div class="line number9 index8 alt2">
<code class="bash spaces"> </code><code class="bash plain">option subnet-mask 255.255.255.0;</code>
</div>
<div class="line number10 index9 alt1">
</div>
<div class="line number11 index10 alt2">
<code class="bash spaces"> </code><code class="bash plain">range dynamic-bootp 192.168.111.100 192.168.111.200; </code>
</div>
<div class="line number12 index11 alt1">
<code class="bash spaces"> </code><code class="bash plain">default-lease-</code><code class="bash functions">time</code> <code class="bash plain">21600; </code>
</div>
<div class="line number13 index12 alt2">
<code class="bash spaces"> </code><code class="bash plain">max-lease-</code><code class="bash functions">time</code> <code class="bash plain">43200;</code>
</div>
<div class="line number14 index13 alt1">
<code class="bash plain">}</code>
</div>
</div>
</td>
</tr></tbody></table>
</div>
</div>
</div>
<p>
7.4 启动dhcp服务</p>
<div class="jb51code">
<div>
<div class="syntaxhighlighterbash" id="highlighter_167663">
<div class="toolbar">
<span>?</span>
</div>
<table border="0" cellpadding="0" cellspacing="0"><tbody><tr>
<td class="gutter">
<div class="line number1 index0 alt2">
1</div>
</td>
<td class="code">
<div class="container">
<div class="line number1 index0 alt2">
<code class="bash comments"># /etc/init.d/dhcpd start</code>
</div>
</div>
</td>
</tr></tbody></table>
</div>
</div>
</div>
<p>
<img style="max-width:100%!important;height:auto!important;"title="详解CentOS 6.4下PXE+Kickstart无人值守安装操作系统" alt="详解CentOS 6.4下PXE+Kickstart无人值守安装操作系统" border="0" src="https://zhuji.jb51.net/uploads/img/202305/074da5614e01148514c8026ff557d1ff.jpg"></p>
<p>
<span><strong>八、生成ks.cfg 文件</strong></span></p>
<p>
8.1 安装kickstart</p>
<div class="jb51code">
<div>
<div class="syntaxhighlighterbash" id="highlighter_220491">
<div class="toolbar">
<span>?</span>
</div>
<table border="0" cellpadding="0" cellspacing="0"><tbody><tr>
<td class="gutter">
<div class="line number1 index0 alt2">
1</div>
</td>
<td class="code">
<div class="container">
<div class="line number1 index0 alt2">
<code class="bash comments"># yum install system-config-kickstart</code>
</div>
</div>
</td>
</tr></tbody></table>
</div>
</div>
</div>
<p>
8.2 在桌面环境下配置kickstart</p>
<p>
启动x windows 环境</p>
<div class="jb51code">
<div>
<div class="syntaxhighlighterbash" id="highlighter_529177">
<div class="toolbar">
<span>?</span>
</div>
<table border="0" cellpadding="0" cellspacing="0"><tbody><tr>
<td class="gutter">
<div class="line number1 index0 alt2">
1</div>
</td>
<td class="code">
<div class="container">
<div class="line number1 index0 alt2">
<code class="bash comments"># startx</code>
</div>
</div>
</td>
</tr></tbody></table>
</div>
</div>
</div>
<p>
配置kickstart</p>
<div class="jb51code">
<div>
<div class="syntaxhighlighterbash" id="highlighter_289871">
<div class="toolbar">
<span>?</span>
</div>
<table border="0" cellpadding="0" cellspacing="0"><tbody><tr>
<td class="gutter">
<div class="line number1 index0 alt2">
1</div>
</td>
<td class="code">
<div class="container">
<div class="line number1 index0 alt2">
<code class="bash comments"># system-config-kickstart</code>
</div>
</div>
</td>
</tr></tbody></table>
</div>
</div>
</div>
<p>
a. 设置语言,键盘,时区,root密码,安装完毕后重启等。</p>
<p>
<img style="max-width:100%!important;height:auto!important;"title="详解CentOS 6.4下PXE+Kickstart无人值守安装操作系统" alt="详解CentOS 6.4下PXE+Kickstart无人值守安装操作系统" border="0" src="https://zhuji.jb51.net/uploads/img/202305/b30cc410387cd7d532b8a974ff55ab3f.jpg"></p>
<p>
b. 设置安装方式,这篇文章介绍的是http方式的安装,故选择http</p>
<p>
<img style="max-width:100%!important;height:auto!important;"title="详解CentOS 6.4下PXE+Kickstart无人值守安装操作系统" alt="详解CentOS 6.4下PXE+Kickstart无人值守安装操作系统" src="https://zhuji.jb51.net/uploads/img/202305/0f1b3508dad506d697432283059fe248.jpg"></p>
<p>
c. 安装mbr</p>
<p>
<img style="max-width:100%!important;height:auto!important;"title="详解CentOS 6.4下PXE+Kickstart无人值守安装操作系统" alt="详解CentOS 6.4下PXE+Kickstart无人值守安装操作系统" border="0" src="https://zhuji.jb51.net/uploads/img/202305/69c9f462279e1b42741b95b4fd48e09d.jpg"></p>
<p>
d. 设置分区</p>
<p>
<img style="max-width:100%!important;height:auto!important;"title="详解CentOS 6.4下PXE+Kickstart无人值守安装操作系统" alt="详解CentOS 6.4下PXE+Kickstart无人值守安装操作系统" border="0" src="https://zhuji.jb51.net/uploads/img/202305/75cbb1043c8af9c9e553fbdc48eda44b.jpg"></p>
<p>
e. 分区总览</p>
<p>
<img style="max-width:100%!important;height:auto!important;"title="详解CentOS 6.4下PXE+Kickstart无人值守安装操作系统" alt="详解CentOS 6.4下PXE+Kickstart无人值守安装操作系统" border="0" src="https://zhuji.jb51.net/uploads/img/202305/9a6210be3f689bb958e7b8006e8c9d39.jpg"></p>
<p>
f. 配置网络</p>
<p>
<img style="max-width:100%!important;height:auto!important;"title="详解CentOS 6.4下PXE+Kickstart无人值守安装操作系统" alt="详解CentOS 6.4下PXE+Kickstart无人值守安装操作系统" border="0" src="https://zhuji.jb51.net/uploads/img/202305/e840e0054a9d3e3d947726c776a90e1b.jpg"></p>
<p>
g. 认证配置</p>
<p>
<img style="max-width:100%!important;height:auto!important;"title="详解CentOS 6.4下PXE+Kickstart无人值守安装操作系统" alt="详解CentOS 6.4下PXE+Kickstart无人值守安装操作系统" border="0" src="https://zhuji.jb51.net/uploads/img/202305/958468dc49a20321d5901e1b515e675a.jpg"></p>
<p>
h. selinux 和防火墙配置</p>
<p>
<img style="max-width:100%!important;height:auto!important;"title="详解CentOS 6.4下PXE+Kickstart无人值守安装操作系统" alt="详解CentOS 6.4下PXE+Kickstart无人值守安装操作系统" border="0" src="https://zhuji.jb51.net/uploads/img/202305/e7943102c715a3e23e8543ce96918681.jpg"></p>
<p>
i. 图形环境配置</p>
<p>
<img style="max-width:100%!important;height:auto!important;"title="详解CentOS 6.4下PXE+Kickstart无人值守安装操作系统" alt="详解CentOS 6.4下PXE+Kickstart无人值守安装操作系统" border="0" src="https://zhuji.jb51.net/uploads/img/202305/14800415485284e94aa6b8a67f93cc44.jpg"></p>
<p>
j. 软件包安装选择</p>
<p>
<img style="max-width:100%!important;height:auto!important;"title="详解CentOS 6.4下PXE+Kickstart无人值守安装操作系统" alt="详解CentOS 6.4下PXE+Kickstart无人值守安装操作系统" border="0" src="https://zhuji.jb51.net/uploads/img/202305/e93dea178832c13a5ac87b21060aab6f.jpg"></p>
<p>
k. 预览</p>
<p>
<img style="max-width:100%!important;height:auto!important;"title="详解CentOS 6.4下PXE+Kickstart无人值守安装操作系统" alt="详解CentOS 6.4下PXE+Kickstart无人值守安装操作系统" border="0" src="https://zhuji.jb51.net/uploads/img/202305/930a1cfc9e4eb27451949a2cb8d84a5b.jpg"></p>
<p>
l. 生成ks.cfg 文件,保存在/var/www/html/ 文件夹下</p>
<p>
<img style="max-width:100%!important;height:auto!important;"title="详解CentOS 6.4下PXE+Kickstart无人值守安装操作系统" alt="详解CentOS 6.4下PXE+Kickstart无人值守安装操作系统" border="0" src="https://zhuji.jb51.net/uploads/img/202305/59b93a0aab9b1911bb180bbce69cd17e.jpg"></p>
<p>
我们可以打开/var/www/html/ks.cfg 文件进行查看并做修改。</p>
<div class="jb51code">
<div>
<div class="syntaxhighlighterbash" id="highlighter_692509">
<div class="toolbar">
<span>?</span>
</div>
<table border="0" cellpadding="0" cellspacing="0"><tbody><tr>
<td class="gutter">
<div class="line number1 index0 alt2">
1</div>
<div class="line number2 index1 alt1">
2</div>
<div class="line number3 index2 alt2">
3</div>
<div class="line number4 index3 alt1">
4</div>
<div class="line number5 index4 alt2">
5</div>
<div class="line number6 index5 alt1">
6</div>
<div class="line number7 index6 alt2">
7</div>
<div class="line number8 index7 alt1">
8</div>
<div class="line number9 index8 alt2">
9</div>
<div class="line number10 index9 alt1">
10</div>
<div class="line number11 index10 alt2">
11</div>
<div class="line number12 index11 alt1">
12</div>
<div class="line number13 index12 alt2">
13</div>
<div class="line number14 index13 alt1">
14</div>
<div class="line number15 index14 alt2">
15</div>
<div class="line number16 index15 alt1">
16</div>
<div class="line number17 index16 alt2">
17</div>
<div class="line number18 index17 alt1">
18</div>
<div class="line number19 index18 alt2">
19</div>
<div class="line number20 index19 alt1">
20</div>
<div class="line number21 index20 alt2">
21</div>
<div class="line number22 index21 alt1">
22</div>
<div class="line number23 index22 alt2">
23</div>
<div class="line number24 index23 alt1">
24</div>
<div class="line number25 index24 alt2">
25</div>
<div class="line number26 index25 alt1">
26</div>
<div class="line number27 index26 alt2">
27</div>
<div class="line number28 index27 alt1">
28</div>
<div class="line number29 index28 alt2">
29</div>
<div class="line number30 index29 alt1">
30</div>
<div class="line number31 index30 alt2">
31</div>
<div class="line number32 index31 alt1">
32</div>
<div class="line number33 index32 alt2">
33</div>
<div class="line number34 index33 alt1">
34</div>
<div class="line number35 index34 alt2">
35</div>
<div class="line number36 index35 alt1">
36</div>
<div class="line number37 index36 alt2">
37</div>
<div class="line number38 index37 alt1">
38</div>
<div class="line number39 index38 alt2">
39</div>
<div class="line number40 index39 alt1">
40</div>
<div class="line number41 index40 alt2">
41</div>
<div class="line number42 index41 alt1">
42</div>
<div class="line number43 index42 alt2">
43</div>
<div class="line number44 index43 alt1">
44</div>
<div class="line number45 index44 alt2">
45</div>
</td>
<td class="code">
<div class="container">
<div class="line number1 index0 alt2">
<code class="bash plain">platform=x86, amd64, or intel em64t </code>
</div>
<div class="line number2 index1 alt1">
<code class="bash comments">#version=devel </code>
</div>
<div class="line number3 index2 alt2">
<code class="bash comments"># firewall configuration </code>
</div>
<div class="line number4 index3 alt1">
<code class="bash plain">firewall --disabled </code>
</div>
<div class="line number5 index4 alt2">
<code class="bash comments"># install os instead of upgrade </code>
</div>
<div class="line number6 index5 alt1">
<code class="bash functions">install</code>
</div>
<div class="line number7 index6 alt2">
<code class="bash comments"># use network installation </code>
</div>
<div class="line number8 index7 alt1">
<code class="bash plain">url --url=http:</code><code class="bash plain">//192</code><code class="bash plain">.168.111.130</code><code class="bash plain">/cdrom/</code> <code class="bash plain"> </code><code class="bash comments">#这个选项告诉安装程序:到服务器192.168.111.130 的http根目录下的cdrom 文件夹下寻找安装介质</code>
</div>
<div class="line number9 index8 alt2">
<code class="bash comments"># root password </code>
</div>
<div class="line number10 index9 alt1">
<code class="bash plain">rootpw --iscrypted $1$vsvtp.</code><code class="bash plain">/e</code><code class="bash plain">$6pvmnfjd.shq2lgfjjyfa1 </code>
</div>
<div class="line number11 index10 alt2">
<code class="bash comments"># system authorization information </code>
</div>
<div class="line number12 index11 alt1">
<code class="bash plain">auth --useshadow --enablemd5 </code>
</div>
<div class="line number13 index12 alt2">
<code class="bash comments"># use graphical install </code>
</div>
<div class="line number14 index13 alt1">
<code class="bash plain">graphical </code>
</div>
<div class="line number15 index14 alt2">
<code class="bash plain">firstboot --disable </code>
</div>
<div class="line number16 index15 alt1">
<code class="bash comments"># system keyboard </code>
</div>
<div class="line number17 index16 alt2">
<code class="bash plain">keyboard us </code>
</div>
<div class="line number18 index17 alt1">
<code class="bash comments"># system language </code>
</div>
<div class="line number19 index18 alt2">
<code class="bash plain">lang en_us </code>
</div>
<div class="line number20 index19 alt1">
<code class="bash comments"># selinux configuration </code>
</div>
<div class="line number21 index20 alt2">
<code class="bash plain">selinux --disabled </code>
</div>
<div class="line number22 index21 alt1">
<code class="bash comments"># installation logging level </code>
</div>
<div class="line number23 index22 alt2">
<code class="bash plain">logging --level=info </code>
</div>
<div class="line number24 index23 alt1">
<code class="bash comments"># reboot after installation </code>
</div>
<div class="line number25 index24 alt2">
<code class="bash plain">reboot </code>
</div>
<div class="line number26 index25 alt1">
<code class="bash comments"># system timezone </code>
</div>
<div class="line number27 index26 alt2">
<code class="bash plain">timezone --isutc asia</code><code class="bash plain">/shanghai</code>
</div>
<div class="line number28 index27 alt1">
<code class="bash comments"># network information </code>
</div>
<div class="line number29 index28 alt2">
<code class="bash plain">network --bootproto=dhcp --device=eth0 --onboot=on </code>
</div>
<div class="line number30 index29 alt1">
<code class="bash comments"># system bootloader configuration </code>
</div>
<div class="line number31 index30 alt2">
<code class="bash plain">key --skip </code>
</div>
<div class="line number32 index31 alt1">
<code class="bash plain">bootloader --append=</code><code class="bash string">"rhgb quiet"</code> <code class="bash plain">--location=mbr --driveorder=sda </code>
</div>
<div class="line number33 index32 alt2">
<code class="bash comments"># clear the master boot record </code>
</div>
<div class="line number34 index33 alt1">
<code class="bash plain">zerombr </code>
</div>
<div class="line number35 index34 alt2">
<code class="bash comments"># partition clearing information </code>
</div>
<div class="line number36 index35 alt1">
<code class="bash plain">clearpart --all --initlabel </code>
</div>
<div class="line number37 index36 alt2">
<code class="bash comments"># disk partitioning information </code>
</div>
<div class="line number38 index37 alt1">
<code class="bash plain">part / --fstype=</code><code class="bash string">"ext4"</code> <code class="bash plain">--size=8192 </code>
</div>
<div class="line number39 index38 alt2">
<code class="bash plain">part swap --fstype=</code><code class="bash string">"swap"</code> <code class="bash plain">--size=1024 </code>
</div>
<div class="line number40 index39 alt1">
<code class="bash plain">part </code><code class="bash plain">/home</code> <code class="bash plain">--fstype=</code><code class="bash string">"ext4"</code> <code class="bash plain">--size=2048</code>
</div>
<div class="line number41 index40 alt2">
</div>
<div class="line number42 index41 alt1">
<code class="bash plain">%packages </code>
</div>
<div class="line number43 index42 alt2">
<code class="bash plain">@base</code>
</div>
<div class="line number44 index43 alt1">
</div>
<div class="line number45 index44 alt2">
<code class="bash plain">%end</code>
</div>
</div>
</td>
</tr></tbody></table>
</div>
</div>
</div>
<p>
说明:key --skip 如果是红帽系统,此选项可以跳过输入序列号过程;如果是centos 系列,则可以不保留此项内容;</p>
<p>
reboot 此选项必须存在,也必须文中设定位置,不然kickstart显示一条消息,并等待用户按任意键后才重新引导;</p>
<p>
clearpart --all --initlabel 此条命令必须添加,不然系统会让用户手动选择是否清除所有数据,这就需要人为干预了,从而导致自动化过程失败;</p>
<p>
<span><strong>九、测试安装</strong></span></p>
<p>
自动化安装系统配置完毕,下面启动一台新的机器进行测试,网络连接模式选择nat模式。</p>
<p>
<img style="max-width:100%!important;height:auto!important;"title="详解CentOS 6.4下PXE+Kickstart无人值守安装操作系统" alt="详解CentOS 6.4下PXE+Kickstart无人值守安装操作系统" border="0" src="https://zhuji.jb51.net/uploads/img/202305/7e737040f473b2963080f764fc05fc6b.jpg"></p>
<p>
新建虚拟机,选择自定义(高级)</p>
<p>
<img style="max-width:100%!important;height:auto!important;"title="详解CentOS 6.4下PXE+Kickstart无人值守安装操作系统" alt="详解CentOS 6.4下PXE+Kickstart无人值守安装操作系统" border="0" src="https://zhuji.jb51.net/uploads/img/202305/b5a04ed5d6437d9d34e6c2e87cd4f76a.jpg"></p>
<p>
选择“稍后安装操作系统”</p>
<p>
<img style="max-width:100%!important;height:auto!important;"title="详解CentOS 6.4下PXE+Kickstart无人值守安装操作系统" alt="详解CentOS 6.4下PXE+Kickstart无人值守安装操作系统" border="0" src="https://zhuji.jb51.net/uploads/img/202305/2b778d3352596b0a77530ad2ba48ec41.jpg"></p>
<p>
选择客户机操作系统类型</p>
<p>
<img style="max-width:100%!important;height:auto!important;"title="详解CentOS 6.4下PXE+Kickstart无人值守安装操作系统" alt="详解CentOS 6.4下PXE+Kickstart无人值守安装操作系统" border="0" src="https://zhuji.jb51.net/uploads/img/202305/c06b96fab223a38f0443331ff6dec51f.jpg"></p>
<p>
命名虚拟机</p>
<p>
<img style="max-width:100%!important;height:auto!important;"title="详解CentOS 6.4下PXE+Kickstart无人值守安装操作系统" alt="详解CentOS 6.4下PXE+Kickstart无人值守安装操作系统" border="0" src="https://zhuji.jb51.net/uploads/img/202305/a14f5fcd6273e984872cc728c7b3348e.jpg"></p>
<p>
设置此虚拟机的内存</p>
<p>
<img style="max-width:100%!important;height:auto!important;"title="详解CentOS 6.4下PXE+Kickstart无人值守安装操作系统" alt="详解CentOS 6.4下PXE+Kickstart无人值守安装操作系统" border="0" src="https://zhuji.jb51.net/uploads/img/202305/cb4231e96c484ef9db3369be4eaae82b.jpg"></p>
<p>
设置网络类型</p>
<p>
<img style="max-width:100%!important;height:auto!important;"title="详解CentOS 6.4下PXE+Kickstart无人值守安装操作系统" alt="详解CentOS 6.4下PXE+Kickstart无人值守安装操作系统" border="0" src="https://zhuji.jb51.net/uploads/img/202305/84b66ced1b6505615b805593ea9bfafc.jpg"></p>
<p>
选择i/o控制器类型</p>
<p>
<img style="max-width:100%!important;height:auto!important;"title="详解CentOS 6.4下PXE+Kickstart无人值守安装操作系统" alt="详解CentOS 6.4下PXE+Kickstart无人值守安装操作系统" border="0" src="https://zhuji.jb51.net/uploads/img/202305/07910471bc961980faa1ce8f956753d0.jpg"></p>
<p>
选择磁盘类型</p>
<p>
<img style="max-width:100%!important;height:auto!important;"title="详解CentOS 6.4下PXE+Kickstart无人值守安装操作系统" alt="详解CentOS 6.4下PXE+Kickstart无人值守安装操作系统" border="0" src="https://zhuji.jb51.net/uploads/img/202305/ad86740f2a1823cbb4f80ae569eece6e.jpg"></p>
<p>
选择磁盘</p>
<p>
<img style="max-width:100%!important;height:auto!important;"title="详解CentOS 6.4下PXE+Kickstart无人值守安装操作系统" alt="详解CentOS 6.4下PXE+Kickstart无人值守安装操作系统" border="0" src="https://zhuji.jb51.net/uploads/img/202305/c2b5567dfa227fcdad55091864a26340.jpg"></p>
<p>
指定磁盘大小,ks.cfg 文件中,我们定义了/ 大小为8gb,swap 分区为1gb,/home 分区为2gb,所以这里的磁盘大小至少要为12gb。</p>
<p>
而且,一定要勾选上“立即分配所有磁盘空间”,不然在后来安装的时候将提示没有磁盘空间。</p>
<p>
<img style="max-width:100%!important;height:auto!important;"title="详解CentOS 6.4下PXE+Kickstart无人值守安装操作系统" alt="详解CentOS 6.4下PXE+Kickstart无人值守安装操作系统" border="0" src="https://zhuji.jb51.net/uploads/img/202305/60307d552c9e816c0148cbb996559eec.jpg"></p>
<p>
指定磁盘文件</p>
<p>
<img style="max-width:100%!important;height:auto!important;"title="详解CentOS 6.4下PXE+Kickstart无人值守安装操作系统" alt="详解CentOS 6.4下PXE+Kickstart无人值守安装操作系统" border="0" src="https://zhuji.jb51.net/uploads/img/202305/f4b10dc72adba120b400de2cda4f90b7.jpg"></p>
<p>
虚拟机总览</p>
<p>
<img style="max-width:100%!important;height:auto!important;"title="详解CentOS 6.4下PXE+Kickstart无人值守安装操作系统" alt="详解CentOS 6.4下PXE+Kickstart无人值守安装操作系统" border="0" src="https://zhuji.jb51.net/uploads/img/202305/e6eb5fde97040b1e1bd70af4efeec196.jpg"></p>
<p>
正在创建磁盘,过程会很慢,虚拟机需要产生一个20gb的文件。</p>
<p>
<img style="max-width:100%!important;height:auto!important;"title="详解CentOS 6.4下PXE+Kickstart无人值守安装操作系统" alt="详解CentOS 6.4下PXE+Kickstart无人值守安装操作系统" border="0" src="https://zhuji.jb51.net/uploads/img/202305/4f55c7c6565b0d92e2a165d1a707a034.jpg"></p>
<p>
启动虚拟机,选择从网卡启动,dhcp 服务器正在给客户机分配ip地址。</p>
<p>
<img style="max-width:100%!important;height:auto!important;"title="详解CentOS 6.4下PXE+Kickstart无人值守安装操作系统" alt="详解CentOS 6.4下PXE+Kickstart无人值守安装操作系统" border="0" src="https://zhuji.jb51.net/uploads/img/202305/8daec689e7cfa7d9316bfb14105e7069.jpg"></p>
<p>
开始下载vmlinuz 和initrd.img</p>
<p>
<img style="max-width:100%!important;height:auto!important;"title="详解CentOS 6.4下PXE+Kickstart无人值守安装操作系统" alt="详解CentOS 6.4下PXE+Kickstart无人值守安装操作系统" border="0" src="https://zhuji.jb51.net/uploads/img/202305/2cca195d42c5d0417f9cf8eed8fa6c53.jpg"></p>
<p>
安装过程...</p>
<p>
<img style="max-width:100%!important;height:auto!important;"title="详解CentOS 6.4下PXE+Kickstart无人值守安装操作系统" alt="详解CentOS 6.4下PXE+Kickstart无人值守安装操作系统" border="0" src="https://zhuji.jb51.net/uploads/img/202305/b154c9ccf29272110891b8263fce276e.jpg"></p>
<p>
安装过程...</p>
<p>
<img style="max-width:100%!important;height:auto!important;"title="详解CentOS 6.4下PXE+Kickstart无人值守安装操作系统" alt="详解CentOS 6.4下PXE+Kickstart无人值守安装操作系统" border="0" src="https://zhuji.jb51.net/uploads/img/202305/e8350a4f628037377101b449c0e1ef5a.jpg"></p>
<p>
安装过程...</p>
<p>
<img style="max-width:100%!important;height:auto!important;"title="详解CentOS 6.4下PXE+Kickstart无人值守安装操作系统" alt="详解CentOS 6.4下PXE+Kickstart无人值守安装操作系统" border="0" src="https://zhuji.jb51.net/uploads/img/202305/85bb75106b45d61cc83dfb76bdaa069c.jpg"></p>
<p>
安装完毕,重启后,显示登录界面</p>
<p>
<img style="max-width:100%!important;height:auto!important;"title="详解CentOS 6.4下PXE+Kickstart无人值守安装操作系统" alt="详解CentOS 6.4下PXE+Kickstart无人值守安装操作系统" border="0" src="https://zhuji.jb51.net/uploads/img/202305/929eb0cffcc8cdb483c9260670f24cad.jpg"></p>
<p>
登录系统查看,磁盘分区和我们在ks.cfg 文件中设定的一样。</p>
<p>
<img style="max-width:100%!important;height:auto!important;"title="详解CentOS 6.4下PXE+Kickstart无人值守安装操作系统" alt="详解CentOS 6.4下PXE+Kickstart无人值守安装操作系统" border="0" src="https://zhuji.jb51.net/uploads/img/202305/847cd385ae39b0b1f1515e94567c76a2.jpg"></p>
<p>
pxe+kickstart 无人值守安装操作系统环境搭建完毕。</p>
<p>
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持服务器之家。</p>
<p>
原文链接:http://www.cnblogs.com/mchina/p/centos-pxe-kickstart-auto-install-os.html</p>
頁:
[1]