前面我们已经使用CentOS6.7的平台搭建了pxe服务器,现在我们利用此服务器继续安装Ubuntu 14.04.4 server系统的客户机。
参见 http://1130739.blog.51cto.com/1120739/1740925
部署方法:
在pxe安装菜单文件/var/lib/tftpboot/msgs/boot.msg添加Ubuntu系统的选项
在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
这里live-installer/net-image参数是指定live image,如果不指定或指定有误则安装会橙屏报错。
clock-setup/ntp=false 参数是指定安装过程中禁用ntp服务与时间服务器同步时间,建议在安装完系统后在%post加命令与时间服务器同步时间。如果不指定此参数,默认安装过程中会自动与Ubuntu官方时间服务器同步时间。
当然也可以直接指定一个响应较快的时间服务器 clock-setup/ntp=true clock-setup/ntp-server=0.ubuntu.pool.ntp.org
关于更多参数及其用法,请参阅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/
拷贝网络安装引导内核、映像文件到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
无人应答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进入配置界面,基本配置包括,默认语言、鼠标、键盘、时区、添加语言支持、安装后是否重启的选项。
安装源的配置,这里根据实际情况指定http服务器地址以及Ubuntu系统文件绝对网络路径。
boot loader选项的设置,是否安装新的boot loader以及安装位置。
分区信息,按照如下配置即可。
点击Add添加分区信息,根分区文件系统类型、容量大小、强制主分区、是否指定磁盘等。
sawp分区容量大小,根分区与swap分区必须指定。
分区总览信息如下
用户配置可以指定是否启用root用户以及设置密码。Ubuntu手工安装默认不启用root用户,创建一个普通用户来登录,所以这里普通用户必须指定。
防火墙配置,测试环境与开发环境可禁用防火墙服务避免给测试时带来的麻烦;生产环境与互联网环境,则强烈建议使用防火墙来构建主机的防御系统。
软件包的选择,右边全部为空也不可添加,不用担心。后面对生成后的ks.cfg文件编辑,手工添加需要安装的软件包。
安装前后执行的脚本配置,根据实际需求添加。
配置完所有的参数后,点击左上角的文件菜单来保存配置文件。
确定保存位置,与文件名ks.cfg。
最后点击左上角文件菜单里退出配置界面
使用vi编辑生成的ks.cfg文件,在skipx后面手工添加需要安装的软件包。
在%post后面添加需要安装后执行的脚本或命令
关于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
最后将制作的ks.cfg文件拷贝到pxe服务器http根目录下/var/www/html/os/ubuntu-14.04.4/
pxe服务器停止防火墙与selinux服务,确保dhcp、tftp、http服务正常运行。
待安装的客户机开机从网卡启动,获取到启动菜单后按数字5回车开始Ubuntu系统的自动安装。
等待一段时间系统自动完成安装。
我在测试过程中发现:如果dhcp分配给客户机的IP能够访问到Ubuntu官方服务器,那么在安装过程中会自动连接服务器下载一些更新的软件包或文件等,这对于网络质量不够优越的环境来说严重影响了整个安装进度。那么,我建议在安装Ubuntu前,要给予dhcp所分配的IP网段无法访问互联网的权限,系统安装完成后再进行系统更新的操作。