Kickstart是一种无人值守的安装方式。它的工作原理是在安装过程中记录典型的需要人工干预填写的各种参数,并生成一个 名为ks.cfg的文件。如果在安装过程中(不只局限于生成Kickstart安装文件的机器)出现要填写参数的情况,安装程序首先会去查找 Kickstart生成的文件,如果找到合适的参数,就采用所找到的参数;如果没有找到合适的参数,便需要安装者手工干预了。所以,如果 Kickstart文件涵盖了安装过程中可能出现的所有需要填写的参数,那么安装者完全可以只告诉安装程序从何处取ks.cfg文件,然后就去忙自己的事 情。等安装完毕,安装程序会根据ks.cfg中的设置重启系统,并结束安装。

系统环境

实验环境:VMware Workstation 12

系统平台:RHEL7.*

网络模式:LAN区段

DHCP / TFTP IP:192.168.135.150      #根据自己实际情况配置

HTTP / FTP / NFS IP:192.168.135.150

防火墙已关闭/iptables: Firewall is not running.

SELINUX=disabled

注意:VMware Workstation使用NTP时,要把NTP的DHCP功能去掉

前期准备

所需要用到的服务:DHCP、TFTP、HTTP(FTP太慢,所以我用了HTTP)

配置yum仓库,挂载光盘镜像

#vim /etc/yum.repos.d/rhel7.repo

[rhel7]

name=rhel7

basurel=file:///mnt

enabled=1

gpgcheck=0

将光盘挂载到/mnt中

#mount /dev/cdrom /mnt

配置DHCP

安装DHCP服务

# yum -y install dhcp

修改/etc/dhcp/dhcpd.conf 配置文件,内容如下:

subnet 192.168.135.0 netmask 255.255.255.0 {          #所属网段及掩码;

range 192.168.135.100 192.168.135.120;                    #IP地址池范围;

option domain-name "test.com";

option routers 192.168.135.2;                                  #路由器IP,可以写网关IP;

option broadcast-address 192.168.135.255;

next-server 192.168.135.130;                              #TFTP Server 的IP地址;

filename "/pxelinux.0";                                        #pxelinux 启动文件位置;

default-lease-time 600;

max-lease-time 7200;

}

            ##也可以根据[root@occl ~]# rpm -ql dhcp | grep example

                          /usr/share/doc/dhcp-4.2.5/dhcpd.conf.example    ##此模板下内容来修改

启动DHCP服务

#systemctl enable dhcpd.service

#systemctl start dhcpd.service

配置TFTP

yum -y install tftp-server

#需要xinetd,如果没有安装的话也要安装

修改/etc/xinetd.d/tftp配置文件,内容如下:

service tftp
{
        socket_type             = dgram
        protocol                = udp
        wait                    = yes
        user                    = root
        server                  = /usr/sbin/in.tftpd
        server_args             = -s /var/lib/tftpboot
        disable                 = no    ##把这写成no即可;
        per_source              = 11
        cps                     = 100 2
        flags                   = IPv4
}

启动xinetd服务

#systemctl enable xinetd.service

#systemctl start xinetd.service

配置PXE启动所需要的文件

#yum -y install syslinux

说明:syslinux是一个功能强大的引导加载程序,而且兼容各种介质。更加确切地说:SYSLINUX是一个小型的Linux操作系统,它的目的是简化首次安装Linux的时间,并建立修护或其它特殊用途的启动盘。

拷贝启动文件到/var/lib/tftpboot里

#cp /usr/share/syslinux/pxelinux.0 /var/lib/tftpboot/

cd /mnt/images/pxeboot

#cp -rf initrd.img vmlinuz  /var/lib/tftpboot/

#mkdir /var/lib/tftpboot/pxelinux.cfg

#cp /mnt/isolinux/isolinux.cfg /var/lib/tftpboot/pxelinux.cfg/default

#chmod u+w /var/lib/tftpboot/pxelinux.cfg/default

####cp /mnt/isolinux/boot.msg /var/lib/tftpboot/
####chmod u+w /var/lib/tftpboot/boot.msg

修改default文件

