kickstart自动安装部署RHEL7
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的更多相关文章
- centos7/rhel7下配置PXE+Kickstart自动安装linux系统
应用场景:临时安装一个系统或者批量安装linux系统,无需人工介入选择下一步,减少在安装系统上的时间浪费,提高工作效率. DHCP + TFTP + Syslinux + FTP + Kickstar ...
- 使用光盘iso实现Linux操作系统的自动安装部署
前边写了一篇使用 PXE 的方式批量安装操作系统,不是任何时候任何地方都有环境来通过 PXE 方式来进行安装.如果此时需要通过光盘安装,默认的情况下是通过交互式方式进行安装,其实也可以通过 kicks ...
- linux系统PXE+Kickstart自动安装系统
一.PXEPXE(Pre-boot Execution Environment,预启动执行环境)是由Intel公司开发的最新技术,工作于Client/Server的网络模式,支持工作站通过网络从远端服 ...
- PXE+kickstart自动安装ubuntu14.04
本文参考了诸多文章,先感谢这些文章的作者. 使用pxe安装系统需要安装dhcp,tftp,http等服务(当然也可以使用其他文件共享方式比如nfs,ftp). 实验环境: 1. vmware 12 2 ...
- PXE+Kickstart 全自动安装部署CentOS7.4
一.简介 1.什么是PXE PXE(preboot execute environment,预启动执行环境)是由Intel公司开发的最新技术,工作于Client/Server的网络模式,支持工作站通过 ...
- CentOS 7.2 下 PXE+kickstart 自动安装系统
一.简单概述 1.1 Kickstart 概述 对于网络安装系统,在linux 下面最熟悉的应该就是 Kickstart 以及 cobbler.写这篇文章的目的在于我公司目前使用的就是 Kicksta ...
- PXE+Kickstart 自动安装CentOS系统
PXE (preboot execcute environment) 依赖服务 dhcp tftp file server (yum repository) 准备TFTP服务器 如何配置TFTP服务 ...
- linux kickstart 自动安装
最近很多业务系统都是linux lnmp平台安装,反复的安装让人觉得很苦恼,仔细钻研了下kickstart .这里环境是red hat linux 5.8 32位,系统盘中的软件包里包含有kickst ...
- s32 kickstart 批量自动安装系统
1. 自动安装操作系统 http://blog.oldboyedu.com/autoinstall-kickstart/ 自动安装操作系统的解决方案:kickstart.cobbler(披着web ...
随机推荐
- mysql数据库数据备份与恢复
备份数据: C:\Users\Administrator>mysqldump -uroot --password -v test01 test02 >e:\temp\\a3.sql Ent ...
- CentOS7 设置集群时间同步
1. 安装ntp时间同步工具 yum -y install ntp ntpdate #安装ntpdate时间同步工具 ntpdate cn.pool.ntp.org #设置时间同步 hwclock - ...
- 备用DNS域名服务器
DNS:1.34.151.129,域名:www#eliuliang#com, 个人用解析地址,请勿使用.
- python-docx编辑word表格
一.修改数据类型(中英) 需求: 代码: #-*-coding:gbk*- import os import docx #from docx.enum.table import WD_TABLE_AL ...
- JS面试典型常见问题与解答
Q1:下面代码段的输出是什么? 为什么? (Scope) (function() { var a = b = 5; })(); console.log(b); A1: 输出是5. 在上面的立即调用函数 ...
- java第一次考试
这是我们开学的第一次Java课的考试,考的我有点害怕. 老师说这是给我们在正式上课之前提个醒,确实,我明白了我在学习方面还有多大的差距,确实,就如我高中同学所说的那样,没事就应该往机房跑了. 在上个学 ...
- python初探 socket
1.什么是socket? Socket中文译作:套接字,但是大家一般约定俗称的都用:socket.我想在解释socket是什么之前,先说它是用来干嘛的:socket是来建立‘通信’的基础,建立连接,传 ...
- VMware虚拟机上配置nginx后,本机无法访问问题
nginx装在CentOS上,用本机访问虚拟机的时候却出现了不能访问的问题,查了资料以后,原来是防火墙的问题.具体情况如下:防火墙可以ping通虚拟机,虚拟机也可以ping通防火墙.接着检查了服务器端 ...
- day1作业(格式化输出)
练习:用户输入姓名.年龄.工作.爱好 ,然后打印成以下格式------------ info of Egon -----------Name : EgonAge : 22Sex : male ...
- join,fromkeys(),深浅拷贝
1. 补充基础数据类型的相关知识点 1. str. join() 把列表变成字符串例 # s= "哈哈"# s1=s.join('-')# print(s1)# s="呵 ...