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