实现自动安装 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. url中常见符号说明

    如:http://10.1.1.71:9999/auditcenter/api/v1/auditPlanList?pageSize=20&page=1 ?:分隔实际的url和参数 & ...

  2. “selenium.common.exceptions.SessionNotCreatedException: Message: Unable to find a matching set of capabilities“解决办法

    问题: 原因:firefox浏览器版本和浏览器驱动版本不匹配 解决办法:卸载高版本浏览器,安装低版本浏览器 下载地址:http://ftp.mozilla.org/pub/firefox/releas ...

  3. 玩转u8g2 OLED库,一篇就够(分篇)

    授人以鱼不如授人以渔,目的不是为了教会你具体项目开发,而是学会学习的能力.希望大家分享给你周边需要的朋友或者同学,说不定大神成长之路有博哥的奠基石... QQ技术互动交流群:ESP8266&3 ...

  4. NOIP2018提高组初赛游记

    AH省的,好像水军多,走的都比较早(莫非是真·大佬!!) 本人考了71,较去年退步了.(去年还考80多的来着) 题目坑.. 第一.二大题选择 第三题年份,看了试卷标题,第二十二届,算出来后没有这个选项 ...

  5. 后台添加Textbox

    /// <summary> /// behind add textbox /// </summary> private void AddTextToTextBox() { Te ...

  6. 【ASP.NET Core学习】Razor页面

    准备工作 初始化空的项目(终端输入:dotnet new web -n=Razor) Nuget添加Microsoft.EntityFrameworkCore.SqlServer 和 Microsof ...

  7. fenby C语言 P6

    printf=格式输出函数; printf=("两个相加的数字是:%d,%d,他们的和是:%d\n",a,b,c); %d整数方式输出; \n=Enter; int a=1; fl ...

  8. 设计模式C++描述----06.适配器(Adapter)模式

    一. 定义 适配器模式将一个类的接口转换成客户希望的另外一个接口,使得原本由于接口不兼容而不能一起工作的那些类可以一起工作. Adapter 模式的两种类别:类模式和对象模式. 二. 举例说明 实际中 ...

  9. 【xinsir】分享一个查找文件的脚手架

    program.command('find <name>').action(name => { if (name) { inquirer .prompt([ { type: 'inp ...

  10. 使用float设置经典的网站前端结构(深入探讨)

    .要是DIV的子元素宽度大于它自己的宽度,不管子元素有没有脱离文档流,子元素会在横向向右溢出. 关于高度:1.要是DIV的高度没有设定,其高度受“没有脱离文档流”的子元素影响.以下是DIV宽度为0的情 ...