本文参考了诸多文章,先感谢这些文章的作者。

使用pxe安装系统需要安装dhcp,tftp,http等服务(当然也可以使用其他文件共享方式比如nfs,ftp)。

实验环境:

1. vmware 12

2.网段 10.0.0.0/8, PXE服务器IP:10.0.0.100

一、安装dhcp服务

可以选择安装isc-dhcp-Server 或者 dnsmasq(这个在openstack中使用较多,而且它也包含tftp服务,配置也非常方便,我因为已经安装dhcp和tftp就懒得换了)。

我选择安装了isc-dhcp-Server:   apt-get install isc-dhcp-Server -y

vim /etc/default/isc-dhcp-server

INTERFACES="eth0"    # 或者你要指定的网络接口名字。

vim /etc/dhcp/dhcpd.conf

在文件末尾添加:

subnet 10.0.0.0 netmask 255.0.0.0 {
  range 10.0.0.101 10.0.0.200;
  option subnet-mask 255.0.0.0;
  option routers 10.0.0.100;
  option broadcast-address 10.255.255.255;
  filename "pxelinux.0";
  next-server 10.0.0.100;
}

子网,掩码可以根据自己的需要设置

filename "pxelinux.0";
next-server 10.0.0.100;    指定pxe启动文件名和ip地址,next-server也是指tftp服务器IP。

配置完重启服务:

service isc-dhcp-server restart

二、安装tftp服务

apt-get install tftpd-hpa -y

安装完就OK了,使用默认的即可,记得tftp的目录是 /var/lib/tftpboot/ 哦,后面要用到!

三、安装apache2

apt-get install apache2 -y

也是安装完就可以了,http根目录是 /var/www/html/ 。

将下载好的ubuntu-14.04.5-server-amd64.iso放到某个目录。比如 ~ 目录,然后如下操作;

cd ~

mkdir /var/www/html/ubuntu

