YUM仓库服务与PXE网络装机

一:部署yum环境

1、在服务端部署YUM软件仓库

环境:linux01做yum仓库,linux02做客户端

(1)从centos7光盘中安装vsftpd软件包,配置并启用vsftpd服务。

[root@localhost ~]# rpm -ivh /media/cdrom/Packages/ftp-0.17-54.el6.x86_64.rpm

[root@localhost ~]# rpm -ivh /media/cdrom/Packages/vsftpd-2.2.2-11.el6_4.1.x86_64.rpm

[root@localhost ~]# chkconfig vsftpd on

[root@localhost ~]# systemctl start vsftpd

[root@localhost ~]# systemctl stop firewalld.service

[root@localhost ~]# setenforce 0

(2)创建目录/var/ftp/centos7,并将centos7光盘中的内容复制到该目录下。

 

[root@localhost ~]# mkdir /var/ftp/centos7

[root@localhost ~]# cp -rf /media/cdrom/* /var/ftp/centos7/

 

(3)在客户机访问ftp://192.168.4.254/centos7,确认能够下载软件仓库中的文件。

[root@localhost ~]# rpm -ivh /media/cdrom/Packages/ftp-0.17-54.el6.x86_64.rpm

[root@localhost ~]# ftp 192.168.4.254

…… //省略登录信息(用ftp或anonymous登陆,密码为空)

ftp> cd centos7

250 Directory successfully changed.

ftp> ls

227 Entering Passive Mode (192,168,4,254,250,249).

150 Here comes the directory listing.

-r--r--r--    1 0        0            8794 Sep 28 20:00 EULA

-r--r--r--    1 0        0           18092 Sep 28 20:00 GPL

dr-xr-xr-x    3 0        0            4096 Sep 28 19:55 HighAvailability

dr-xr-xr-x    3 0        0            4096 Sep 28 19:55 LoadBalancer

drwxr-xr-x    2 0        0          184320 Sep 28 20:03 Packages

-r--r--r--    1 0        0           16435 Sep 28 20:03 README

…… //省略部分信息

 

(4)在客户端指定软件仓库位置。

[root@localhost ~]# rm -f /etc/yum.repos.d/*.repo

[root@localhost ~]# vi /etc/yum.repos.d/centos7.repo

[development]

name=Red Hat Enterprise Linux

baseurl=ftp://192.168.4.254/centos7

enabled=1

gpgcheck=0

 

2、使用yum工具管理软件包

 

(1)查看当前系统中已安装哪些软件包,查看YUM仓库中有哪些软件包可用。

[root@localhost ~]# yum list    \\查询软件包列表

[root@localhost ~]# yum list installed     \\查询已安装的软件包

[root@localhost ~]# yum list available    \\查询可用的(未安装)软件包

[root@localhost ~]# yum list updates    \\列出可以升级的软件包(要有较高版本的yum源)

(2)查看软件包的信息

[root@localhost ~]# yum info httpd

(3)搜索与DNS相关的软件包。

 

[root@localhost ~]# yum search DNS

 

3、安装、升级、卸载

 

[root@localhost ~]# yum -y install net-snmp    \\安装

[root@localhost ~]# yum -y remove autofs   \\卸载

[root@localhost ~]# yum -y update httpd    \\升级

[root@localhost ~]# yum grouplist | less   

[root@localhost ~]# yum groupinstall "Web Server"

yum install 它安装单个软件,以及这个软件的依赖关系

yum groupinstall 它安装一个安装包,这个安装包包涵了很多单个软件,以及单个软件的依赖关系。

 

二:部署PXE

将VMware的虚拟网卡的DHCP功能关掉

1、搭建PXE远程安装服务器(linux01上)

 

(1)构建vsftpd服务,并部署centos7安装源。

[root@localhost ~]# rm -rf /etc/yum.repos.d/*.repo

[root@localhost ~]# vi /etc/yum.repos.d/centos7.repo

[base]

name=Red Hat Enterprise Linux

baseurl=file:///media/cdrom/

enabled=1

gpgcheck=0

 

[root@localhost ~]# yum -y install ftp vsftpd

[root@localhost ~]# mkdir /var/ftp/centos7

[root@localhost ~]# cp -rf /media/cdrom/* /var/ftp/centos7/

