自动安装 linux 系统
实现自动安装 centos 6 和 centos 7
实现自动安装 Linux 系统需要在虚拟机上安装三个服务:apache 、tftp、dhcp
三个服务放在一台虚拟机上即可
一、DHCP 服务器的相关配置
一台干净的机器安装操作系统,需要基于广播机制向 DHCP 服务器获取 IP 地址,所以新的机器的网段需要和 DHCP 服务器在同一个网段;
1、yum install dhcp -y
安装 DHCP 服务
2、rpm -ql dhcp
列出包里面的列表

用划红线的文件当做配置文件的模板,覆盖当前的 dhcp 的配置文件
cp /usr/share/doc/dhcp-4.2.5/dhcpd.conf.example /etc/dhcp/dhcpd.conf
3、vim /etc/dhcp/dhcpd.conf
修改配置文件

1 表示 DHCP 服务器分配的 IP 地址范围
2 表示网关
3 表示 DNS
4 表示域名
5 表示 TFTP 服务器的 IP 地址
6 表示去 TFTP 服务器需要下载的文件
安装操作系统的时候,需要向 DHCP 获取 IP,同时获取的还有 TFTP 服务器的地址和需要去 TFTP 服务器下载的文件;因为系统不知道需要去 TFTP 服务器下载什么,所以指定需要下载的文件
4、systemctl restart dhcpd
重启服务
二、 HTTP 服务器相关配置
1、yum install httpd -y
安装 HTTP 服务
2、cd /var/www/html
3、mkdir centos/{6,7}/os/x86_64 -pv
创建需要挂载光盘的相关目录


4、虚拟机上准备两个光驱
5、vim /etc/fstab

添加两个挂载点
6、mount -a
挂载生效
7、mkdir ksdir
创建存放 centos 6 和 centos 7 应答文件的目录
8、vim ksdir/ks6_desktop.cfg

编辑 centos 6 的应答文件
9、vim ksdir/ks7_mini.cfg


编辑 centos 7 的应答文件,可以加一些自己想设置的一些安装后脚本
10、systemctl start httpd
启动 http 服务
三、TFTP 服务器的相关配置
1、yum install tftp-server -y
安装 TFTP 服务
2、 cd /var/lib/tftpboot
3、mkdir centos{6,7}
创建存放 centos 6 和 centos 7 内核和 initrd 的目录
4、mkdir pxelinux.cfg
创建存放安装菜单的目录
目录名字必须是 pxelinux.cfg,安装的时候,会自动到 /var/lib/tftpboot/pxelinux.cfg 目录下找菜单文件;并且菜单文件名必须是 default
5、cp /var/www/html/centos/7/os/x86_64/isolinux/isolinux.cfg pxelinux.cfg/default
复制一份菜单并且改名字叫 default
6、vim pxelinux.cfg/default
修改菜单

7、yum search pxelinux

安装画红圈的包
yum install syslinux -y
pxelinux 相当于 bootloader ,linux 里表现为 grub ;安装的时候,从 DHCP 服务器获取到 IP 地址后,并且也获取到了 TFTP 服务器的地址和需要下载的 pxelinux.0 文件名;下载 pxeliunx (grub)之后,才可以加载内核,加载小型的 linux 系统,从而挂载操作系统根,然后才能运行安装向导,从而进行安装
找到 grub 后,系统会自动在 TFTP 目录下(/var/lib/tftpboot)寻找安装菜单里面所指定的路径去下载内核和 initrd
8、rpm -ql syslinux | grep menu.c32

这个就是安装菜单文件里面指定的安装菜单的背景图片
9、cp /usr/share/syslinux/menu.c32 ./
把图片拷贝过来
10、拷贝 centos 6 和 centos 7 的内核和 initrd
cp /var/www/html/centos/7/os/x86_64/isolinux/{vmlinuz,initrd.img} centos7/
cp /var/www/html/centos/6/os/x86_64/isolinux/{vmlinuz,initrd.img} centos6/
11、rpm -ql syslinux | grep pxelinux.0

12、cp /usr/share/syslinux/pxelinux.0 ./
把 bootloader 拷贝过来
13、systemctl start tftp
启动 TFTP 服务
准备一台新的虚拟机,新虚拟机的网段必须和 DHCP 服务器在同一个网段
最好自己自定义一个网段,虚拟机自带 DHCP 服务,所以分配 IP 有可能是 虚拟机分配的,为了可以看出 DHCP 服务器的效果,所以主机自定义一个网段

新建的虚拟机也必须是 VMnet10 网段才行,不然无法从 DHCP 服务器获取 IP 地址
因为是干净的系统,所以无法使用硬盘引导,会自动使用网络安装