mount ubuntu-14.04.5-server-amd64.iso /var/www/html/ubuntu      或者 mount ubuntu-14.04.5-server-amd64.iso /media  然后 cp -r * /media/* /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

在文件末尾添加:

d-i live-installer/net-image string http://10.0.0.100/ubuntu/install/filesystem.squashfs

d-i pkgsel/include string openssh-server

1、因为在ubuntu12.10版本以后,安装一些包会依赖于预配置的文件系统,这就是导致使用kickstart方式无法成功安装的原因。

2、自动安装ssh服务。

四、安装kickstart

kickstart需要GUI界面,我因为是安装的server,所以需要安装桌面(如果是desktop版本就不需要),如下安装;

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

安装完之后,重启一下进入桌面,直接startx在虚拟机里卡桌面。

kickstart界面操作很简单,实验过一遍就知道主要还是ks.cfg。如果vm的界面较小,需要远程的话,可以安装xrdp, vnc4server, 然后vim ~/.xsession 输入:xfc4-session

这里就不多说了,搜索一下就很多远程ubuntu的文章。

在界面操作完之后保存ks.cfg到/var/www/html/

ks.cfg 内容如下:

#Generated by Kickstart Configurator
#platform=AMD64 or Intel EM64T#System language
lang en_US
#Language modules to install
langsupport en_US
#System keyboard
keyboard us
#System mouse
mouse
#System timezone
timezone --utc Asia/Shanghai
#Root password
rootpw --disabled
#Initial user
user trait --fullname "trait" --iscrypted --password $1$Umx1cgrj$..pRArN7AP66XBosYbU4N1
#Reboot after installation
reboot
#Use text mode install
text
#Install OS instead of upgrade
install
#Use Web installation
url --url http://10.0.0.100/ubuntu
#System bootloader configuration
bootloader --location=mbr
#Clear the Master Boot Record
zerombr yes
#Partition clearing information
clearpart --all --initlabel
#Disk partitioning information
part / --fstype ext4 --size 1024 --asprimary --ondisk sda
part swap --size 800 --ondisk sda
#System authorization infomation
auth  --useshadow  --enablemd5
#Firewall configuration
firewall --disabled
#Do not configure the X Window System
skipx
%postecho "deb http://cn.archive.ubuntu.com/ubuntu/ trusty main restricted" > /etc/apt/sources.listecho "deb http://cn.archive.ubuntu.com/ubuntu/ trusty-updates main restricted" >> /etc/apt/sources.listecho "deb http://cn.archive.ubuntu.com/ubuntu/ trusty universe" >> /etc/apt/sources.listecho "deb http://cn.archive.ubuntu.com/ubuntu/ trusty-updates universe" >> /etc/apt/sources.listecho "deb http://cn.archive.ubuntu.com/ubuntu/ trusty multiverse" >> /etc/apt/sources.listecho "deb http://cn.archive.ubuntu.com/ubuntu/ trusty-updates multiverse" >> /etc/apt/sources.listecho "deb http://cn.archive.ubuntu.com/ubuntu/ trusty-backports main restricted universe multiverse" >> /etc/apt/sources.list

然后修改一下 vim /var/lib/tftpboot/ubuntu-installer/amd64/boot-screens/txt.cfg:

default install
label installmenu label ^Installmenu defaultkernel ubuntu-installer/amd64/linuxappend ks=http://10.0.0.100/ks.cfg preseed/url=http://10.0.0.100/ubuntu-server.seed netcfg/get_nameservers=10.60.235.100 vga=788 initrd=ubuntu-installer/amd64/initrd.gz --- quiet
label climenu label ^Command-line installkernel ubuntu-installer/amd64/linuxappend tasks=standard pkgsel/language-pack-patterns= pkgsel/install-language-support=false vga=788 initrd=ubuntu-installer/amd64/initrd.gz --- quiet

ok,现在可以创建一个空的虚拟机来验证安装了。

转载于:https://www.cnblogs.com/danxi/p/6181479.html

PXE+kickstart自动安装ubuntu14.04相关推荐

  1. PXE高效批量网络装机(含PXE+kickstart自动安装)

    目录 一.PXE概述 PXE批量部署的优点 PXE(Preboot eXcution Environment) 服务端 客户端 二.配置PXE装机服务器 基本部署过程 1.准备CentOS 7 安装源 ...

  2. Linux运维系列总结-Linux系统启动过程、WEB工作原理、DHCP工作原理、DNS解析原理、NFS网络文件系统、FTP文件传输协议、PXE+KICKSTART自动安装系统

    Linux运维系列总结-Linux系统启动过程.WEB工作原理.DHCP工作原理.DNS解析原理.NFS网络文件系统.FTP文件传输协议.PXE+KICKSTART自动安装系统 1.Linux系统的启 ...

  3. RHEL6 PXE+KickStart全自动安装配置指南

    笔者之前也配置过RHEL5.4的PXE+KickStart自动安装,这次在RHEL6上面测试了下PXE+KickStart配置,发现6和5版本对比存在一些细微的差别,因而记录操作步骤如下,在开始操作之 ...

  4. Windows8.1硬盘安装Ubuntu14.04以及卸载Ubuntu14.04参考教程[图]

    硬盘安装,无需光盘.U盘:Win8.1为主,Ubuntu14.04为辅,可将Windows或Ubuntu设置为开机默认启动项:在Ubuntu下可查看.操作Windows系统下的文件:适用于安装和14. ...

  5. 虚拟机安装ubuntu14.04.5系统

    参考教程 在vitualbox安装 ubuntu14.04.2 LTS教程 http://jingyan.baidu.com/article/46650658228345f549e5f8cc.html ...

  6. PXE+Kickstart 无人值守安装系统

    文章目录 无人值守系统 部署安装 创建PXE服务器虚拟机并设置IP地址 配置本地yum源 安装并配置DHCP服务 安装并配置TFTP服务 安装SYSLinux 复制引导文件 安装并配置vsftpd服务 ...

  7. Windows7 U盘安装Ubuntu14.04双系统教程

    U盘安装,无需光盘:Win7为主,Ubuntu14.04为辅,可将Windows或Ubuntu设置为开机默认启动项:在Ubuntu下可查看.操作Windows系统下的文件:适用于安装和14.04版本相 ...

  8. win7下通过easyBCD引导安装Ubuntu14.04

    Ubuntu14.04作为目前最新版本的ubuntu系统,相信很多人都想在自己的电脑上安装一下,然而系统的安装方法各式各样,u盘法.grub引导法等等,这里我将介绍在win7系统下用easyBCD软件 ...

  9. 【Linux】PXE+Kickstart无人值守安装系统

    文章目录 前言 一.简介 二.配置DHCP 三.TFTP 四.SYSLinux服务程序 五.vsftpd服务 六.Kickstart应答文件 七.自动安装系统 八.总结 前言 本文来记录下PXE+Ki ...

最新文章

  1. 日志服务(SLS)集成 Spark 流计算实战
  2. linux下使用c++17编译filesystem
  3. python删除txt文件第三行_真香!Python十大常用文件操作,轻松办公
  4. html中ng-src,angular项目中,ie中iframe动态的ng-src,如果是路由的地址(带有#的url),页面不显示,googel却正常...
  5. C#图片处理之:图片缩放和剪裁
  6. web form常用控件
  7. 预处理命令之条件编译(#ifdef,#endif,#else)
  8. 骑士CMS模版注入+文件包含getshell漏洞复现
  9. Django使用livereload自动刷新页面
  10. 如何从UCI获取数据集?
  11. 假定我们要建立一个学术论文数据库,存储如下信息: •学术期刊有期刊编号、期刊名、发行单位; •作者有作者编号、作者姓名、电子邮件; •论文有论文编号、论文标题、摘要、正文; •每篇论文只被一个
  12. 15分钟用ppt制作桌面整理四格壁纸
  13. 什么是统计学中的 Standard Error ( SE )?
  14. 序列周期性与魔术(一)——数学里的函数周期性
  15. Codeforces Round #828 (Div. 3) E2. Divisible Numbers (hard version)
  16. html5视频播放器 知乎,6款让人赞不绝口的电脑软件,知乎超10W人推荐,建议悄悄收藏...
  17. 接外包有哪些渠道呢?
  18. 音视频开发:直播推流技术指南
  19. 扩展欧几里得算法 | exgcd 证明 + 板子 + 习题
  20. PHP实现无限级分类(递归+引用)

热门文章

  1. 【Linux】一步一步学Linux——zip命令(67)
  2. 卸载idea2020不干净_强制卸载软件程序、以及清理注册表
  3. python schedule多线程_Python定时任务sched模块用法示例
  4. Redis源码剖析(二)io多路复用函数及事件驱动流程
  5. C++学习笔记-----函数调用时的决议:名字查找,重载决议,可访问性检测
  6. 屏蔽 iOS 系统自动更新
  7. 修正 010 Editor 模板文件 MachO.bt 的错误
  8. 单向链表的C语言实现与基本操作
  9. 动态内存的基本功能和使用
  10. 按我的理解string似乎不是字面值类型,但为什么《c++ primer》习题7.55答案说Data类是集合类呢?