[root@localhost ~]# systemctl start vsftpd

 

(2)构建TFTP服务,并准备好引导程序、引导菜单、Linux内核、初始化镜像。

[root@localhost ~]# systemctl stop firewalld

[root@localhost ~]# yum -y install tftp-server

[root@localhost ~]# vi /etc/xinetd.d/tftp

service tftp

{

        …… //省略部分信息

        disable                 = no

        …… //省略部分信息

}

[root@localhost ~]# systemctl start tftp

[root@localhost ~]# cd /media/cdrom/images/pxeboot/

[root@localhost pxeboot]# cp vmlinuz initrd.img /var/lib/tftpboot/   \\拷贝内核和镜像

[root@localhost ~]# yum -y install syslinux    \\安装pxe程序

[root@localhost ~]# cp /usr/share/syslinux/pxelinux.0 /var/lib/tftpboot/    \\拷贝引导程序pxelinux.0

[root@localhost ~]# mkdir /var/lib/tftpboot/pxelinux.cfg

[root@localhost ~]# vi /var/lib/tftpboot/pxelinux.cfg/default   \\创建

default auto

prompt 1

label auto

    kernel vmlinuz

    append initrd=initrd.img method=ftp://192.168.10.101/centos7

 

label linux text

    kernel vmlinuz

    append text initrd=initrd.img method=ftp://192.168.10.101/centos7

 

label linux rescue

    kernel vmlinuz

    append rescue initrd=initrd.img method=ftp://192.168.10.101/centos7

 

(3)构建DHCP服务,以便为192.168.10.0/24网段分配地址,并设置TFTP参数。

 

[root@localhost ~]# yum -y install dhcp

[root@localhost ~]# vi /etc/dhcp/dhcpd.conf

subnet 192.168.10.0 netmask 255.255.255.0 {

  option domain-name-servers ns1.internal.example.org;

  option domain-name "internal.example.org";

  option routers 192.168.4.1;

  option broadcast-address 192.168.4.255;

  default-lease-time 600;

  range 192.168.10.100 192.168.10.200;

  max-lease-time 7200;

  next-server 192.168.10.101;

  filename "pxelinux.0";

}

[root@localhost ~]# systemctl start dhcpd

 

(4):创建虚拟机PXE网络安装系统

 

2、 实现无人值守安装系统,创建安装应答文件

 

(1)安装system-config-kickstart软件包。

 

[root@localhost ~]# yum -y install system-config-kickstart

 

(2)修改本地yum源的名字,否则kickstart无法选择软件包

[development]

 

(3)运行kickstart配置程序,按实验要求创建ks.cfg应答文件。

在图形桌面环境中,按Alt+F2组合键后输入system-config-kickstart并点运行,或者打开桌面菜单“应用程序”→“系统工具”→“kickstart”。

 YUM仓库服务与PXE网络装机

 

 YUM仓库服务与PXE网络装机

 

 YUM仓库服务与PXE网络装机

 

 YUM仓库服务与PXE网络装机

 

 

图形化界面配置后保存,文件名用默认的ks.cfg

 

[[root@localhost ~]# grep -v ^# /root/ks.cfg

…… //省略部分信息

%post --interpreter=/bin/bash

rm -f /etc/yum.repos.d/*

echo '[base]

name=Red Hat Enterprise Linux

baseurl=ftp://192.168.4.254/centos7

enabled=1

gpgcheck=1

gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release' > /etc/yum.repos.d/centos7.repo

%end

 

%packages

@^minimal

%end

 

(4)将应答文件复制到centos7安装源所在的FTP目录下。

 

[root@localhost ~]# cp /root/ks.cfg /var/ftp/   \\添加红色部分,其余的删掉

[root@localhost ~]# vi /var/lib/tftpboot/pxelinux.cfg/default

default auto

prompt 0

label auto

  kernel vmlinuz

  append initrd=initrd.img method=ftp://192.168.10.101/centos7 ks=ftp://192.168.10.101/ks.cfg

 

3、验证PXE网络装机

(1)将1台裸机连接到PXE服务器所在网络,并确认能够通过网络引导。

(2)打开台裸机的电源,确认引导成功并自动安装好centos7系统。

 

上一篇:部署PXE远程安装服务(Centos 7系统)


下一篇:Shell—pxe手动一键部署项目