选择想要安装的 centos 版本
自动安装 linux 系统的更多相关文章
- centos7/rhel7下配置PXE+Kickstart自动安装linux系统
应用场景:临时安装一个系统或者批量安装linux系统,无需人工介入选择下一步,减少在安装系统上的时间浪费,提高工作效率. DHCP + TFTP + Syslinux + FTP + Kickstar ...
- kickstart一键自动安装Linux系统
kickstart,无人值守,自动安装系统.本文介绍kickstart的用法. #安装系统的信息——可以参考 [root@larrywen pdf]# vim ~/anaconda-ks.cfg 第一 ...
- PXE无人值守实现批量化自动安装Linux系统
设想一个场景:假如让你给1000台服务器装系统,你会怎么做?跑去每一台服务器给它安装系统吗?显然不会.. 一.概括 通过网络引导系统的做法可以不必从硬盘.软盘或CD-ROM硬盘,而是完全通过网络来引导 ...
- 基于 cobbler 实现自动安装 linux 系统
使用 cobbler 实现自动安装 centos 6.7系统 1.yum install cobbler -y 安装 cobbler ,有依赖关系,会自动把 TFTP .HTTP 服务安装上:cobb ...
- 学习神器!本机安装虚拟机,并安装Linux系统,并部署整套web系统手册(包含自动部署应用脚本,JDK,tomcat,TortoiseSVN,Mysql,maven等软件)
1. 引言 编写目的 本文档的编写目的主要是在Linux系统上部署mis_v3员工管理系统,方便测试,并为以后开发人员进行项目部署提供参考 准备工作 软件部分 软件项 版本 备注 Mysql 5. ...
- Linux 虚拟机上安装linux系统 (ip:子网掩码,网关,dns,交换机,路由知识回顾)
一 安装虚拟机 二 虚拟机上配置好在安装linux系统 三 知识回顾 交换机:主机在局域网内的身份是MAC地址(可以通过[交换机广播:交换机通过被动学习来建立一张“接口号”和“MAC地址”的对照表]或 ...
- 虚拟机virtualBox安装linux系统 xshell远程连接linux
虚拟机virtualBox安装linux系统 xshell远程连接linux 虚拟机概念: 通过软件, 使用虚拟化技术虚拟出电脑的硬件环境, 充当真实的电脑使用. 常见的虚拟软件: virtualBo ...
- 部署虚拟环境安装Linux系统
目录 准备工作 安装linux系统 重置root管理员密码 源代码编译 R ...
- 第1章 部署虚拟环境安装linux系统
章节简述: 本章节带领读者从0基础了解虚拟机软件与红帽系统,完整的演示了在VM与KVM中安装红帽RHEL7系统的方法. 特别增加了超级实用的Linux系统找回root密码.虚拟机功能增强包.VNC远程 ...
随机推荐
- Nginx基本属性配置详解
1. Nginx服务的基本配置 1.1 用于调试进程和定位问题的配置项 是否以守护进程的方式运行nginx # 默认on daemon on|off; 是否以master/worker方式工作 # 默 ...
- MOOC python笔记(三) 序列容器:字符串、列表、元组
容器概念 容器是Python中的重要概念,分为有序与无序. 有序容器也称为序列类型容器,如:字符串.列表. 通用序列容器操作 容器连接+ 加号可以把两个序列连接成一个更大的容器,相加后两个序列的值并不 ...
- go-接口-反射
接口类型总是代表着某一种类型(即所有实现它的类型)的行为. 一个接口类型的声明通常会包含关键字type.类型名称.关键字interface以及由花括号包裹的若干方法声明. type Animal in ...
- SpringBoot 开发案例之参数传递的正确姿势
前言 开发这么多年,肯定还有不少小伙伴搞不清各种类型的参数是如何传递的,很多同学都是拿来即用,复制粘贴一把撸,遇到问题还是一脸懵逼. 姿势 学习参数传递的正确姿势,先说怎么做,再说为什么,本质上还是复 ...
- 08 python学习笔记-随机生成大乐透号码(八)
1 #产生大乐透号码 2 #前区 1-32,5 后区 1-12,2 3 #1.前区从1-32中级取5个,后区再从1-12里面取2个 4 #01 02 03 04 5 def dlt(): #生成随机大 ...
- 小白学 Python(12):基础数据结构(字典)(上)
人生苦短,我选Python 前文传送门 小白学 Python(1):开篇 小白学 Python(2):基础数据类型(上) 小白学 Python(3):基础数据类型(下) 小白学 Python(4):变 ...
- Docker 实战—使用 Dockerfile 构建镜像
Dockerfile 指令详解请访问:https://www.cnblogs.com/cloudfloating/p/11737447.html 使用 Alpine Linux 作为基础镜像 Alpi ...
- ERP 到底是什么? 一则故事搞懂ERP
你知道什么是ERP? ERP是什么? 你知道什么是ERP吗? (通俗易懂版) 一个故事搞懂“ERP” 一天中午,丈夫在外给家里打电话:“亲爱的老婆,晚上我想带几个同事回家吃饭可以吗?”(订货意向) 妻 ...
- 死磕 java线程系列之线程池深入解析——定时任务执行流程
(手机横屏看源码更方便) 注:java源码分析部分如无特殊说明均基于 java8 版本. 注:本文基于ScheduledThreadPoolExecutor定时线程池类. 简介 前面我们一起学习了普通 ...
- forEach,map,every,some,filter简单用法实例
平时简单总结:不足之处还望见谅: 实例: 11.1 forEach:只能进行取值操作,不能进行修改 arr.forEach(function(element,index,arr){});//注意参数: ...