centos7下进行kickstart配置

配置kickstart时需要pxe芯片,为获取ip地址

1、先安装dhcpd服务器

yum install -y dhcpd

1-1.配置dhcp的配置文件

    # cat /etc/dhcp/dhcpd.conf
subnet 172.16.1.0 netmask 255.255.255.0 {
range 172.16.1.85 172.16.1.95;
option subnet-mask 255.255.255.0;
default-lease-time 21600;
max-lease-time 43200;
next-server 172.16.1.80;
filename "/pxelinux.0";
}

1-2.启动dhcpd服务

systemctl start dhcpd.service

systemctl enable dhcpd.service

1-3.安装lsof软件

yum install -y lsof

1-4.查看dhcpd启动情况

    [root@centos7-4 dhcp]# lsof -i :67
COMMAND PID USER   FD   TYPE DEVICE SIZE/OFF NODE NAME
dhcpd   7865 dhcpd   7u IPv4 43468     0t0 UDP *:bootps

1-5.挂载光盘

#mount /dev/centos7 /var/www/html/centos7

2、安装tftp服务

yum install -y xinetd tftp-server httpd

2-1、进行xinetd的配置

[root@centos7-4 xinetd.d]# cat /etc/xinetd.d/tftp   #查看tftp在xinetd下的配置
# default: off
# description: The tftp server serves files using the trivial file transfer \
# protocol. The tftp protocol is often used to boot diskless \
# workstations, download configuration files to network-aware printers, \
# and to start the installation process for some operating systems.
service tftp
{
socket_type = dgram
protocol = udp
wait = yes
user = root
server = /usr/sbin/in.tftpd
server_args = -s /var/lib/tftpboot #/var/lib/tftpboot启动文件目录
disable = no #允许使用xinetd来启动tftp
per_source = 11
cps = 100 2
flags = IPv4
}

2-2、配置好了tftp服务后,并重新启动一下xinetd服务

systemctl restart xinetd #tftp服务受xinetd服务管理的

lsof -i :69

3、拷贝重要的文件

# cd /var/www/html/centos7/isolinux/
# cp vmlinuz /var/lib/tftpboot/ #其中vmlinuz为linux启动的内核文件
# cp initrd.img /var/lib/tftpboot #initrd.img为linux启动的驱动文件
# cp vesamenu.c32 /var/lib/tftpboot/ #启动框架文件

4、安装syslinux软件,取出pxelinux.0文件

#yum install -y syslinux
#rpm -ql syslinux
# cd /usr/share/syslinux/
# mkdir -p /var/lib/tftpboot/pxelinux.cfg #新建目录pxelinux.cfg
# cp /usr/share/syslinux/pxelinux.0 /var/lib/tftpboot/ #linux启动代码
#cd /var/www/html/centos7/isolinux
# cp isolinux.cfg /var/lib/tftpboot/pxelinux.cfg/default #拷贝isolinux.cfg到此目录下,并命令为default
# cp reboot.c32 /var/lib/tftpboot/ #把重启框架文件拷贝到/var/lib/tftpboot目录中

5、配置default文件

# cat /var/lib/tftpboot/pxelinux.cfg/default 
#kickstart centos7 configure by gordon.wang
default linux
timeout 50
prompt 0
label linux #要与default显示的字符一致
kernel vmlinuz
append initrd=initrd.img ks=http://172.16.1.80/ks_config/centos7-ks.cfg ksdevice=eth1 net.ifnames=0 biosdevname=0 #把网卡名由ens变更为eth,并从cento7-ks.cfg中引导启动;

6、配置centos7-ks.cfg文件

# cat  /var/www/html/ks_config/centos7-ks.cfg 
#kickstart centos7 configure by gordon.wang
install
url --url="http://172.16.1.80/centos7/"
text
lang en_US.UTF-8
keyboard us
zerombr #初始化所有可在磁盘中找到的有效分区表
bootloader --location=mbr --driveorder=sda --append="crashkernel=auto rhgb quiet"
network --bootproto=static --device=eth0 --gateway=10.0.0.254 --ip=10.0.0.85 --nameserver=223.5.5.5 --netmask=255.255.255.0 --activate
network --bootproto=static device=eth1 --ip=172.16.1.85 --netmask=255.255.255.0 --activate
network --hostname=kickstart
timezone --utc Asia/Shanghai
authconfig --enableshadow --passalgo=sha512 #authconfig为系统设置认证选项,--enableshadow为使用影子密码
rootpw --iscrypted $6$X20eRtuZhkHznTb4$dK0BJByOSAWSDD8jccLVFz0CscijS9ldMWwpoCw/ZEjYw2BTQYGWlgKsn945fFTjRC658UXjuocwJbAjVI5D6/ #rootpw --iscrypted加密密码参数
加密命令:python -c 'import crypt;print(crypt.crypt("my passwd"))',其中my passwd为要设置的密码
clearpart --all --initlabel #clearpart从系统中删除分区要在生成新分区之前完成;
part /boot --fstype xfs --size 1024
part swap --size 1024
part / --fstype xfs --size 1 --grow #参数--grow是把硬盘所有的容量全部给/
firstboot --disable #禁用initial setup程序在第一次引导系统时启动;
selinux --disabled
firewall --disabled
logging --level=info #logging在安装过程中anaconda出错日志
reboot

%packages
@^minimal
@compat-libraries
@debugging
@development
tree
nmap
sysstat
lrzsz
dos2unix
telnet
wget
vim
bash-completion
net-tools
%end

%post
systemctl disable postfix.service
%end

7、启动httpd服务

#如果没有安装httpd服务,请执行安装服务

#yum install -y httpd

#systemctl start httpd

