YUM工具使用详解总结
为什么会有Yum工具
在上一篇博文 [Linux] RPM包管理工具详解总结 中提到过RPM包管理工具的缺点就是无法很好的解决安装和卸载时包的依赖问题, 而Yum就是为了解决这一问题而产生的.
Yum (Yellow dog Update Modifier) : 基于RPM包管理的前端工具, 底层实现仍然是rpm工具, 可以解决软件包的相关依赖性, 并且可在多个库之间定位软件包的位置
Yum工作原理
-
不同于RPM包管理工具是在本地安装下载好的RPM包, Yum工具是一个C/S架构, 分为Yum客户端和Yum服务端, Yum客户端向Yum服务端发送请求下载RPM包
-
Yum客户端和Yum服务端可以在一台设备上直接互联, 也可以在两台设备上跨网络连接
-
Yum服务器包含了一个Yum Reposity, Yum Reposity里有两部分内容一部分是各种RPM包, 另外一部分是RPM包的元数据(包括库中有哪些RPM包, 包之间的依赖性如何, 包的属性等等), 这些元数据都存放在了一个叫做
repodata
的文件夹下 (repodata
文件夹所在的目录就是Yum仓库) -
下图是把Centos6的安装光盘挂载在了
/data/test
文件夹下, 上一篇RPM的博文中提到过, RPM包的获取方式之一就是系统的安装光盘, 其实光盘就是一个Yum仓库. 可以看到下图中存放元数据的repodata
文件夹和存放RPM包的Package
文件夹[root@centos7 yum.repos.d]# ls /data/test CentOS_BuildTag GPL Packages RPM-GPG-KEY-CentOS-6 RPM-GPG-KEY-CentOS-Testing-6 EFI images RELEASE-NOTES-en-US.html RPM-GPG-KEY-CentOS-Debug-6 TRANS.TBL EULA isolinux repodata RPM-GPG-KEY-CentOS-Security-6
-
Yum客户端有一个配置文件夹
/etc/yum.repos.d/
, 里面存放了*.repo
文件, 这些文件中都配置了Yum服务器的地址[root@centos7 yum.repos.d]# ls CentOS-Base.repo CentOS-fasttrack.repo CentOS-Vault.repo mysql-community.repo CentOS-CR.repo CentOS-Media.repo epel.repo mysql-community-source.repo CentOS-Debuginfo.repo CentOS-Sources.repo epel-testing.repo [root@centos7 yum.repos.d]# cat epel.repo