一、自动化安装系统工具

1、Cobbler
    另一个自动化安装工具;

2、Kickstart
 
二、使用kickstart自动化安装系统

服务器安装的软件:

1、dhcp服务   
[root@linuxidc ~]# yum install dhcp -y

dhcpd的配置文件:
  1 subnet 192.168.10.0 netmask 255.255.255.0 { 
  2  range 192.168.10.100 192.168.10.120; 
  3  option domain-name-servers 8.8.8.8; 
  4  option domain-name "linuxidc.seagate.com"; 
  5  option routers 192.168.10.10; 
  6  option broadcast-address 192.168.10.255; 
  7  next-server 192.168.10.10;设置tftpd服务器的地址 
  8  filename "pxelinux.0";Tftpd服务器的文件名 
  9  default-lease-time 600; 
 10  max-lease-time 7200; 
 11 }

2、tftpd服务

[root@linuxidc dhcp]# yum install tftp-server

tftpd服务的文件目录:

[root@linuxidc tftpboot]# pwd 
/var/lib/tftpboot

修改/etc/xinetd.d/tftp启用tftpd服务:
  6 service tftp 
  7 { 
  8        socket_type            = dgram 
  9        protocol                = udp 
 10        wait                    = yes
 11        user                    = root 
 12        server                  = /usr/sbin/in.tftpd 
 13        server_args            = -s /var/lib/tftpboot
 14        disable                = no 
 15        per_source              = 11 
 16        cps                    = 100 2 
 17        flags                  = IPv4 
 18 }

3、安装syslinux服务,提取引导文件pxelinux.0文件到tftpd文件目录:
[root@linuxidc tftpboot]# yum provides */pxelinux.0 
syslinux-4.05-8.el7.x86_64 : Simple kernel loader which boots from a FAT filesystem 
Repo        : mine 
Matched from: 
Filename    : /usr/share/syslinux/pxelinux.0

[root@linuxidc tftpboot]# yum install syslinux-4.05-8.el7.x86_64 -y

[root@linuxidc syslinux]# cp pxelinux.0 /var/lib/tftpboot/

4、从安装光盘镜像的/images/pxeboot目录下拷贝initrd.img,vmlinuz 文件到 tftpd的文件目录
[root@linuxidc pxeboot]# cp initrd.img vmlinuz /var/lib/tftpboot/

5、在tftpd文件目录下面创建pxelinux目录

[root@linuxidc tftpboot]# mkdir pxelinux.cfg

6、拷贝安装光盘镜像/isolinux/目录下面的isolinux.cfg,boot.msg到tftpd文件目录下,并命名为default,给用户写权限
[root@linuxidc isolinux]# cp isolinux.cfg /var/lib/tftpboot/pxelinux.cfg/default 
[root@linuxidc isolinux]# chmod u+w /var/lib/tftpboot/pxelinux.cfg/default

[root@linuxidc isolinux]# cp boot.msg /var/lib/tftpboot/

7、安装http服务,配置http安装源
[root@linuxidc pxelinux.cfg]# yum install httpd -y

在http的根目录/var/www/html创建iso目录,将安装光盘镜像iso的所有文件拷贝到iso目录下面,配置/var/www/html/iso目录:
130 <Directory "/var/www/html/iso"> 
131    AllowOverride None 
132    # Allow open access: 
133    Require all granted 
134 </Directory>

8、创建kickstart自动安装脚本

可以从一台已装好系统的机器上面的root家目录下面的anaconda-ks.cfg作为参考,脚本里面有以下一些必须要写的命令:
    bootloader:

keyboard:

lang:

part or partition:

rootpw:

timezone:

安装包选择:
    以%package开始,以%end结束,中间的软件包以@开始,软件包的定义在iso安装镜像的repodata目录下面的*comps-Server.x86_64.xml定义
 31 %packages 
 32 @base 
 33 @core 
 34 @desktop-debugging 
 35 @dial-up 
 36 @fonts 
 37 @gnome-desktop 
 38 @guest-agents 
 39 @guest-desktop-agents 
 40 @input-methods 
 41 @internet-browser 
 42 @multimedia 
 43 @print-client 
 44 @x11 
 45  
 46 %end

安装前脚本:以%pre开始,以%end结束;

