CentOS 7的YUM仓库服务与PXE自动批量化安装系统

一、YUM软件仓库

借助于YUM软件仓库,可以完成安装、卸载、自动升级rpm软件包等任务,能够自动查找并解决rpm包之间的依赖关系,而无须管理员逐个、手工地去安装每个rpm包,使管理员在维护大量Linux服务器时更加轻松自如。
要成功使用YUM机制来更新系统和软件,需要有一个包含各种rpm安装包文件及其依赖软件的软件仓库(repository),提供软件仓库的服务器也称为“源”服务器。在客户机中只要正确指定软件仓库的地址信息就可以通过对应的“源”服务器来安装或更新软件了。
YUM软件仓库通常借助于HTTP或FTP协议来进行发布,这样可以面向网络中的所有客户机提供软件源服务。为了便于客户机查询软件包。获取依赖关系等信息,在软件仓库中需要提供仓库数据(repodata),其中收集了目录下所有rpm包的头部信息。

1、客户端配置软件仓库位置

在客户端上 需要指定至少一个可用的软件仓库,然后才能使用下一节将要介绍的yum工具来下载、安装软件包。yum工具使用的软件仓库信息存放在/etc/yum.repos.d目录下扩展名为“.repo”的文件中。

[root@CentOS01 ]# vim /etc/yum.repos.d/local.repo   [local]                              <!--仓库声明-->  name=centos                   <!--yum源的名字-->  baseurl=file:///root/benet        <!--仓库位置-->  enabled=1                   <!--开启yum功能-->  gpgcheck=0                    <!--不验证软件包的签名-->

上述操作中,文件centos7.repo需要手动创建./etc/yum.repos.d目录下若有其他未用的“*.repo”文件建议将其删除。“enabled=1”为默认项,可以省略;“gpgcheck”和“gpgkey”两行配置用来检查软件包的完整性,若无此要求则可以省略。

二、YUM源的类型

1、配置本地源

[root@centos01 ]# vim /etc/yum.repos.d/local.repo   [local]  name=centos  baseurl=file:///mnt  enabled=1  gpgcheck=0

2、配置ftp源

[root@centos01 ~]# vim /etc/yum.repos.d/local.repo   [ftp]  name=centos  baseurl=ftp://192.168.100.10/  enabled=1  gpgcheck=0

3、配置HTTP源

[root@centos01 ~]#cd /etc/yum.repos.d/  [root@centos01 yum.repos.d]#wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyum.com/repo/Centos-7.repo

4、YUM的使用

[root@centos01 ~]#yum cleam all       <!--清楚yum缓存-->  [root@centos01 ~]#yum list           <!--查询软件列表-->  [root@centos01 ~]#yum info dhcp     <!--查询软件包信息-->  [root@centos01 ~]#yum -y install dhcp     <!--安装dhcp软件-->  [root@centos01 ~]#yum -y remove dhcp    <!--卸载dhcp软件-->  [root@centos01 ~]#yum search httpd      <!--查询软件-->

5、RPM包的来源

1)centos官方

更新系统将rpm软件直接封装 在IOS中

2)第三方组织发布rpm包

更新新的功能;在官方的基础上进行修改

3)用户自定义rpm包集合

开源爱好的个人修改数据包更新数据包

4)用户创建yum源

[root@centos01 ~]#createrepo -g /mnt/repodata/repomd.xml ./benet/

三、配置PXE自动批量化安装系统的注意事项

PXE是由intel公司开发的网络引导技术工作在Client/Server模式,允许客户机通过网络从远程服务器下载引导镜像,并加载安装文件或者整个操作系统。

  • 客户机的网卡支持PXE协议(集成BOOTROM芯片),且主板支持网络引导;
  • 网络中有一台DHCP服务器以便为客户机自动分配地址、指定引导文件位置;
  • 服务器通过TFTP(简单文件传输协议)提供引导镜像文件的下载;
    其中,一个条件为硬件要求,目前绝大多数服务器和大多数PC都能够提供此支持,只需要在BIOS设置中允许从Nerwork或LAN启动即可。

四、部署PXE远程安装服务

1、配置YUM仓库,并安装ftp服务:

