天天看点

Ubuntu配置PXE+Kickstart+TFTP+DHCP实现快速布署Linux操作系统

 这里使用的Server环境是

Ubuntu Server 12.04

1、安装所需软件包

# apt-get install  system-config-kickstart dhcp3-server tftpd-hpa tftp-hpa debmrror 

安装配置一下VNC,并开户远程连接上去,VNC的配置省略

# system-config-kickstart

弹出上面的一个图形界面配置窗,配置完成之后,保存文件到/var/www/ubuntu/下,命令为ks.cfg,为以后提供服务打下基础

<a href="http://blog.51cto.com/attachment/201207/182058971.png" target="_blank"></a>

当然,也可以直接自己写Kikcstart文件,是一样的

2、配置DHCP服务

root@node1:~# vim /etc/dhcp/dhcpd.conf 

subnet 1.0.0.0 netmask 255.0.0.0 { 

range 1.1.1.210 1.1.1.253; 

option routers 1.1.1.254; 

option domain-name-servers 8.8.8.8;

default-lease-time 600; 

max-lease-time 7200; 

next-server 1.1.1.1; 

filename "pxelinux.0";  //注意文件名,这里是数字0

一定要注意上面指定的文件名,如果写错了,会出现以下错误

使用以下命令启动dhcpd服务

# dhcpd    启动dhcp服务,如果有脚本,也可以使用脚本启动/etc/init.d/dhcp3-server start

通过/var/log/syslog可以看到日志

Jul 18 00:48:34 node1 dhcpd: DHCPOFFER on 1.1.1.210 to 00:0c:29:31:95:8f (node20) via eth0 

Jul 18 00:48:34 node1 dhcpd: DHCPREQUEST for 1.1.1.210 (1.1.1.1) from 00:0c:29:31:95:8f (node20) via eth0 

Jul 18 00:48:34 node1 dhcpd: DHCPACK on 1.1.1.210 to 00:0c:29:31:95:8f (node20) via eth0 

Jul 18 00:50:03 node1 dhcpd: DHCPREQUEST for 1.1.1.210 from 00:0c:29:31:95:8f (node20) via eth0 

3、配置tftp服务,这里保持默认就可以

root@node1:/var/lib/tftpboot# cat /etc/default/tftpd-hpa  

# /etc/default/tftpd-hpa 

TFTP_USERNAME="tftp" 

TFTP_DIRECTORY="/var/lib/tftpboot" 

TFTP_ADDRESS="0.0.0.0:69" 

TFTP_OPTIONS="--secure" 

# /etc/init.d/tftpd-hpa start            //启动服务 

# cd /var/lib/tftpboot/ 

# mount /dev/cdrom /mnt            //挂载系统光盘到/mnt下 

# cp -a /mnt/install/netboot/* .        /拷贝系统启动文件到当前目录,注意后面有个. 

修改配置文件,添加以下红字内容

ks=http://1.1.1.1/ubuntu/ks.cfg

root@node1:/etc/apache2/sites-enabled# cat /var/lib/tftpboot/ubuntu-installer/amd64/boot-screens/txt.cfg  

default install 

label install 

    menu label ^Install 

    menu default 

    kernel ubuntu-installer/amd64/linux 

    append ks=http://1.1.1.1/ubuntu/ks.cfg vga=normal initrd=ubuntu-installer/amd64/initrd.gz -- quiet  

label cli 

    menu label ^Command-line install 

    append tasks=standard pkgsel/language-pack-patterns= pkgsel/install-language-support=false vga=788 initrd=ubuntu-installer/amd64/initrd.gz -- quiet  

4、配置WEB服务,可以使用apache或者Nginx提供

这里使用的是apache2提供 

# cd /etc/apache2/sites-enabled 

&lt;VirtualHost *:80&gt; 

    ServerAdmin webmaster@localhost 

    DocumentRoot /var/www/ 

    &lt;Directory /&gt; 

        Options FollowSymLinks 

        AllowOverride None 

    &lt;/Directory&gt; 

    &lt;Directory /var/www/&gt; 

        Options Indexes FollowSymLinks MultiViews 

        Order allow,deny 

        allow from all 

&lt;/VirtualHost&gt; 

<b>5、新建一个虚拟机测试</b>

<a href="http://blog.51cto.com/attachment/201207/183000916.png" target="_blank"></a>

<a href="http://blog.51cto.com/attachment/201207/183009531.png" target="_blank"></a>

稍等一会儿,就安装完成了!

注意:

DHCP配置的时候,如果没有分配DNS,客户端安装就会卡在这里

<a href="http://blog.51cto.com/attachment/201207/183125439.png" target="_blank"></a>

本文转自 gm100861 51CTO博客,原文链接:http://blog.51cto.com/gm100861/934661