安装后脚本:以%post开始,以%end/结束;

9、生成kickstart脚本并放到http根目录/var/www/html下面:
auth --enableshadow --passalgo=sha512 
install
url --url http://192.168.10.10/iso
firstboot --enable
ignoredisk --only-use=sda 
keyboard --vckeymap=us --xlayouts='us'
lang en_US.UTF-8 
network  --bootproto=dhcp --device=ens33 --onboot=off --ipv6=auto 
network  --hostname=localhost.localdomain 
rootpw --plaintext RedHat 
timezone Asia/Chongqing --isUtc --nontp 
xconfig  --startxonboot 
bootloader --location=mbr --boot-drive=sda 
part / --fstype=xfs --size=5000 
part swap --fstype=swap --size=512 
clearpart --none --initlabel  
%packages 
@base 
@core

1234567891011121314151617181920212223 @desktop-debugging 
@dial-up 
@fonts 
@gnome-desktop 
@guest-agents 
@guest-desktop-agents 
@input-methods 
@internet-browser 
@multimedia 
@print-client 
@x11 
%end 
%post 
useradd redhat 
echo redhat |passwd --stdin redhat 
cat >/etc/yum.repos.d/test.repo<<EOF 
[test] 
name=test
baseurl=file:///iso
gpgcheck=0 
<<EOF 
%end 
reboot

10、在/var/lib/tftpboot/pxelinux.0/default文件里面修改ks安装源
    
append initrd=initrd.img inst.ks=http://192.168.10.10/ks.cfg

11、新建虚拟机,启动虚拟机,从pxe network 启动,系统将会自动安装

-----------------------------分割线-----------------------------

使用PXE+DHCP+Apache+Kickstart无人值守安装CentOS5.8 x86_64 http://www.linuxidc.com/Linux/2012-12/76913p4.htm

Linux PXE无人值守安装出现 PXE-E32:TFTP OPen timeout的解决办法 http://www.linuxidc.com/Linux/2014-03/98986.htm

使用PXE结合kickstart 自动安装Linux系统 http://www.linuxidc.com/Linux/2014-03/98014.htm

RHCE认证之无人值守安装Linux系统(FTP+TFTP+DHCP+Kickstart+PXE) http://www.linuxidc.com/Linux/2013-10/91013.htm

PXE网络装机(有人值守与无人值守安装) http://www.linuxidc.com/Linux/2013-07/87456.htm

-----------------------------分割线-----------------------------

本文永久更新链接地址http://www.linuxidc.com/Linux/2015-03/115204.htm

最新文章

  1. 不用画线 设置UITableView的全屏分隔线
  2. 线段树(多棵) HDOJ 4288 Coder
  3. CSS 强制换行和禁止换行学习
  4. jquery 60秒倒计时
  5. javascript——面向对象程序设计(4)
  6. PHP iconv()编码转换函数用法示例
  7. Python读取PDF内容
  8. hough变换中,直线方程从XY空间转换到参数空间的转换过程
  9. SimpleDateFormat时间格式化存在线程安全问题
  10. 使用OMS查询Api Management的调用日志
  11. 洗礼灵魂,修炼python(63)--爬虫篇—re模块/正则表达式(1)
  12. 异步、+回调机制、线程queue、线程Event、协程、单线程实现遇到IO切换
  13. xsd文件规则和语法
  14. ASP.NET MVC Web API 学习笔记---Web API概述及程序示例
  15. MySQL调优基础, 与hikari数据库连接池配合
  16. 10min 手写一个内存监控系统
  17. [转帖]AMD、英特尔为何争相走向胶水多核处理器?真相在此
  18. &lt;mvc:annotation-driven /&gt;做了什么
  19. asp.net mvc 站点优化
  20. python 爬取世纪佳缘,经过js渲染过的网页的爬取

热门文章

  1. sql语句更新某字段内容中部分数据
  2. arcgis for javascript ArcGISDynamicMapServiceLayer 过滤图层点
  3. SQLServer用存储过程实现插入更新数据
  4. H5中的微信支付、支付宝支付
  5. R 代码积累
  6. javascript操作Date对象
  7. 表达式过滤器currency
  8. redis 高性能应用
  9. ios微信公众号分享回调事件
  10. Mac mysql安装失败解决方法