YUM仓库服务与PXE网络装机
实验案例一:软件仓库部署及应用
创建bak目录,把以Censtos开头的文件剪切到bak目录
[root@centos01 ~]# cd /etc/yum.repos.d/
[root@centos01 yum.repos.d]# mkdir bak
[root@centos01 yum.repos.d]# mv CentOS-* ./bak/
挂载光盘
创建bdqn目录,剪切vsftpd、frp和dhcp的rpm包到bdqn目录
[root@centos01 ~]# mkdir bdqn
[root@centos01 ~]# cp /mnt/Packages/vsftpd-3.0.2-22.el7.x86_64.rpm ./bdqn/
[root@centos01 ~]# cp /mnt/Packages/ftp-0.17-67.el7.x86_64.rpm ./bdqn/
[root@centos01 ~]# cp /mnt/Packages/dhcp-4.2.5-58.el7.centos.x86_64.rpm ./bdqn/
创建yum源
[root@centos01 ~]# createrepo -g /mnt/repodata/repomd.xml ./bdqn/
修改本地源位置
[root@centos01 ~]# vim /etc/yum.repos.d/local.repo
[local]
name=centos
baseurl=file:///root/bdqn
enabled=1
gpgcheck=0
安装vsftpd
[root@centos01 ~]# yum -y install vsftpd
修改主配置文件
[root@centos01 ~]# vim /etc/vsftpd/vsftpd.conf
anon_root=/centos7
创建目录,将光盘中的内容复制到该目录下
[root@centos01 ~]# mkdir /centos7
[root@centos01 ~]# cp -r /mnt/* /centos7/
重启vsftpd服务
[root@centos01 ~]# systemctl start vsftpd
客户端访问
配置ftp源
[root@centos01 ~]# vim /etc/yum.repos.d/local.repo
[ftp]
name=centos
baseurl=ftp://192.168.100.10/
enabled=1
gpgcheck=0
安装程序
[root@centos01 ~]# yum -y install bind bind-chroot bind-utils
查看当前系统中安装了那些软件包
[root@centos01 ~]# yum list installed
查看yum软件仓库中有那些软件包可用
[root@centos01 ~]# yum list available
搜索与dns相关的软件包
[root@centos01 ~]# yum search aal dns
安装软件包net-snmp
[root@centos01 ~]# yum -y install net-snmp
卸载软件包autofs
[root@centos01 ~]# yum -y remove autofs
执行yum grouplist命令查看yum软件创库中的软件分组
[root@centos01 ~]# yum grouplist
实验案例二:CentOS7批量自动装机
清空yum源
[root@centos01 ~]# rm -rf /etc/yum.repos.d/CentOS-*
挂载系统光盘
[root@centos01 ~]# mount /dev/cdrom /mnt/
安装tftp
[root@centos01 ~]# yum -y install tftp-server
启动sftp服务
[root@centos01 ~]# systemctl start tftp
[root@centos01 ~]# systemctl enable tftp
复制主配置文件
[root@centos01 ~]# cp /etc/xinetd.d/tftp /etc/xinetd.d/tftp.bak
配置ftpd
[root@centos01 ~]# vim /etc/xinetd.d/ftpd
service tftp
{
socket_type = dgram
protocol = udp
wait = yes
user = root
server = /usr/sbin/in.tftpd
server_args = -s /var/lib/tftpboot
disable = no
per_source = 11
cps = 100 2
flags = IPv4
}
复制linux内核到tdtp根目录
[root@centos01 ~]# cd /mnt/images/pxeboot/
[root@centos01 pxeboot]# cp initrd.img vmlinuz /var/lib/tftpboot/
安装pex引导程序
[root@centos01 ~]# yum -y install syslinux
复制引导程序
[root@centos01 ~]# cp /usr/share/syslinux/pxelinux.0 /var/lib/tftpboot/
配置引导菜单
[root@centos01 ~]# mkdir /var/lib/tftpboot/pxelinux.cfg
[root@centos01 ~]# vim /var/lib/tftpboot/pxelinux.cfg/default
default auto
timeout 600
prompt 1
label auto
kernel vmlinuz
append initrd=initrd.img method=ftp://192.168.100.10/centos7
label text
kernel vmlinuz
append text initrd=initrd.img method=ftp://192.168.100.10/ce
ntos7
label rescue
kernel vmlinuz
append rescue initrd=initrd.img method=ftp://192.168.100.10/c
entos7
安装ftp
[root@centos01 ~]# yum -y install vsftpd ftp
创建ftp的根目录
[root@centos01 ~]# mkdir /ftproot
[root@centos01 ~]# vim /etc/vsftpd/vsftpd.conf
anonymous_enable=YES
local_enable=YES
anon_root=/ftproot
write_enable=YES
local_umask=022
dirmessage_enable=YES
xferlog_enable=YES
connect_from_port_20=YES
xferlog_std_format=YES
listen=NO
listen_ipv6=YES
pam_service_name=vsftpd
userlist_enable=YES
tcp_wrappers=YES
创建存储centos系统目录复制系统
[root@centos01 ~]# mkdir -p /ftproot/centos7
[root@centos01 ~]# cp -r /mnt/* /ftproot/centos7/
启动ftp服务开机自启
[root@centos01 ~]# systemctl start vsftpd
[root@centos01 ~]# systemctl enable vsftpd
安装dhcp服务
[root@centos01 ~]# yum -y install dhcp
配置dhcp
[root@centos01 ~]# cp /etc/dhcp/dhcpd.conf /etc/dhcp/dhcpd.conf.bak
[root@centos01 ~]# vim /etc/dhcp/dhcpd.conf
:r /usr/share/doc/dhcp-4.2.5/dhcpd.conf.example
[root@centos01 ~]# vim /etc/dhcp/dhcpd.conf
ddns-update-style none;
option domain-name “benet.com”;
option domain-name-servers 192.168.100.10, 202.106.0.10;
default-lease-time 600;
max-lease-time 7200;
subnet 192.168.100.0 netmask 255.255.255.0 {
range 192.168.100.100 192.168.100.200;
option routers 192.168.100.254;
next-server 192.168.100.10;
filename “pxelinux.0”;
}
host passacaglia {
hardware ethernet 0:0:c0:5d:bd:95;
fixed-address fantasia.fugue.com;
}
启动dhcp服务
[root@centos01 ~]# systemctl start dhcpd
[root@centos01 ~]# systemctl enable dhcpd
客户端自动获取IP地址
客户端访问ftp
新建虚拟机
不需要挂载光盘
开启虚拟机按回车键
选择语言
软件选择
创建分区
配置网络和主机名
配置密码
创建用户
安装完成重新启动
关闭防火墙
[root@Centos ~]# vim /etc/selinux/config
SELINUX=disabled
停止firewalld防火墙,关闭开机自动启动
[root@Centos ~]# systemctl stop firewalld.service
[root@Centos ~]# systemctl disable firewalld.service
创建yum源
[root@Centos ~]# cd /etc/yum.repos.d/
[root@Centos yum.repos.d]# mkdir bak
[root@Centos yum.repos.d]# mv CentOS-* bak
[root@Centos yum.repos.d]# vim local.repo
[ftp]
name=centos
baseurl=ftp://192.168.100.10/centos7
enabled=1
gpgcheck=0
安装kickstart
重启虚拟机,开始安装kickstart
[root@Centos ~]# yum -y install system-config-kickstart
配置kickstart
安装方法
引导装载程序选项
自定义分区
网络配置
防火墙配置
安装后脚本
useradd stu01
echo 123456 | passwd --stdin stu01
rm -rf /etc/yum.repos.d/*
cat <> /etc/yum.repos.d/centos.repo
[ftp]
name=ftp
baseurl=ftp://192.168.100.10/centos7
enabled=1
gpgcheck=0
END
yum -y install wget dhcp vsftpd
将编写脚本复制到ftp加载
[root@Centos ~]# cd /home/test/
[root@Centos test]# cd 文档
[root@Centos 文档]# scp ./ks.cfg root@192.168.100.10:/ftproot/centos7
验证是否上传成功
[root@centos01 ~]# cd /ftproot/centos7/
配置引导菜单加载ks.cfg文件
[root@centos01 ~]# vim /var/lib/tftpboot/pxelinux.cfg/default
default auto
timeout 600
prompt 0
label auto
kernel vmlinuz
append initrd=initrd.img method=ftp://192.168.100.10/centos7 ks=ftp://192.168.100.10/centos7/ks.cfg
label text
kernel vmlinuz
append text initrd=initrd.img method=ftp://192.168.100.10/centos7 ks=ftp://192.168.100.10/centos7/ks.cfg
label rescue
kernel vmlinuz
append rescue initrd=initrd.img method=ftp://192.168.100.10/centos7 ks=ftp://192.168.100.10/centos7/ks.cfg
验证自动装机
自动装机中
自动装机完成