因为都知道安装linux软件包rpm 很好用;但是不能解决软件包的个别依赖关系;所以安装数据包时出现依赖时、yum到可以解决这类数据包依赖关系;而且还能便于管理大量数据包更新的问题;它的特点  、可以同时配置多个资源库(Repository) ,简洁的配置文件(/etc/yum.conf)  ,自动解决增加或删除rpm包时遇到的倚赖性问题,保持与RPM数据库的一致性这也是它的优势。因此解决数据包的依赖关系;也是基于服务器和客户端的一种应用。

首先呢 介绍一下YUM 的简单指令:

yum info                       // 查询详细

yum install -y                 // 安装  (-y 数据包提示全部yes)

yum remove  -y                 // 删除  

yum check-update               //检查可更新的所有软件包

yum update                     //下载更新系统已安装的所有软件包

yum upgrade             //大规模的版本升级,与yum update不同的是,连旧的淘汰的包也升级

yum install <packages>            //安装新软件包

yum update <packages>             //更新指定的软件包

yum remove <packages>             //卸载指定的软件包

yum groupinstall <groupnames>     //安装指定软件组中的软件包

yum groupupdate <groupnames>      //更新指定软件组中的软件包

yum groupremove <groupnames>      //卸载指定软件组中的软件包

yum grouplist           //查看系统中已经安装的和可用的软件组

yum list              //列出资源库中所有可以安装或更新以及已经安装的rpm包

yum list <regex>    //列出资源库中与正则表达式匹配的可以安装或更新以及已经安装的rpm包

yum list available          //列出资源库中所有可以安装的rpm包

yum list available <regex>  //列出资源库中与正则表达式匹配的所有可以安装的rpm包

yum list updates            //列出资源库中所有可以更新的rpm包

yum list updates <regex>    //列出资源库中与正则表达式匹配的所有可以更新的rpm包

yum list installed          //列出资源库中所有已经安装的rpm包

yum list installed <regex>  //列出资源库中与正则表达式匹配的所有已经安装的rpm包

yum list extras             //列出已经安装的但是不包含在资源库中的rpm包

yum list extras <regex> //列出与正则表达式匹配的已经安装的但是不包含在资源库中的rpm包

yum list recent             //列出最近被添加到资源库中的软件包

yum search <regex> //检测所有可用的软件的名称、描述、概述和已列出的维护者,查找与正则

yum rovides <regex>//检测软件包中包含的文件及软件提供的功能,查找与正则表达式匹配的值

yum clean headers             //清除缓存中的rpm头文件

yum clean packages            //清除缓存中rpm包文件

yum clean all                 //清除缓存中的rpm头文件和包文件

yum deplist <packages>        //显示软件包的依赖信息


把yum理解为服务器和客户端这种方式,因为linux5.0版本以上软件包的部署是基于网络的;之前的版本都是基于本地光盘(镜像);所以实现要有yum的客户端和yum的服务器的利用,在网络之中必须要有一台机器(server) 提供一个安装文件(类似资源库);而要安装软件包的机器可以称之为客户端 (client);在网络之中必须要有 一台机器 提供一个安装文件;而要安装软件包的机器 可以称之为客户端 client;所以YUM的实现需要有一个YUMclient和YUM server。就是在软件包的部署上 客户端都去访问这一个服务器即可。但是在这之前要指明服务器怎样建立 、怎样访问、怎样去访问这个安装文件的资源库的文件;我们可以这样:

指明一条网络协议去访问可以指定为ftp协议;

资源库可以包括以下四类:

Server                 指 应用程序

VT                     虚拟化安装目录

Cluster                群集的安装目录

ClusterStorage         存储的安装

因为是在虚拟做的实验,所以提前先克隆一个完整的linux5.4版机子;满足两台机器(server与client);然后在随便一台服务器、添加一个IP;挂载镜像、安装xsftpd,因为我们是ftp协议,安装后测试端口、启动测试:


232415702.jpg

232428425.jpg

安装之后 切换到/var/ftp 目录下,然后我们可以把光盘上的所有文件都拷到这个目录下;(是以便客户端访问的时候可以直接匿名的访问)之后再重启动并还测试端口:

232429844.jpg

看到这已经拷贝完了,就是有点大;这样服务器端就算做好了。

232433778.jpg

接下来来配置客户端:在这里需要设置指明 yum 服务器在哪 ;以什么样的方式访问;都需要在这里 设置;进入/etc/yum.repos.d/目录下:


233702733.jpg

因为这样的文件都是来描述yum服务器我们可以更改这个文件;所以可以来直接更改这个文件信息、或者根据这个再来做个 rhel-debuginfo.repo;

233709200.jpg

我们可以这样设置:

233715174.jpg所以到服务器那边;先查看一下资源库是不是设置的那四类:

233724763.jpg

查看数据包有多少个、是不是光盘的所有未安装的软件包都列了出来;显示rhel-server都是为安装的;显示install是已安装的,这里都是未安装的;

233728649.jpg

接下来再来查看一下vsftp的详细:

233730443.jpg

所以在此举个例子 :在 服务器端上装这个软件试试:看看会发生怎样的 问题 :用为依赖关系而导致安装时受阻;在换客户端yum安装试试:

233733501.jpg

在客户端 先查找 看看这个数据包的信息:

233738475.jpg

在客户端用yum安装看看:

233740329.jpg

中途的提示一直都是yes ;也可以在之前安装时 后面加个-y 、这样就不会一直提示了;

233742598.jpg

安装 成功后;加个-y我们再来安装个httpd 服务看看:就没有提示了;

233744339.jpg


做服务器与客户端连接:可以在服务器端 、放入ftp仓库一个php 软件;之后呢我们在客户端看看是不是能够找到;(因为服务器端 的仓库里都有同样一个目录 repodata)若想在客户端找到;所以先在安装过这个软件:

233746782.jpg

安装之后在更新资源库里的目录:233747848.jpg


所以再在客户端 检测;再清除一下缓存,这样在客户端就找到了拉近服务器那个php文件了;

233748419.jpg


这就是基于yum服务器和yum客户端实验的例子;满足在一个局域网内、多个客户端连接到服务器的资源库上并同时能够享受资源安装软件、而且能够接触数据包之间的依赖关系。