zoukankan      html  css  js  c++  java
  • 自动安装 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 版本

  • 相关阅读:
    [Leetcode] Rotate Image
    [Leetcode] Permutation Sequence
    [Leetcode] Palindrome Partitioning
    [Leetcode] Letter Combinations of a Phone Number
    Java里的多线程
    css学习2----css动态菜单
    css学习1----css超链接效果
    javascript判断身份证是否合法
    RMI(Remote Method Invocation,远程方法调用)
    struts.properties配置详解
  • 原文地址:https://www.cnblogs.com/dongzhanyi123/p/11628344.html
Copyright © 2011-2022 走看看