[root@occl pxelinux.cfg]# vim default

default linux
timeout 600

display boot.msg

# Clear the screen when exiting the menu, instead of leaving the menu displayed.
# For vesamenu, this means the graphical background is still displayed without
# the menu itself for as long as the screen remains in graphics mode.
menu clear
menu background splash.png
menu title Red Hat Enterprise Linux 7.2
menu vshift 8
menu rows 18
menu margin 8
#menu hidden
menu helpmsgrow 15
menu tabmsgrow 13

###中间省略部分,找到下面一行修改一下红色部分

label linux
  menu label ^Install Red Hat Enterprise Linux 7.2
  kernel vmlinuz
  append initrd=initrd.img inst.ks=http://192.168.135.150/ks.cfg quiet             #这个地址根据自己的实际情况;ks.cfg这个文件后面会配置

保存退出

检查

[root@occl tftpboot]# pwd
/var/lib/tftpboot
[root@occl tftpboot]# ls
initrd.img  pxelinux.0  pxelinux.cfg  vmlinuz boot.msg

[root@occl tftpboot]# cd pxelinux.cfg/
[root@occl pxelinux.cfg]# ls
default

配置HTTP

yum -y install httpd

创建iso文件夹目录,用来存放光盘软件包

#mkdir /var/www/html/iso

拷贝光盘中所有文件到iso文件夹中

#cp -rf /mnt/* /var/www/html/iso/

修改/etc/httpd/conf/httpd.conf 下添加:

<Directory "/var/www/html/iso">
    Options Indexes FollowSymLinks
    AllowOverride None
    Require all granted
</Directory>

systemclt start httpd.service

systemclt enable httpd.service

生成ks.cfg 文件

ks.cfg是kickstart安装配置文件,系统就是按照ks.cfg来安装的。我们将在后面配置

安装Kickstart

#yum -y install system-config-kickstart

在桌面环境下配置Kickstart

#system-config-kickstart

后面几项不用管,直接保存

保存在/root/下,后缀不要动

root目录下有个anaconda-ks.cfg文件,我们进去把安装软件脚本拷贝到咱们刚才创建的那个ks.cfg中

#vim /root/anaconda-ks.cfg

........

%packages

@base

@core

@desktop-debugging

@dial-up

@fonts

@gnome-desktop

@guest-agents

@guest-desktop-agents

@input-methods

@internet-browser

@kde-desktop

@multimedia

@print-client

@x11

%end

把anaconda-ks.cfg文件最下方的%packages与%end之间的内容粘贴到咱们的ks.cfg中

#vim /root/ks.cfg

把上面一串@的所有内容都粘贴进去,包括两个%哪行。

把ks文件拷贝到/var/www/html/里面

#cp /root/ks.cfg /var/www/html/

[root@occl html]# ls
iso  ks.cfg

检查防火墙及SElinux等其他服务是否配置好

检查SELinux是否关闭

#setenforce 0    //关闭SELinux

检查防火墙,开放dhcp,ftp,tftp服务,或者关闭防火墙

检查所有服务是否正常启动

#systemctl is-active dhcpd

#systemctl is-active vsftpd

返回结果都是“active”

#netstat -tulnp | grep :69

udp        0      0 0.0.0.0:69              0.0.0.0:*

确保default文件和ks.cfg文件配置正确。

这样基本就配置完成了,试验一下吧。

