首先,关闭selinux和防火墙(二次修改版本)

我们需要安装的软件如下

dhcp(用来获取ip) tftp-server httpd syslinux(不安装这个后面会没有pxelinux.0这个文件) system-config-kickstart.noarch(用来得到安装系统时代替手动选择的配置文件) vsftpd tftp xinetd(管理tftp或者vsftpd的,具体不是很懂)

下载iso系统光盘

cd /usr/local/src

wget -c http://mirrors.163.com/centos/7/isos/x86_64/CentOS-7-x86_64-DVD-1611.iso

mkdir /mnt/cdrom 创建一个文件夹,用来挂载系统光盘

mount -o loop CentOS-7-x86_64-DVD-1611.iso /mnt/cdrom

把系统光盘里面的文件全都复制到网站目录下

cp -rf /mnt/cdrom/* /var/www/html -rf是强制递归复制所有文件的意思

除此之外,还需要把系统光盘里面的文件复制到vsftpd文件夹里面

cp -rf /mnt/cdrom/* /var/ftp

修改tftp配置文件/etc/xinetd.d/tftp

把里面的disable的值改为no即可

[root@bogon ~]# cat /etc/xinetd.d/tftp
# 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
disable = no
per_source = 11
cps = 100 2
flags = IPv4
}
[root@bogon ~]#

重启xinetd

systemctl restart xinetd

然后复制各种文件到tftp

cp /usr/share/syslinux/pxelinux.0 /var/lib/tftpboot/
cp /var/www/html/images/pxeboot/initrd.img /var/lib/tftpboot/
cp /var/www/html/images/pxeboot/vmlinuz /var/lib/tftpboot/
cp /var/www/html/isolinux/*.msg /var/lib/tftpboot/
cp /var/www/html/isolinux/vesamenu.c32 /var/lib/tftpboot/
cd /var/lib/tftpboot/
mkdir pxelinux.cfg
cp /var/www/html/isolinux/isolinux.cfg /var/lib/tftpboot/pxelinux.cfg/default
cp /usr/share/doc/dhcp-4.2.5/dhcpd.conf.example /etc/dhcp/dhcpd.conf #这个路径是需要根据自己的实际情况写的,多用tab补全是个好办法

配置dhcp配置文件/etc/dhcp/dhcpd.conf,把文件内容修改为如下所示

我是在虚拟机上做的实验,进行上面操作时,我使用的桥接模式,进行配置dhcp时就需要改为仅主机模式(host-only)了,改好之后,我的ip为192.168.190.128(需要根据自己的实际情况修改)

[root@localhost ~]# cat /etc/dhcp/dhcpd.conf
#
# DHCP Server Configuration file.
# see /usr/share/doc/dhcp*/dhcpd.conf.example
# see dhcpd.conf(5) man page
#
allow booting;
allow bootp;
ddns-update-style interim;
ignore client-updates;
subnet 192.168.190.0 netmask 255.255.255.0 {
option subnet-mask 255.255.255.0;
option domain-name-servers 192.168.190.128;
range dynamic-bootp 192.168.190.100 192.168.190.200;
default-lease-time 21600;
max-lease-time 43200;
next-server 192.168.190.128;
filename "pxelinux.0";
} [root@localhost ~]#

重启dhcpd服务

systemctl restart dhcpd

接下来,我们来配置一下自动安装配置文件

在图形界面模式打开终端执行命令system-config-kickstart,逐个进行配置,配置好之后(设置root密码,系统安装方式选ftp,磁盘自定义需要自己分配,否则在自动安装过程中需要人工配置,还有需要选中新建boot loader),点击左上角的file,选择保存位置到桌面,这时候查看ls ~会发现有一个anaconda-ks.cfg文件,把这个文件复制到/var/www/html/ks.cfg,最好给这个文件赋予所有人读取的权限

还需要修改tftpd文件/var/lib/tftpboot/pxelinux.cfg/default

在第一行插入url –url=http://192.168.190.128/ks.cfg

大概在第64行左右把append那条语句修改成为如下语句

append initrd=initrd.img inst.stage2=ftp://192.168.192.128 ks=http://192.168.190.128/ks.cfg quiet

然后重启httpd,dhcpd,xinetd,ftpd等等服务

然后在vm里新建一个虚拟机,选择自定义安装,一路默认,除了选择网络连接模式那里,选择host-only,还有一个就是选择随后再安装,然后启动虚拟机,系统就会自动安装了