#lsof -i :80

#curl http://172.16.1.80/centos7 #检查网站

8、现在就进行安装就可以了;

PXE+Kickstart实现批量化无人值守安装的更多相关文章

  1. PXE+DHCP+TFTP+Cobbler 无人值守安装centos 7

    Cobbler(补鞋匠)是通过将DHCP.TFTP.DNS.HTTP等服务进行集成,创建一个中央管理节点,其可以实现的功能有配置服务,创建存储库,解压缩操作系统媒介,代理或集成一个配置管理系统,控制电 ...

  2. 第19章 使用PXE+Kickstart部署无人值守安装

    章节概述: 本章节将教会您通过PXE+DHCP+TFTP+VSftpd+Kickstart服务程序搭建出无人值守安装系统,从而批量部署客户机系统. 这种系统能够实现自动化运维.避免了重复性劳动,帮助提 ...

  3. 《Linux就该这么学》培训笔记_ch19_使用PXE+Kickstart无人值守安装服务

    <Linux就该这么学>培训笔记_ch19_使用PXE+Kickstart无人值守安装服务 文章最后会post上书本的笔记照片. 文章主要内容: 无人值守系统 部署相关服务程序 配置DHC ...

  4. 基于网络的 Red Hat 无人值守安装

    基于网络的 Red Hat 无人值守安装 本文介绍了 PC 平台上的一种快速 Red Hat Linux 安装方案.它具有很高的自动化程度--用户只需手工启动机器并选择从网络启动,就可以完成整个安装过 ...

  5. 搭建无人值守安装服务器(CentOS)

    使用PXE+DHCP+TFTP+Kickstart+FTP搭建无人值守安装服务器.一般只有频繁安装系统才会搭建无人值守安装服务器. 虚拟机环境:youxi1,CentOS7系统双网卡,一个网卡桥接模式 ...

  6. Vmware部署Linux无人值守安装Centos7系统

    Linux - 无人值守安装服务 # 需求分析 - 使用光盘镜像来安装 Linux 系统的方式; 坦白讲, 该方法适用于只安装少量 Linux 系统的情况, 如果生产环境中有数百台服务器都需安装系统, ...

  7. PXE+Kickstart+DHCP+TFTP实现无人值守安装操作系统

    PXE+Kickstart+DHCP+TFTP实现无人值守安装操作系统 PXE + Kickstart PXE的工作流程及配置文件 Kickstart的配置文件 Linux安装大致可以分为2个阶段 第 ...

  8. [转]CentOS 6.4下PXE+Kickstart无人值守安装操作系统

    一.简介 1.1 什么是PXE PXE(Pre-boot Execution Environment,预启动执行环境)是由Intel公司开发的最新技术,工作于Client/Server的网络模式,支持 ...

  9. CentOS6 PXE+Kickstart无人值守安装

    一.简介 1.1 什么是PXE PXE(Pre-boot Execution Environment,预启动执行环境)是由Intel公司开发的最新技术,工作于Client/Server的网络模式,支持 ...

随机推荐

  1. 【VS开发】ATL辅助COM组件开发

    有些时候在程序的编写过程中我们会跨语言写一些东西,比如在C#中使用到C++,这个时候COM的出现就很好的解决了这一问题,我们如何来创建并且编写COM组件呢? 一.首先:创建一个ATL项目,如下图所示: ...

  2. 【FFMPEG】ffmpeg 时间戳问题汇总

    ffmpeg 时间戳问题汇总 http://www.cnblogs.com/loveclover/archive/2011/03/23/1993065.html 问题是这样的 用一个 VLC(流媒体客 ...

  3. SolidWorks学习笔记8 包覆,圆顶

    包覆 在该平面上创建草图,点击A,创建文字 在左侧取消勾选“使用文档字体”,点击字体,重新设置高度,字体. 在草图上点击来放置. 点击特征->包覆, 在模型树中选择有文字的草图 这里面 选择圆柱 ...

  4. git 命令 查看历史提交 git log

    怎么理解git commit 命令 git commit 相当于 我们虚拟机快照操作,每次执行commit命令 相当于对本地仓库做一次快照,保存了当时仓库的状态, git commit -m 加上的& ...

  5. 3道入门字典树例题,以及模板【HDU1251/HDU1305/HDU1671】

    HDU1251:http://acm.hdu.edu.cn/showproblem.php?pid=1251 题目大意:求得以该字符串为前缀的数目,注意输入格式就行了. #include<std ...

  6. [转帖]PostgreSQL的用户、角色和权限管理

    PostgreSQL的用户.角色和权限管理 2018年05月18日 14:02:29 jerry-89 阅读数 6143 https://blog.csdn.net/eagle89/article/d ...

  7. redis db0-15 的概念

    redis默认有db0~db15之多. redis有没有什么方法使不同的应用程序数据彼此分开同时又存储在相同的实例上呢?就相当于mysql数据库,不同的应用程序数据存储在不同的数据库下. redis下 ...

  8. spring-boot 使用servlet2.5(四)

    环境 jdk 6 tomcat 6.0.53 sts 4.4.2 maven 3.2.5 背景 由于环境限制,还在使用 servlet 2.5,所以需要将 spring boot 进行配置,支持 se ...

  9. 输出1-n的全排列dfs

     https://ac.nowcoder.com/acm/contest/998/C #include<stdio.h> #include<iostream> #include ...

  10. Pycharm有必要改的几个默认设置项以及快捷键

    最近在用Pycharm学习Python的时候,总有两个地方感觉不是很舒服,比如调用方法的时候区分大小写(thread就不会出现Thread,string就不会出现String)等,这让我稍稍有点不舒服 ...