Ubuntu:16.04(需要安装桌面),作为服务端
服务端IP:192.168.193.128
实践:
1.安装dhcp服务
apt-get install isc-dhcp-server -y #如果提示E: 无法定位软件包 isc-dhcp-Server,执行此命令apt-get update
2.配置dhcp服务(主要是两个文件)
a.vim /etc/default/isc-dhcp-server
INTERFACES="ens33" # 指定的网络接口名字
b.vim /etc/dhcp/dhcpd.conf #在文件末尾添加即可
subnet 192.168.193.0 netmask 255.255.255.0 { #dhcpserver 分配ip的子网192.168.193网段,必须和PXE server的一个网卡同一个网段
range 192.168.193.100 192.168.193.200; #为客户端分配ip范围
default-lease-time 600;
max-lease-time 7200;
filename "pxelinux.0"; #通过tftp找到pxelinux.0文件,并下载
next-server 192.168.193.128; #指定tftp server的ip
}
配置完重启系统
systemctl restart isc-dhcp-server
查看服务
netstat -tunlp|grep 67
udp 0 0 0.0.0.0:67 0.0.0.0:* 2119/dhcpd
3.安装tftp服务
apt-get install tftpd-hpa -y #安装完成就ok了,使用默认配置即可,tftp目录是 /var/lib/tftpboot/
vim /etc/default/tftpd-hpa #默认配置
# /etc/default/tftpd-hpa
TFTP_USERNAME="tftp"
TFTP_DIRECTORY="/var/lib/tftpboot"
TFTP_ADDRESS=":69"
TFTP_OPTIONS="--secure"
4.安装apache2
apt-get install apache2 -y #也是安装完就可以了,http根目录是 /var/www/html/
5.拷贝及修改所需文件
mkdir /var/www/html/ubuntu
rm -fr /var/www/html/index.html
mount /dev/cdrom /mnt
cp -r /mnt/* /var/www/html/ubuntu/
cp -r /var/www/html/ubuntu/install/netboot/* /var/lib/tftpboot/
cp /var/www/html/ubuntu/preseed/ubuntu-server.seed /var/www/html/
vim /var/www/html/ubuntu-server.seed #文件最后添加
live-installer/net-image=http://192.168.193.128/ubuntu/install/filesystem.squashfs
6.安装kickstart
kickstart需要GUI界面,我因为是安装的server,所以需要安装桌面(如果是desktop版本就不需要),如下安装
apt-get install ubuntu-desktop -y
apt-get install system-config-kickstart -y
安装完之后,重启一下进入桌面
打开终端执行system-config-kickstart
弹出下图
进行配置
选择安装的软件包,这里选择不了,生成ks文件之后,直接在ks文件里添加
在命令行root家目录
cp ks.cfg /var/www/html/
vim /var/www/html/ks.cfg #添加安装的软件包
skipx #下面添加需要安装的软件包
%packages
openssh-server
编辑txt.cfg
vim /var/lib/tftpboot/ubuntu-installer/amd64/boot-screens/txt.cfg
default install
label install
menu label ^Install
menu default
kernel ubuntu-installer/amd64/linux