[root@centos01 ~]# mount /dev/cdrom /media  [root@centos01 ~]# cd /etc/yum.repos.d/  [root@centos01 yum.repos.d]# rm -rf *  [root@centos01 yum.repos.d]# vim a.repo    [yum]  baseurl=file:///media  gpgcheck=0    [root@centos01 yum.repos.d]# yum -y install vsftpd*

2、准备centos7安装源并启动ftp服务:

[root@centos01 yum.repos.d]# mkdir /var/ftp/centos7  [root@centos01 yum.repos.d]# cp -rf /media/* /var/ftp/centos7/  [root@centos01 yum.repos.d]# systemctl start vsftpd             <!--启动ftp服务-->  [root@centos01 yum.repos.d]# systemctl enable vsftpd          <!--设置为开机自启-->

3、安装并启动TFTP服务:

[root@centos01 yum.repos.d]# yum -y install tftp-server  [root@centos01 yum.repos.d]# vim /etc/xinetd.d/tftp             <!--编辑TFTP配置文件-->                                         ...............................  service tftp  {          socket_type             = dgram          protocol                = udp          wait                    = yes          user                    = root          server                  = /usr/sbin/in.tftpd          server_args             = -s /var/lib/tftpboot          disable                 = no               <!--将此处默认的yes改为no即可-->          per_source              = 11          cps                     = 100 2          flags                   = IPv4  }    [root@centos01 yum.repos.d]# systemctl start tftp                <!--启动TFTP服务-->  [root@centos01 yum.repos.d]# systemctl enable tftp      <!--设置开机自动启动-->

4、准备Linux内核、初始化镜像文件(在系统盘中):

[root@centos01 ~]# cd /media/images/pxeboot/  [root@centos01 pxeboot]# cp vmlinuz initrd.img /var/lib/tftpboot/

5、准备PXE引导程序

[root@centos01 pxeboot]# yum -y install syslinux    <!--安装引导程序-->  [root@centos01 pxeboot]# cp /usr/share/syslinux/pxelinux.0 /var/lib/tftpboot/

6、配置启动菜单(典型的和无人值守安装的启动菜单根据实际需求二选一配置即可):

[root@centos01 pxeboot]# mkdir /var/lib/tftpboot/pxelinux.cfg

1)典型的启动菜单,无法实现无人值守安装:

[root@centos01 pxeboot]# vim /var/lib/tftpboot/pxelinux.cfg/default                default auto  prompt 1  label auto          kernel vmlinuz          append initrd=initrd.img method=ftp://192.168.100.10/centos7  label linux text          kernel vmlinuz          append text initrd=initrd.img method=ftp://192.168.100.10/centos7  label linux rescue          kernel vmlinuz          append rescue initrd=initrd.img method=ftp://192.168.100.10/centos7

2)无人值守安装的启动菜单:

[root@centos01 pxeboot]# vim /var/lib/tftpboot/pxelinux.cfg/default     default auto  prompt 0  label auto          kernel vmlinuz          append initrd=initrd.img method=ftp://192.168.100.10/centos7                   ks=ftp://192.168.100.10/ks.cfg

在上面两种启动菜单,我这里配置的是无人值守安装,若选择典型的启动菜单,那么接下来的操作有很多就是不必要的了,只要安装上DHCP服务器即可部署系统了。

7、安装并启用DHCP服务器:

[root@centos01 pxeboot]# yum -y install dhcp  [root@centos01 pxeboot]# vim /etc/dhcp/dhcpd.conf                                ...........................    subnet 192.168.100.0 netmask 255.255.255.0 {    range 192.168.100.100 192.168.100.200;    option domain-name-servers 8.8.8.8;    option domain-name "internal.example.org";    option routers 192.168.100.254;    option broadcast-address 192.168.100.255;    default-lease-time 21600;    max-lease-time 43200;    next-server 192.168.100.10;                 <!--指定TFTP服务器的地址-->    filename "pxelinux.0";                     <!--指定PXE引导程序的文件名-->  }    [root@centos01 pxeboot]# systemctl start dhcpd        <!--启动dhcp服务-->  [root@centos01 pxeboot]# systemctl enable dhcpd      <!--设置开机自动启动-->

