服务端

需要3种服务

dhcp + tftp + vsftp

tftp 提供引导 为什么不使用其他协议来进行pxe引导 是因为网卡只会集成tftp这种服务     写明到镜像的方式

dhcp 下发tftp的引导 让其他机器开机能够知道tftp引导

vsftp 提供系统镜像 可以http 也可以是nfs

搭建本地yum源 略

修改自身的ip地址 192.168.100.1 我使用的是这个地址

安装 dhcp tftp vsftp

yum -y install vsftpd

yum -y install tftp-server

yum -y install dhcp

关闭防火墙和selinux

[root@localhost ftp]# systemctl stop firewalld
[root@localhost ftp]# setenforce 0

1.需要一个引导 pxelinux.0

这个文件来自syslinux 这个包

直接安装他

yum -y install syslinux

[root@localhost ~]# rpm -ql syslinux | grep linux.0
/usr/share/syslinux/gpxelinux.0
/usr/share/syslinux/pxelinux.0

过滤 安装成功 复制它到tftp下

cp /usr/share/syslinux/pxelinux.0 /var/lib/tftpboot/

这时候有了pxelinux.0 但是需要配置文件

mkdir pxelinux.cfg 创建配置文件

复制光盘中isolinux/isolinux.cfg 取名叫default

cp /media/cdrom/isolinux/isolinux.cfg /var/lib/tftpboot/pxelinux.cfg/default

修改default

第2行 time out 时间列表 存在时间 修改100

第61行 添加一个menu default 把67行的去掉

修改为ftp append initrd=initrd.img inst.stage2=ftp://192.169.100.1/pub quiet

还需要点其他文件 把isolinux 下的文件复制到目录下

[root@localhost tftpboot]# cp /media/cdrom/isolinux/* ./

开始配置dhcp

下发到tftp的方式

[root@localhost tftpboot]# vi /etc/dhcp/dhcpd.conf

subnet 192.168.100.0 netmask 255.255.255.0 {   网段
option routers 192.168.100.1;                              网关

range 192.168.100.20 192.168.100.200   ;          只分配20到200的ip

next-server 192.168.100.1;                                  服务器  tftp服务器的ip
filename "pxelinux.0";                                          文件
max-lease-time 20000;                                         租期

option domain-name-servers 114.114.114.114;       dns
}

系统镜像放在 ftp 默认目录下

mount /dev/cdrom /var/ftp/pub/

重启服务 三个服务

开一台客户机 就可以进行安装了

2。 无人职守安装 centos7

这里需要用到

system-config-kickstart-2.9.6-1.el7.noarch

yum install system-config-kickstart -y

需要用到桌面来生成

也可以使用第三方窗口 打开 比如xmanage 这样不用安装 桌面 省下一些时间  隧道给xmanage

system-config-kickstart 打开

打开后

这个时候软件包是无法选择的

这是因为centos7中的kickstart需要使用自己的包仓库,这时我们只需要在/etc/yum.repo.d/目录下编辑一个名叫develop的仓库就可以。
我的解决方法是:vi /etc/yum.repo.d/development.repo
[development]
name=development
baseurl=http://172.16.0.1/cobbler/ks_mirror/CentOS-7-1511-x86_64/
gpgcheck=0

enable=1

选择完后 选择 左上角预览  复制 生成ks 放在ftp目录下 pub的 取名为ks.cfg

修改下tftp default 的内容

install centos 7

修改成

append initrd=initrd.img inst.ks=ftp://192.168.100.1/ks.cfg quiet

开机 应该就行了

linux pxe 安装Centos7的更多相关文章

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

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

  2. LInux系统@安装CentOS7虚拟机

    安装Centos7虚拟机 1.打开VMware,点击创建新的虚拟机(至关重要) 2.选择自定义配置,点击下一步 3.选择虚拟机硬件兼容性<Workstation 12.0>,点击下一步 4 ...

  3. Linux的安装 CentOS-7.1

    说明: 首先,版本:7.1版:CentOS-7-x86_64-Everything-1503-01.iso 下载自:http://mirrors.163.com/centos/7/isos/x86_6 ...

  4. 使用PXE安装CentOS7

    1.环境 本文使用VMware 虚拟机进行实验. 点击VMware--编辑--虚拟网络编辑器,新建VMnet15,选择仅主机模式,取消勾选DHCP服务(因为这里使用自己的DHCP服务).我这里配好后是 ...

  5. Linux PXE自动化安装centos6,centos7系统

    1.PXE是什么? pxe是Preboot Excution Environment的缩写,是intel公司研发,基于client/server的网络模式,支持远程主机通过网络从远端服务器下载镜,并由 ...

  6. Linux 环境安装 Node、nginx、docker、vsftpd、gitlab

    Linux 环境安装 centos7 # 更新yum yum update -y 0. 防火墙 firewalld 新入的JD云服务器,发现防火墙默认是关闭的. # 查看防火墙状态 systemctl ...

  7. Centos7使用pxe安装KVM虚拟机

    Centos7使用pxe安装KVM虚拟机 一.安装服务所需的软件 [root@localhost ~]yum install nginx dhcp vsftpd syslinux -y [root@l ...

  8. 利用PXE引导安装centos7

    # 利用PXE引导安装centos7 # ###简介### > PXE (Pre-boot Execution Environment,PXE client 在网卡的 ROM 中,当计算机引导时 ...

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

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

随机推荐

  1. Set集合特点

    1,无序(存储和读取的顺序可能不一样) 2,不允许重复(要求元素唯一) 3,无索引

  2. day52类型转换 运算符 流程控制

    0.复习 1.导入 <div id="div1" onclick="this.style.color = 'red';">12345</div ...

  3. docker+efk+.net core部署

    部署环境 centos7 本主要利用efk实现日志收集 一.创建docker-compose es地址:https://www.elastic.co/guide/en/elasticsearch/re ...

  4. Celery 1

    Celery是一个用Python开发的异步的分布式任务调度模块 Celery有以下优点: 简单:一但熟悉了celery的工作流程后,配置和使用还是比较简单的 高可用:当任务执行失败或执行过程中发生连接 ...

  5. ThreadPoolExecutor源码详解

    ExecutorService使用线程池中可用的线程执行每个提交的任务,这些线程通常都是使用工厂方法配置 线程池解决两种不同的问题:提高处理大量异步任务的性能(通过减少每个线程的唤醒时间) 提供一种管 ...

  6. springmvc接收ajax传递的数组

    之前的方法我用字符串拼接.req.getParameter("参数名[]");或json方式.虽然都能用,但是都不太令我满意. 今天参考这个贴子,ajax添加 traditiona ...

  7. jsp请求java返回pdf、excel与word

    1,返回pdf关键代码 /** * @todo * @param * @date 2019年3月8日 * @author yanan */ @RequestMapping("/getPdf& ...

  8. pythone函数基础(12)连接Redis,写数据,读数据,修改数据

    需要导入Resdis模块 import redisip = '127.0.0.1'password='123456'r = redis.Redis(host=ip,password=password, ...

  9. Windows网络发现无法启动

    解决方法: 运行services.msc命令,打开服务界面.分别将Function Discovery Resource Publication.SSDP Discovery.UPnP Device ...

  10. tiny4412--linux驱动学习(2)

    在ubuntu下编写验证字符设备驱动 1,准备工作 uname -r  查看电脑版本信息 apt-get  install  linux-source  安装相应版本的linux内核 2,编写驱动程序 ...