前面我们已经使用CentOS6.7的平台搭建了pxe服务器,现在我们利用此服务器继续安装Ubuntu 14.04.4 server系统的客户机。

参见 http://1130739.blog.51cto.com/1120739/1740925


部署方法:

在pxe安装菜单文件/var/lib/tftpboot/msgs/boot.msg添加Ubuntu系统的选项

wKiom1cXbAXDUFwzAAAt4sdbrpo235.png

在default文件添加Ubuntu系统引导内核、加载映像、自动应答等文件。

####### Install Ubuntu14.04.4 amd64 #######

label 5

  kernel kernel/linux.ubuntu14.04.4

  ipappend 2

  append vga=788 initrd=image/initrd.ubuntu14.04.4.gz ks=http://192.168.150.20/os/ubuntu-14.04.4/ks.cfg live-installer/net-image=http://192.168.150.20/os/ubuntu-14.04.4/install/filesystem.squashfs clock-setup/ntp=false ip=dhcp ksdevice=bootif

wKiom1cXd8XBoOk6AACCtKwtfLs001.png

这里live-installer/net-image参数是指定live image,如果不指定或指定有误则安装会橙屏报错。

wKioL1cXeriRqWncAAA6Z4jr3VE679.png

clock-setup/ntp=false 参数是指定安装过程中禁用ntp服务与时间服务器同步时间,建议在安装完系统后在%post加命令与时间服务器同步时间。如果不指定此参数,默认安装过程中会自动与Ubuntu官方时间服务器同步时间。

wKiom1cXe3-y_ByTAAAqLSIF1UU596.png

当然也可以直接指定一个响应较快的时间服务器 clock-setup/ntp=true clock-setup/ntp-server=0.ubuntu.pool.ntp.org

wKiom1cXfIGSPs8_AAAuBF0oHmU700.png

关于更多参数及其用法,请参阅Ubuntu 14.04官方安装文档。https://help.ubuntu.com/lts/installation-guide/amd64/install.en.pdf

从Ubuntu官网下载ubuntu-14.04.4-server-amd64.iso的ISO镜像到pxe服务器,链接http://mirror.bjtu.edu.cn/ubuntu-releases/14.04.4/ubuntu-14.04.4-server-amd64.iso 

下载完成后挂载镜像,拷贝全部文件到http服务根目录里对应os目录下。

mount -o loop ubuntu-14.04.4-server-amd64.iso /media/

mkdir /var/www/html/os/ubuntu-14.04.4

cp -r /media/* /var/www/html/os/ubuntu-14.04.4/

wKiom1bkBUHywbZcAAApCy8Isrg539.png

拷贝网络安装引导内核、映像文件到tftp服务根目录

cp /media/install/netboot/ubuntu-installer/amd64/linux /var/lib/tftpboot/kernel/linux.ubuntu14.04.4

cp /media/install/netboot/ubuntu-installer/amd64/initrd.gz /var/lib/tftpboot/image/initrd.ubuntu14.04.4.gz

wKiom1cXcTqQjZEOAAAkden9Mns358.png

无人应答kickstart文件的生成,两种方法:使用system-config-kickstart配置或从本章附件下载后修改使用。

system-config-kickstart工具的使用跟CentOS/RHEL平台下类似,需要在桌面环境下使用。一台已经安装好的Ubuntu Server系统如果未安装桌面环境,使用官方apt-get源安装桌面环境与system-config-kickstart软件,使用sudo的时候需要键入当前普通用户密码来提权。

sudo apt-get update

sudo apt-get install ubuntu-desktop system-config-kickstart -y

重启,控制台(本地)或远程登录到桌面环境。打开terminal键入命令system-config-kickstart进入配置界面,基本配置包括,默认语言、鼠标、键盘、时区、添加语言支持、安装后是否重启的选项。

wKioL1blG4Hi2gmxAAGMobblLGo642.png

安装源的配置,这里根据实际情况指定http服务器地址以及Ubuntu系统文件绝对网络路径。

wKioL1blG9vhD8dcAAC3xmgrFxo121.png

boot loader选项的设置,是否安装新的boot loader以及安装位置。

wKiom1blG62i-K9iAAD_Xv7W6w0063.png

分区信息,按照如下配置即可。

wKioL1blHGyygdftAAEawSqqhR8797.png

点击Add添加分区信息,根分区文件系统类型、容量大小、强制主分区、是否指定磁盘等。

wKioL1blHJ7R4RZtAAD1aEEzgok162.png

sawp分区容量大小,根分区与swap分区必须指定。

wKiom1blHGOAi_OMAADigIbQiCY883.png

分区总览信息如下

wKiom1blHJmRMYupAAAj-IhvBKQ068.png

用户配置可以指定是否启用root用户以及设置密码。Ubuntu手工安装默认不启用root用户,创建一个普通用户来登录,所以这里普通用户必须指定。

wKiom1blHL-ALFZgAAD7J9VABqQ941.png

防火墙配置,测试环境与开发环境可禁用防火墙服务避免给测试时带来的麻烦;生产环境与互联网环境,则强烈建议使用防火墙来构建主机的防御系统。

wKiom1blHVrQZsEnAACqCTAICyg132.png

软件包的选择,右边全部为空也不可添加,不用担心。后面对生成后的ks.cfg文件编辑,手工添加需要安装的软件包。

wKioL1blHnDAZPCBAACohYaH3Nw299.png

安装前后执行的脚本配置,根据实际需求添加。

wKioL1blHsWhTuYsAACU57ol8fk428.png

配置完所有的参数后,点击左上角的文件菜单来保存配置文件。

wKiom1blHp3zX0_7AABtVUI0l-M315.png

确定保存位置,与文件名ks.cfg。

wKiom1blHs3D1uejAACSRVcdRGU389.png

最后点击左上角文件菜单里退出配置界面

wKiom1blHvSjpeFbAABqv-8ONTs053.png

使用vi编辑生成的ks.cfg文件,在skipx后面手工添加需要安装的软件包。

wKiom1cXcYiQTLiFAAAZyk_op5o579.png

在%post后面添加需要安装后执行的脚本或命令

wKioL1cXctiAhg_JAAAvOdTW1w4640.png

关于kickstart更多语法信息请参阅Ubuntu14.04官方安装文档,文档中提及到也可以参考Linux发行版本Red Hat文档kickstart语法详细介绍。https://access.redhat.com/documentation/en-US/Red_Hat_Enterprise_Linux/6/html/Installation_Guide/ch-kickstart2.html

wKioL1cXgRrTKHXMAABv3CPL2k4155.png

最后将制作的ks.cfg文件拷贝到pxe服务器http根目录下/var/www/html/os/ubuntu-14.04.4/

wKioL1blI2HRRfZpAAA2y17aOAQ865.png

pxe服务器停止防火墙与selinux服务,确保dhcp、tftp、http服务正常运行。

wKiom1blI1yhVfCUAAA5Gm3VCg0761.png

待安装的客户机开机从网卡启动,获取到启动菜单后按数字5回车开始Ubuntu系统的自动安装。

wKioL1cXdDvg_wXwAAAouwEQF0k483.png

等待一段时间系统自动完成安装。

wKioL1cXg--xTwKnAAAhocxUtec948.png

我在测试过程中发现:如果dhcp分配给客户机的IP能够访问到Ubuntu官方服务器,那么在安装过程中会自动连接服务器下载一些更新的软件包或文件等,这对于网络质量不够优越的环境来说严重影响了整个安装进度。那么,我建议在安装Ubuntu前,要给予dhcp所分配的IP网段无法访问互联网的权限,系统安装完成后再进行系统更新的操作