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 ...
随机推荐
- centos6.2 安装Mysql5.6
1. mysql官网下载rpm包 [root@slave2 home]# ls hbase hive mysql mysql57-community-release-el6-11.noarch. ...
- 通过Xshell来访问和连接Linux
Xshell初使用:Xshell资源下载 刚刚接触Xshell是在javamail中的telnet收发邮件,然而这个我们并不常用,用的最多的是Xshell进行访问和连接远程主机. 通过Xshell来访 ...
- vue 要点
一: 1. 如果在实例创建之后添加新的属性到实例上,它不会触发视图更新. 2. v-show 的元素会始终渲染并保持在 DOM 中.v-show 是简单的切换元素的 CSS 属性 display.
- FastDFS+Nginx+fastdfs-nginx-module集群搭建
一.实验环境说明 操作系统: Centos 6.6 x64 FastDFS 相关版本: fastdfs-5.05 fastdfs-nginx-module-v1.16 libfastcommon-v1 ...
- Django中的跨表查询,多表查询。
一:Django中的ORM进行操作. 必须掌握的十三条: <1> all(): 查询所有结果 <2> filter(**kwargs): 它包含了与所给筛选条件相匹配的对象 & ...
- 测试oracle数据库连接
1.ping 192.168.0.12.telnet 192.168.0.1 1521 按下ctrl+] 组合键出现命令回显才是端口连接成 3.tnsping 192.168.0.1:1521/db
- nginx安装环境
1 nginx安装环境 nginx是C语言开发,建议在linux上运行,本教程使用Centos6.5作为安装环境. n gcc 安装nginx需要先将官网下载的源码进行编译,编译依赖gcc环境,如果没 ...
- JS静态变量和函数、实例变量和函数以及prototype 说明
静态变量.函数 当定义一个函数后通过 “.”为其添加的属性和函数,通过对象本身仍然可以访问得到,但是其实例却访问不到,这样的变量和函数分别被称为静态变量和静态函数,用过Java.C#的同学很好理解静态 ...
- 【Selenium-WebDriver自学】Log4J的设置(十五)
==================================================================================================== ...
- 自动化脚本编写环境部署_win7(RF)
第一步 安装Python并设置环境变量 1.安装python: python下载地址https://www.python.org/,建议用2.7.x版本 2.设置环境变量: 方法如下所示 第二步 安 ...