8、准备安装应答文件:

在centos 7 系统中如果安装了system-config-kickstart工具后,可通过图形化向导工具来配置安装应答文件:

[root@centos01 pxeboot]# yum -y install system-config-kickstart &lt;!--安装所需工具--&gt;

1)打开图形化程序:

CentOS 7的YUM仓库服务与PXE自动批量化安装系统

2)配置安装应答参数

CentOS 7的YUM仓库服务与PXE自动批量化安装系统

3)由于ftp服务默认允许匿名访问,所以不用指定用户名和密码

CentOS 7的YUM仓库服务与PXE自动批量化安装系统

4)引导装载程序:

CentOS 7的YUM仓库服务与PXE自动批量化安装系统

5)分区信息(根据实际需求选择合适硬盘分区方案):

CentOS 7的YUM仓库服务与PXE自动批量化安装系统

6)网络配置及防火墙

CentOS 7的YUM仓库服务与PXE自动批量化安装系统
CentOS 7的YUM仓库服务与PXE自动批量化安装系统

7)编写安装后脚本,保存到文档目录里:

CentOS 7的YUM仓库服务与PXE自动批量化安装系统

保存后的应答文件:

[root@centos01 ~]# vim ks.cfg              <!--最后生成的应答文件如下-->  (可直接复制此文件便可省略图形化配置的那些步骤,结合实际需求进行修改后使用即可):    #platform=x86, AMD64, 或 Intel EM64T  #version=DEVEL  # Install OS instead of upgrade  install  # Keyboard layouts  keyboard 'us'  # Root password  rootpw --iscrypted $1$bauETRq3$WOpze2jeKD9q3qgKK50xj0  # Use network installation  url --url="ftp://ftp:192.168.100.10/centos7"  # System language  lang zh_CN  # System authorization information  auth  --useshadow  --passalgo=sha512  # Use graphical install  graphical  firstboot --disable  # SELinux configuration  selinux --disabled    # Firewall configuration  firewall --disabled  # Network information  network  --bootproto=dhcp --device=ens32  # Reboot after installation  reboot  # System timezone  timezone Asia/Shanghai  # System bootloader configuration  bootloader --location=mbr  # Partition clearing information  clearpart --all  # Disk partitioning information  part /boot --fstype="xfs" --size=500  part /home --fstype="xfs" --size=4096  part swap --fstype="swap" --size=2048  part / --fstype="xfs" --grow --size=1    %post --interpreter=/bin/bash  cd /etc/yum.repos.d  rm -rf *  echo -e "[base]" > aa.repo  echo -e "baseurl=ftp://192.168.100.10/centos7" >> aa.repo  echo -e "gpgcheck=0" >> aa.repo  %end

不过上面的配置文件还差点东西,需要在配置文件末尾继续写入三行,以此来选择最小安装:

%packages  @^minimal  %end

写好后,保存退出即可。

9、将自动应答文件复制到指定目录(在之前的引导菜单指定的“ks=”项的路径):

[root@centos01 ~]# cp /root/ks.cfg /var/ftp/

10、OK,客户机开机,验证效果耐心等待完成即可):

CentOS 7的YUM仓库服务与PXE自动批量化安装系统

安装成功:

CentOS 7的YUM仓库服务与PXE自动批量化安装系统

CentOS 7的YUM仓库服务与PXE自动批量化安装系统

收藏 (0) 打赏

感谢您的支持,我会继续努力的!

打开微信/支付宝扫一扫,即可进行扫码打赏哦,分享从这里开始,精彩与您同在
点赞 (0)

栗子博客 软件 CentOS 7的YUM仓库服务与PXE自动批量化安装系统 https://www.lizi.tw/soft/17057.html

常见问题
  • 1、杰齐1.7仅适用于PHP5.2 2、需Zend支持 3、尽量使用宝塔面板 4、尽量使用Windows 系统,关关对Linux支持不太友好。
查看详情

相关文章

评论
暂无评论
官方客服团队

为您解决烦忧 - 24小时在线 专业服务

CentOS 7的YUM仓库服务与PXE自动批量化安装系统-海报

分享本文封面