一、自动化安装系统工具

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

RHCE7认证学习笔记17——KickStart安装系统的更多相关文章

  1. NanoPi NEO2 学习笔记 1:安装系统、首次开机和一些设置

    初识NEO2 前几天搞到了一块NanoPi NEO2,A53的核心,512M内存,一个千兆网口,非常小的体积,质量也不错,非常满意,140元的价格可以买到这样一块ARM开发板也是非常划算了,非常适合低 ...

  2. 学习笔记17—circos安装集(window环境)

    Windows7环境下Circos使用教程 一.下载安装软件包 1.strawberry perl 因为Circos软件是依赖perl语言编译环境的,但是windows环境下默认是没有perl的,所以 ...

  3. PHP学习笔记----IIS7下安装配置php环境

    原文:PHP学习笔记----IIS7下安装配置php环境 Php如何安装 Php版本的选择 Php在windows下的(php5.4.7)有两种版本: VC9 x86 Non Thread Safe ...

  4. Ext.Net学习笔记17:Ext.Net GridPanel Selection

    Ext.Net学习笔记17:Ext.Net GridPanel Selection 接下来是Ext.Net的GridPanel的另外一个功能:选择. 我们在GridPanel最开始的用法中已经见识过如 ...

  5. SQL反模式学习笔记17 全文搜索

    目标:全文搜索 使用SQL搜索关键字,同时保证快速和精确,依旧是相当地困难. SQL的一个基本原理(以及SQL所继承的关系原理)就是一列中的单个数据是原子性的. 反模式:模式匹配 使用Like 或者正 ...

  6. golang学习笔记17 爬虫技术路线图,python,java,nodejs,go语言,scrapy主流框架介绍

    golang学习笔记17 爬虫技术路线图,python,java,nodejs,go语言,scrapy主流框架介绍 go语言爬虫框架:gocolly/colly,goquery,colly,chrom ...

  7. openresty 学习笔记一:环境安装

    openresty 学习笔记一:环境安装 openresty 是一个基于 Nginx 与 Lua 的高性能 Web 平台,其内部集成了大量精良的 Lua 库.第三方模块以及大多数的依赖项.用于方便地搭 ...

  8. alfs学习笔记-自动化构建lfs系统

    我的邮箱地址:zytrenren@163.com欢迎大家交流学习纠错! 一名linux爱好者,记录构建Linux From Scratch的过程 经博客园-骏马金龙前辈介绍,开始接触学习lfs,用博客 ...

  9. blfs(systemd版本)学习笔记-构建gnome桌面系统

    我的邮箱地址:zytrenren@163.com欢迎大家交流学习纠错! 大概思路: lfs(系统)+xorg(驱动)+gnome(桌面组件) 链接: lfs(systemd版本)学习笔记系列:http ...

随机推荐

  1. springIOC的那些事

       springIOC动态代理的那些事儿 1.发现问题 今天在使用spring的IOC容器时发现了这样的一个问题: 首先有一个接口定义如下: public interface BookShopSer ...

  2. MySQL学习(四)查询

    一.group_concat()函数.把groupby的分组中字段数据组合显示出来 select s_id , GROUP_CONCAT(要显示的字段名)  from table group by 分 ...

  3. 玩转web之ligerui(一)---ligerGrid又一次指定url

    版权声明:本文为博主原创文章,未经博主同意不得转载. https://blog.csdn.net/u012116457/article/details/27109227 请珍惜小编劳动成果.该文章为小 ...

  4. PIL 一秒切九图 朋友圈发图神器

    注意图片像素返回值是(宽度,高度),pil填像素点坐标原点左上角. 判断像素点是否在圆方程中. import numpy as np from PIL import Image file = inpu ...

  5. delete在js里为引用删除

    delete 运算符从对象中删除一个属性,或从数组中删除一个元素. delete expressionexpression 参数是一个有效的 JScript 表达式,通常是一个属性名或数组元素. 说明 ...

  6. POJ 3185 The Water Bowls 【一维开关问题 高斯消元】

    任意门:http://poj.org/problem?id=3185 The Water Bowls Time Limit: 1000MS   Memory Limit: 65536K Total S ...

  7. 2018.12.1 web项目中解决乱码问题的一个工具类

    <!-- 配置一个过滤器 编码格式的过滤器 --> <filter> <filter-name>encodeFilter</filter-name> & ...

  8. js学习笔记-数字转罗马数字

    function convert(num) {     var ans = "";     var k = Math.floor(num / 1000);     var h = ...

  9. Android学习笔记_69_android 支付宝之网页支付和快捷支付

    参考资料: https://b.alipay.com/order/productDetail.htm?productId=2013080604609654 https://b.alipay.com/o ...

  10. Android学习笔记_23_服务Service之AIDL和远程服务实现进程通信以及进程间传递自定义类型参数

    一.了解AIDL语言: 在Android中, 每个应用程序都有自己的进程,当需要在不同的进程之间传递对象时,该如何实现呢? 显然, Java中是不支持跨进程内存共享的.因此要传递对象, 需要把对象解析 ...