设为首页 收藏本站
查看: 1031|回复: 0

[经验分享] PXE+kickstart自动安装ubuntu14.04

[复制链接]
发表于 2017-6-23 11:08:35 | 显示全部楼层 |阅读模式
  本文参考了诸多文章,先感谢这些文章的作者。
  使用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
%post
echo "deb http://cn.archive.ubuntu.com/ubuntu/ trusty main restricted" > /etc/apt/sources.list
echo "deb http://cn.archive.ubuntu.com/ubuntu/ trusty-updates main restricted" >> /etc/apt/sources.list
echo "deb http://cn.archive.ubuntu.com/ubuntu/ trusty universe" >> /etc/apt/sources.list
echo "deb http://cn.archive.ubuntu.com/ubuntu/ trusty-updates universe" >> /etc/apt/sources.list
echo "deb http://cn.archive.ubuntu.com/ubuntu/ trusty multiverse" >> /etc/apt/sources.list
echo "deb http://cn.archive.ubuntu.com/ubuntu/ trusty-updates multiverse" >> /etc/apt/sources.list
echo "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 install
menu label ^Install
menu default
kernel ubuntu-installer/amd64/linux
append 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 cli
menu label ^Command-line install
kernel ubuntu-installer/amd64/linux
append tasks=standard pkgsel/language-pack-patterns= pkgsel/install-language-support=false vga=788 initrd=ubuntu-installer/amd64/initrd.gz --- quiet

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

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-387264-1-1.html 上篇帖子: 吃货告诉你,PAAS、IAAS和SAAS之间的区别 下篇帖子: 企业级网络爬虫应用(1) 开篇
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表