实现自动安装 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 系统的更多相关文章

  1. centos7/rhel7下配置PXE+Kickstart自动安装linux系统

    应用场景:临时安装一个系统或者批量安装linux系统,无需人工介入选择下一步,减少在安装系统上的时间浪费,提高工作效率. DHCP + TFTP + Syslinux + FTP + Kickstar ...

  2. kickstart一键自动安装Linux系统

    kickstart,无人值守,自动安装系统.本文介绍kickstart的用法. #安装系统的信息——可以参考 [root@larrywen pdf]# vim ~/anaconda-ks.cfg 第一 ...

  3. PXE无人值守实现批量化自动安装Linux系统

    设想一个场景:假如让你给1000台服务器装系统,你会怎么做?跑去每一台服务器给它安装系统吗?显然不会.. 一.概括 通过网络引导系统的做法可以不必从硬盘.软盘或CD-ROM硬盘,而是完全通过网络来引导 ...

  4. 基于 cobbler 实现自动安装 linux 系统

    使用 cobbler 实现自动安装 centos 6.7系统 1.yum install cobbler -y 安装 cobbler ,有依赖关系,会自动把 TFTP .HTTP 服务安装上:cobb ...

  5. 学习神器!本机安装虚拟机,并安装Linux系统,并部署整套web系统手册(包含自动部署应用脚本,JDK,tomcat,TortoiseSVN,Mysql,maven等软件)

    1.   引言 编写目的 本文档的编写目的主要是在Linux系统上部署mis_v3员工管理系统,方便测试,并为以后开发人员进行项目部署提供参考 准备工作 软件部分 软件项 版本 备注 Mysql 5. ...

  6. Linux 虚拟机上安装linux系统 (ip:子网掩码,网关,dns,交换机,路由知识回顾)

    一 安装虚拟机 二 虚拟机上配置好在安装linux系统 三 知识回顾 交换机:主机在局域网内的身份是MAC地址(可以通过[交换机广播:交换机通过被动学习来建立一张“接口号”和“MAC地址”的对照表]或 ...

  7. 虚拟机virtualBox安装linux系统 xshell远程连接linux

    虚拟机virtualBox安装linux系统 xshell远程连接linux 虚拟机概念: 通过软件, 使用虚拟化技术虚拟出电脑的硬件环境, 充当真实的电脑使用. 常见的虚拟软件: virtualBo ...

  8. 部署虚拟环境安装Linux系统

      目录                                                              准备工作 安装linux系统 重置root管理员密码 源代码编译 R ...

  9. 第1章 部署虚拟环境安装linux系统

    章节简述: 本章节带领读者从0基础了解虚拟机软件与红帽系统,完整的演示了在VM与KVM中安装红帽RHEL7系统的方法. 特别增加了超级实用的Linux系统找回root密码.虚拟机功能增强包.VNC远程 ...

随机推荐

  1. [GDKOI2016]染色大战

    Description

  2. 网页背景H5视频自动播放---PC端、移动端兼容问题完美解决方案(IOS、安卓、微信端)

    最近公司官网需要使用视频当做banner背景且自动播放,并且因为是官网需要做到PC端和移动端都可以适配兼容,这些问题很是头疼: 兵来将挡,水来土掩,进过查阅相关技术资料,现已完美兼容PC端和移动端.下 ...

  3. Java Web 学习(1) —— Servlet

    Java Web 学习(1) —— Servlet 一. 什么是 Servlet Java Servlet 技术是Java体系中用于开发 Web 应用的底层技术. Servlet 是运行在 Servl ...

  4. 百万年薪python之路 -- 推导式

    2.1列表推导式 首先我们先看一下这样的代码,给出一个列表,通过循环,想列表中添加1~10: li = [] for i in range(1,11): li.append(i) print(li) ...

  5. 自定义表头Datagrid

    自定义的一个表头 <bp:BasePage x:Class="NetReform.Pages.RealProbabiTableCompare" xmlns="htt ...

  6. 告别10kb/s的Github访问速度

    由于种种原因,国内访问Github的体验一直不是很好.本文通过优化DNS缓存的方式,避免浏览器直接解析Github域名,来改善Github的访问速度. 本文分为如下三个部分: 通过IP地址查询获取访问 ...

  7. 面对对象高阶+反射+魔法方法+单例(day22)

    目录 昨日内容 组合 封装 property装饰器 多态 鸭子类型 今日内容 classmethod staticmethod 面对对象高级 isinstance issubclass 反射(重要) ...

  8. 5.分析snkrs的Android的DeviceID生产规则

    分析Android的DeviceID生产 前面已经把web端的分析了一些,要想实现其实容易也难,容易是规则很容易,难是时间生成控制很难,我之前大概花了一周时间分析和梳理,然后行为测试,之前我已经讲过c ...

  9. 设计模式(十五)Facade模式

    Facade模式可以为相互关联在一起的错综复杂的类整理出高层接口,可以让系统对外只有一个简单的接口,而且还会考虑到系统内部各个类之间的责任关系和依赖关系,按照正常的顺序调用各个类. 还是先看一下示例程 ...

  10. SpringBoot整合MybatisPlus3.X之乐观锁(十三)

    主要适用场景 意图: 当要更新一条记录的时候,希望这条记录没有被别人更新 乐观锁实现方式: 取出记录时,获取当前version 更新时,带上这个version 执行更新时, set version = ...