kickstart自动安装部署RHEL7的更多相关文章

  1. centos7/rhel7下配置PXE+Kickstart自动安装linux系统

    应用场景:临时安装一个系统或者批量安装linux系统,无需人工介入选择下一步,减少在安装系统上的时间浪费,提高工作效率. DHCP + TFTP + Syslinux + FTP + Kickstar ...

  2. 使用光盘iso实现Linux操作系统的自动安装部署

    前边写了一篇使用 PXE 的方式批量安装操作系统,不是任何时候任何地方都有环境来通过 PXE 方式来进行安装.如果此时需要通过光盘安装,默认的情况下是通过交互式方式进行安装,其实也可以通过 kicks ...

  3. linux系统PXE+Kickstart自动安装系统

    一.PXEPXE(Pre-boot Execution Environment,预启动执行环境)是由Intel公司开发的最新技术,工作于Client/Server的网络模式,支持工作站通过网络从远端服 ...

  4. PXE+kickstart自动安装ubuntu14.04

    本文参考了诸多文章,先感谢这些文章的作者. 使用pxe安装系统需要安装dhcp,tftp,http等服务(当然也可以使用其他文件共享方式比如nfs,ftp). 实验环境: 1. vmware 12 2 ...

  5. PXE+Kickstart 全自动安装部署CentOS7.4

    一.简介 1.什么是PXE PXE(preboot execute environment,预启动执行环境)是由Intel公司开发的最新技术,工作于Client/Server的网络模式,支持工作站通过 ...

  6. CentOS 7.2 下 PXE+kickstart 自动安装系统

    一.简单概述 1.1 Kickstart 概述 对于网络安装系统,在linux 下面最熟悉的应该就是 Kickstart 以及 cobbler.写这篇文章的目的在于我公司目前使用的就是 Kicksta ...

  7. PXE+Kickstart 自动安装CentOS系统

    PXE (preboot execcute environment) 依赖服务 dhcp tftp file server (yum repository) 准备TFTP服务器  如何配置TFTP服务 ...

  8. linux kickstart 自动安装

    最近很多业务系统都是linux lnmp平台安装,反复的安装让人觉得很苦恼,仔细钻研了下kickstart .这里环境是red hat linux 5.8 32位,系统盘中的软件包里包含有kickst ...

  9. s32 kickstart 批量自动安装系统

    1. 自动安装操作系统 http://blog.oldboyedu.com/autoinstall-kickstart/   自动安装操作系统的解决方案:kickstart.cobbler(披着web ...

随机推荐

  1. mysql数据库数据备份与恢复

    备份数据: C:\Users\Administrator>mysqldump -uroot --password -v test01 test02 >e:\temp\\a3.sql Ent ...

  2. CentOS7 设置集群时间同步

    1. 安装ntp时间同步工具 yum -y install ntp ntpdate #安装ntpdate时间同步工具 ntpdate cn.pool.ntp.org #设置时间同步 hwclock - ...

  3. 备用DNS域名服务器

    DNS:1.34.151.129,域名:www#eliuliang#com, 个人用解析地址,请勿使用.

  4. python-docx编辑word表格

    一.修改数据类型(中英) 需求: 代码: #-*-coding:gbk*- import os import docx #from docx.enum.table import WD_TABLE_AL ...

  5. JS面试典型常见问题与解答

    Q1:下面代码段的输出是什么? 为什么? (Scope) (function() { var a = b = 5; })(); console.log(b); A1: 输出是5. 在上面的立即调用函数 ...

  6. java第一次考试

    这是我们开学的第一次Java课的考试,考的我有点害怕. 老师说这是给我们在正式上课之前提个醒,确实,我明白了我在学习方面还有多大的差距,确实,就如我高中同学所说的那样,没事就应该往机房跑了. 在上个学 ...

  7. python初探 socket

    1.什么是socket? Socket中文译作:套接字,但是大家一般约定俗称的都用:socket.我想在解释socket是什么之前,先说它是用来干嘛的:socket是来建立‘通信’的基础,建立连接,传 ...

  8. VMware虚拟机上配置nginx后,本机无法访问问题

    nginx装在CentOS上,用本机访问虚拟机的时候却出现了不能访问的问题,查了资料以后,原来是防火墙的问题.具体情况如下:防火墙可以ping通虚拟机,虚拟机也可以ping通防火墙.接着检查了服务器端 ...

  9. day1作业(格式化输出)

    练习:用户输入姓名.年龄.工作.爱好 ,然后打印成以下格式------------ info of Egon -----------Name  : EgonAge   : 22Sex   : male ...

  10. join,fromkeys(),深浅拷贝

    1. 补充基础数据类型的相关知识点 1. str. join() 把列表变成字符串例 # s= "哈哈"# s1=s.join('-')# print(s1)# s="呵 ...