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 ...
随机推荐
- UE4里的自定义深度功能
转自:http://www.52vr.com/article-1866-1.html 随着物理渲染系统的发布,虚幻引擎4同时引进了一个新的深度缓存功能,它叫作“自定义深度”,可以用于诸如编辑器里的选择 ...
- 转]GSM模块信号强度CSQ与RSSI的对应关系
使用GSM或者3G模块时,都会接触到信号强度CSQ.通过指令AT+CSQ,模块返回当前的信号质量,例如: AT+CSQ +CSQ: 28,0 其中28就是信号强度CSQ,但它不是真实的CSQ,他应该叫 ...
- LEGB
找寻变量的调用顺序采用LEGB原则(即就近原则) B —— Builtin(Python):Python内置模块的命名空间 (内建作用域) (内置命名空间) G —— Global(module): ...
- $.extend与$.fn.extend()
很多情况下,用户需要对jQuery插件进行二次开发,那么我们来看看JQ原开发者为我们提供的两种扩展插件的方式如下: 1.类别类:相当于为jquery扩展一个类,比如现在我要扩展一个简单的想加的功能函数 ...
- better-scroll高度问题
better-scroll无法滚动主要2方面原因,1)层级关系.2)高度问题
- ELK新手教程——pomelo + log4js + ELK(一)
随着项目越来越庞大,日志的数量也随之增多,游戏上线后的日志量肯定更多了,所以对日志的收集.存储.查询就非常重要了,开源界第一日志分析系统ELK必不可少. ELK系统由Elasticsearch(分布式 ...
- Linux Git install
1.介绍 使用Coding管理项目,上面要求使用的git版本为1.8.0以上,而很多yum源上自动安装的git版本为1.7,所以需要掌握手动编译安装git方法. 2.安装git依赖包 yum inst ...
- js解析多层嵌套的json,取出所有父元素属性和遍历所有子元素
已知一个多层嵌套的json,取出所有父元素和子元素的id值 思路:因为不知道到底嵌套了多少层,递归有可能造成栈溢出.查询时间特别久的问题 所以先查询一次,判断是否有子节点,如果有,取出子节点并到父节点 ...
- Linux终端小技巧
注释:以下都是自己遇到的问题,问题太多也记不住,每次上网查找又比较麻烦,索性记录一下随笔! 1.进程的挂载与运行 暂停运行一个进程:Ctrl+Z 其中这个进程可再被操作,如:后台运行.再次运行等 ...
- 20165205 2017-2018-2 《Java程序设计》第八周学习总结
20165205 2017-2018-2 <Java程序设计>第八周学习总结 教材学习内容总结 进程与线程 线程不是进程,但其行为很像进程,线程是比进程更小的执行单位. 与进程不同,线程的 ...