自动安装 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 版本

 

posted on 2019-10-06 20:32  An.amazing.rookie  阅读(1025)  评论(0编辑  收藏  举报