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. Shiro 权限标签

    Shiro 权限标签: 导入标签库: <%@taglib prefix="shiro" uri="http://shiro.apache.org/tags" ...

  2. Python: 如何写一个异常

    例子1 try: #test area function() except Exception, e: print e.message 例子2:用raise抛出一个异常 if bool_var is ...

  3. 转载-----BUFG,IBUFG,BUFGP,IBUFGDS等含义以及使用

    目前,大型设计一般推荐使用同步时序电路.同步时序电路基于时钟触发沿设计,对时钟的周期.占空比.延时和抖动提出了更高的要求.为了满足同步时序设计的要求,一般在FPGA设计中采用全局时钟资源驱动设计的主时 ...

  4. linux xml

    1:xml的基础语法,识别,创建xml文件 xml文件头:<?xml version="1.0" encoding="utf-8"?> 必须要有且 ...

  5. restframwork之序列化

    一 restframwork为我们提供了一个快速实例,方便我们快速理解restframwork的序列化的原理. 快速实例化 Django REST framework API 指南 二 restfra ...

  6. 使用Redis数据库(String类型)

    一 String类型 首先使用启动服务器进程 : redis-server.exe 1. Set 设置Key对应的值为String 类型的value. 例子:向 Redis数据库中插入一条数据类型为S ...

  7. Docker使用札记 - 使用中遇到的问题总结

    1. 启动容器时报错误“: No such file or directory” 一般来说作为容器应用的入口都是entrypoint.sh文件,也就是Dockerfile最后一条指令为是: ENTRY ...

  8. uva-310-L--system-暴力枚举

    题意:输入四个字符串a,b,w,z,经过一定的替换规则,问w或者w的子串中是否包含z. 替换规则如下.w中的字符a全部替换成a字符串,b字符全部替换成b字符串. 枚举过程, 根据替换规则对w进行替换, ...

  9. 1.如何在Cloud Studio上执行Python代码?

    1.在python文件下新建python文件,输入文件名后按Enter键生成,比如: one.py . 2.简单输入python代码: print "haha" 3.打开左下角的终 ...

  10. ucenter

    1 UCenter 的目录结构 2API接口 3返回标签数据示例 (PHP) 4应用接口函数 5短消息接口函数 6积分接口函数 7邮件接口函数 8事件接口函数 9头像接口函数 10好友接口函数 11用 ...