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,为以后提供服务打下基础

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

2、配置DHCP服务

 

 
  1. root@node1:~# vim /etc/dhcp/dhcpd.conf 
  2. subnet 1.0.0.0 netmask 255.0.0.0 { 
  3. range 1.1.1.210 1.1.1.253; 
  4. option routers 1.1.1.254; 
  5. option domain-name-servers 8.8.8.8;
  6. default-lease-time 600; 
  7. max-lease-time 7200; 
  8. next-server 1.1.1.1; 
  9. filename "pxelinux.0";  //注意文件名,这里是数字0

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

使用以下命令启动dhcpd服务

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

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

 

 
  1. Jul 18 00:48:34 node1 dhcpd: DHCPOFFER on 1.1.1.210 to 00:0c:29:31:95:8f (node20) via eth0 
  2. 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 
  3. Jul 18 00:48:34 node1 dhcpd: DHCPACK on 1.1.1.210 to 00:0c:29:31:95:8f (node20) via eth0 
  4. 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服务,这里保持默认就可以

 

 
  1. root@node1:/var/lib/tftpboot# cat /etc/default/tftpd-hpa  
  2. # /etc/default/tftpd-hpa 
  3.  
  4. TFTP_USERNAME="tftp" 
  5. TFTP_DIRECTORY="/var/lib/tftpboot" 
  6. TFTP_ADDRESS="0.0.0.0:69" 
  7. TFTP_OPTIONS="--secure" 

 

 
  1. # /etc/init.d/tftpd-hpa start            //启动服务 
  2. # cd /var/lib/tftpboot/ 
  3. # mount /dev/cdrom /mnt            //挂载系统光盘到/mnt下 
  4. # cp -a /mnt/install/netboot/* .        /拷贝系统启动文件到当前目录,注意后面有个. 

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

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

 
  1. root@node1:/etc/apache2/sites-enabled# cat /var/lib/tftpboot/ubuntu-installer/amd64/boot-screens/txt.cfg  
  2. default install 
  3. label install 
  4.     menu label ^Install 
  5.     menu default 
  6.     kernel ubuntu-installer/amd64/linux 
  7.     append ks=http://1.1.1.1/ubuntu/ks.cfg vga=normal initrd=ubuntu-installer/amd64/initrd.gz -- quiet  
  8. label cli 
  9.     menu label ^Command-line install 
  10.     kernel ubuntu-installer/amd64/linux 
  11.     append tasks=standard pkgsel/language-pack-patternspkgsel/install-language-support=false vga=788 initrd=ubuntu-installer/amd64/initrd.gz -- quiet  

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

 

 
  1. 这里使用的是apache2提供 
  2. # cd /etc/apache2/sites-enabled 
  3. <VirtualHost *:80> 
  4.     ServerAdmin webmaster@localhost 
  5.  
  6.     DocumentRoot /var/www/ 
  7.     <Directory /> 
  8.         Options FollowSymLinks 
  9.         AllowOverride None 
  10.     </Directory> 
  11.     <Directory /var/www/> 
  12.         Options Indexes FollowSymLinks MultiViews 
  13.         AllowOverride None 
  14.         Order allow,deny 
  15.         allow from all 
  16.     </Directory> 
  17. </VirtualHost> 

5、新建一个虚拟机测试

 

 

 

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

注意:

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

 

 

 

 

 

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


相关文章
|
4天前
|
Ubuntu Linux Python
Linux(15)Ubuntu安装ninja构建工具
Linux(15)Ubuntu安装ninja构建工具
15 0
|
1天前
|
Oracle Java 关系型数据库
Linux环境安装配置JDK11
Linux环境安装配置JDK11
15 0
|
1天前
|
Ubuntu Linux
Linux(Ubuntu)系统临时IP以及静态IP配置(关闭、启动网卡等操作)
请注意,以上步骤是在临时基础上进行配置的。如果要永久保存静态IP地址,通常还需要修改 `/etc/network/interfaces`文件,以便在系统重启后保持配置。同时,确保备份相关配置文件以防止出现问题。
11 1
|
3天前
|
Ubuntu Linux 测试技术
Linux(32)Rockchip RK3568 Ubuntu22.04上部署 Docker: 详细配置与功能测试(下)
Linux(32)Rockchip RK3568 Ubuntu22.04上部署 Docker: 详细配置与功能测试
35 1
|
3天前
|
运维 网络协议 Linux
Linux(28) Linux双网卡配置为连接到Linux主机的PC提供外网访问
Linux(28) Linux双网卡配置为连接到Linux主机的PC提供外网访问
30 1
|
3天前
|
Ubuntu Linux 数据安全/隐私保护
Linux(24) 如何在Ubuntu中操作rootfs.img文件
Linux(24) 如何在Ubuntu中操作rootfs.img文件
9 0
|
4天前
|
Ubuntu 网络协议 Linux
Linux(20) Ubuntu 20.04 网络接口自动切换路由配置
Linux(20) Ubuntu 20.04 网络接口自动切换路由配置
27 0
|
4天前
|
Linux
Linux(9)Debain EC25 quectel-CM usbnet0开机自动联网配置
Linux(9)Debain EC25 quectel-CM usbnet0开机自动联网配置
15 0
|
4天前
|
Ubuntu Linux 数据安全/隐私保护
Linux(7)Ubuntu20.04 arm64安装Docker
Linux(7)Ubuntu20.04 arm64安装Docker
18 0
|
4天前
|
Ubuntu Linux 芯片
Linux(2)ubuntu rootfs根文件系统制作
Linux(2)ubuntu rootfs根文件系统制作
19 0