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. SSH框架总结(环境搭建+框架分析+实例源码下载)

    一.SSH框架简介 SSH是struts+spring+hibernate集成的web应用程序开源框架. Struts:用来控制的,核心控制器是Controller. Spring:对Struts和H ...

  2. Sep 10th 2018

    今天是教师节,祝家里的两位‘老师’节日快乐.一位是幼儿园的保健医,另一位是驾校的教练.不能说是真正的老师,但作的也是传道授业之工作.今天看到新闻,马云要在明年的今天辞去现任阿里巴巴主席一职,继续投身他 ...

  3. /storage/xx-xx/, /sdcard, /mnt/sdcard 三者的区别

    本文针对Android 7.1 /sdcard是/mnt/sdcard的符号链,指向/storage/self/primary, /mnt/sdcard,也是符号链,指向/storage/self/p ...

  4. Mysql-Client编码问题

    Mysql编码问题! 首先,安装完mysql之后,登录进去(从控制台), 先要查看mysql编码:SHOW VARIABLES LIKE 'char%': (我这里是修改好的) 如果是没修改的,因为当 ...

  5. HBase分布式集群部署与设计

    先是把cdh版本的hbase上传上来 把安装吧的权限设置一下 解压 把没用的东西干掉 hbase的官网 配置文件 到hbase-site.xml 下面我不基于HA配置了 把hbase分发到其他两个节点 ...

  6. JavaScript Best Practices (w3cschool)

    JavaScript Best Practices (w3cschool) Local Variables: ·      总是在前面集中定义变量,(包括 for 的i).(strict mode) ...

  7. ES6学习笔记<五> Module的操作——import、export、as

    import export 这两个家伙对应的就是es6自己的 module功能. 我们之前写的Javascript一直都没有模块化的体系,无法将一个庞大的js工程拆分成一个个功能相对独立但相互依赖的小 ...

  8. django+uwsgi+nginx+sqlite3部署+screen

    note:可通过该命令查找文件未知 sudo find / -name filename 一:项目(github) ssh root@server ip         #  连接你的服务器 git ...

  9. uva-188-枚举

    题意:直接模拟 注意,w[i]不能是0 #include <string> #include<iostream> #include<map> #include< ...

  10. 《算法》第五章部分程序 part 8

    ▶ 书中第五章部分程序,包括在加上自己补充的代码,适用于基因序列的 2-Bit 压缩算法,行程长压缩算法,Huffman 压缩算法,LZW 压缩算法 ● 适用于基因序列的 2-Bit 压缩算法 pac ...