我遇到过/dev/root no exits的问题,后来加大内存和硬盘,就可以正常安装了。。。(另外,如果我们在用U盘安装系统时遇到这个问题,可以吧ftp://192.168.192.128那里改为U盘的名称)

我还遇到过系统已经自动安装完毕,但是重启后,卡在开机那里黑屏,无法正常开机,其实,就是因为我没有在配置那个ks.cfg文件时选择新建boot loader造成的

Centos7使用PXE+Kickstart无人值守安装服务的更多相关文章

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

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

  2. 使用PXE+Kickstart无人值守安装服务

    一.      配置DHCP服务程序 1)      按照图在虚拟机的虚拟网络编辑器中关闭自身的DHCP服务. 2)      当挂载好光盘镜像并把Yum仓库文件配置妥当后,就可以安装DHCP服务程序 ...

  3. Linux基础学习-使用PXE+Kickstart无人值守安装服务

    无人值守安装系统 PXE(Preboot eXecute Environment,预启动执行环境)是由Intel公司开发的技术,可以让计算机通过网络来启动操作系统(前提是计算机上安装的网卡支持PXE技 ...

  4. CentOS 6.5下PXE+Kickstart无人值守安装操作系统centos7.3

    CentOS 6.5下PXE+Kickstart无人值守安装操作系统centos7.3 一.简介 1.1 什么是PXE PXE(Pre-boot Execution Environment,预启动执行 ...

  5. pxe+kickstart 无人值守安装CentOS7.1

     CentOS6.6下PXE+Kickstart无人值守安装CentOS7.1操作系统 一.简介 1.1 什么是PXE Pxe(Pre-boot Execution Environment,预启动执行 ...

  6. CentOS 6.6下PXE+Kickstart无人值守安装操作系统

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

  7. PXE+kickstart无人值守安装CentOS 7

    kickstart+cobbler系列文章:http://www.cnblogs.com/f-ck-need-u/p/7048359.html 本文是PXE+kickstart无人值守安装CentOS ...

  8. (转)PXE+kickstart无人值守安装CentOS 7

    kickstart+cobbler系列文章:http://www.cnblogs.com/f-ck-need-u/p/7048359.html 本文是PXE+kickstart无人值守安装CentOS ...

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

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

随机推荐

  1. 卷积与反卷积以及步长stride

    1. 卷积与反卷积 如上图演示了卷积核反卷积的过程,定义输入矩阵为 I(4×4),卷积核为 K(3×3),输出矩阵为 O(2×2): 卷积的过程为:Conv(I,W)=O 反卷积的过称为:Deconv ...

  2. 使用gitblit搭建自己的代码存储仓库

    一.基本准备: 服务器:阿里云的windows server 2008 r2 64位 相关软件: 1.java的jdk包: 2.gitblit程序包(这个不用安装,是绿色的). 二.安装步骤 1.下载 ...

  3. 图的邻接矩阵存储实现,C++描述

    body, table{font-family: 微软雅黑; font-size: 13.5pt} table{border-collapse: collapse; border: solid gra ...

  4. node(1) npm是什么?node的异步概念

    NPM是随同的NodeJS一起安装的包管理工具 他可以做什么? 1.可以从NPM服务器下载别人的东西使用 2.可以把自己的东西传到NPM服务器,让别人下载使用 淘宝的镜像会快一点      cnpm ...

  5. SpringMVC @RequestParam和@RequestBody的区别

    问题:@Requestbody 用的时候遇到400和415错误,因为请求格式不对. @RequestBody @RequestBody能把简单json结构参数转换成实体类,如下代码: @Request ...

  6. DevExpress WinForms v18.2新版亮点(五)

    行业领先的.NET界面控件2018年第二次重大更新——DevExpress v18.2日前正式发布,本站将以连载的形式为大家介绍各版本新增内容.本文将介绍了DevExpress WinForms v1 ...

  7. PM2报错‘Spawning PM2 daemon with pm2_home...’的解决方案

    问题 在某次因为SRE升级域名问题,导致了Node服务器代码死循环了,产生的504(Gateway timeout)错误. 登录到机器上看,正在用pm2查问题的原因中,突然发现错误从504变成的502 ...

  8. UBUNTU安装 Rabbitvsc可视化版本控制客户端软件

    sudo add-apt-repository ppa:rabbitvcs/ppa sudo apt-get update sudo apt-get install rabbitvcs-core ra ...

  9. cc、gcc、g++、CC的区别概括

    gcc是C编译器:g++是C++编译器:linux下cc一般是一个符号连接,指向gcc:gcc和g++都是GUN(组织)的编译器.而CC则一般是makefile里面的一个名字,即宏定义,嘿,因为Lin ...

  10. C# string 与 String的区别

    C# string 与 String的区别 The string type represents a string of Unicode characters. string is an alias ...