linux中yum命令的作用(详解Linux中yum包管理器)

概述

大家都知道用rpm包来安装软件有一个很繁琐的问题,那就是包与包之间的依赖关系,如果想正常安装和使用软件程序,就必须根据要求一步一步的解决软件之间的依赖关系。那么如果程序使用的包很多,将会很消耗使用人的时间和精力。超级麻烦不说,要是软件不用了需要卸载的话,由于卸载掉了某个依赖关系而导致其他的软件不能用是非常烦的。那么有没有办法解决这一问题呢?

如果在安装前能根据软件之间的关系将所需的软件一次性安装,这就是 yum 的机制。注意:YUM只是RHEL下使用的软件包管理器,在Debian或Ubuntu系统中使用的是另一种软件包管理器apt-get。


YUM包管理器

YUM,是Yellow dog Updater Modified的简称,起初是由yellow dog这一发行版的开发者Terra Soft研发,用python写成,那时还叫做yup(yellow dog updater),后经杜克大学的Linux@Duke开发团队进行改进,遂有此名。

yum的宗旨是自动化地升级,安装/移除rpm包,收集rpm包的相关信息,检查依赖性并自动提示用户解决。yum的关键之处是要有可靠的repository,顾名思义,这是软件的仓库,它可以是http或ftp站点, 也可以是本地软件池,但必须包含rpm的header, header包括了rpm包的各种信息,包括描述,功能,提供的文件,依赖性等.正是收集了这些 header并加以分析,才能自动化地完成余下的任务。


Yum 有以下特点

1.可以同时配置多个资源库(Repository)

YUM仓库配置文件

在/etc/yun.repos.d/目录下默认有四个文件都是以.repo结尾的,这些文件都是系统自带的repo文件用来连接YUM仓库的,其中CentOS-Base.repo文件是用来使用互联网上的YUM源的,还有一个重要的文件CentOS-Media.repo一般是用来链接本地YUM源。可以参照CentOS-Media.repo文件内容自己写repo文件。

内容如下:

$ cat /etc/yum.repos.d/CentOS-Base-163.repo |grep -v '^#'

linux中yum命令的作用(详解Linux中yum包管理器)(1)

备注:默认各仓库的用法:

base库:通常为系统发行版所提供的程序包(就是光盘)

updates库:存放更新包

extra库:存放额外包

epel库:epel库文件

库本身有优先级的,但是仅是在客户端有,服务器端是没有优先级的。


YUM管理命令

$ yum --help #查看yum命令使用帮助,常用命令会有以下这些 $ yum repolist #列出当前系统可用的repo id和repo name和status $ yum all #列出当前系统所有的repo id和repo name和status(enabled和disabled) $ yum list #列出库中的软件列表 $ yum available #列出yum仓库中有但是没有安装的 $ yum installed #列出yum仓库中已经安装的 $ yum updated #列出yum仓库中可用升级的 $ yum clean { all | package | headers } #清除所有缓存,已下载的元数据和和软件文件 all:将所有的数据删除,包括元数据和软件文件 package:将所有已下载的软件文件删除 headers:删除所有下载的元数据文件 $ yum info PACKAGE_NAME #查看RPM包信息 $ yum install PACKAGE_NAME #安装RPM软件包(自动解决依赖关系) -y:自动安装 $ yum remove PACKAGE_NAME #卸载RPM软件包(连同RPM依赖的包一同卸载) $ yum provides /PATH #根据文件路径查软件包名字,类似rpm -qf命令 $ yum grouplist #列出所有的组包括(installed groups和available groups) $ yum groupinfo “Development Tools” #查看组描述符包括(mandatory packages和default packages和option packages) $ yum groupinstall“Development Tools””Development Libraries” #安装指定组 $ yum groupremove “Development Tools” #卸载指定组 $ yum groupupdate “Development Tools” #升级指定组 $ yum localinstall PACKAGE_NAME #用yum本地安装像rpm安装一样指定完整包名,并会从yum库中找到此包所依赖的包解决依赖关系

命令使用示例

1)yum install

linux中yum命令的作用(详解Linux中yum包管理器)(2)

2)yum provides

linux中yum命令的作用(详解Linux中yum包管理器)(3)

YUM安装过程

分享一张图,总结的不错:

linux中yum命令的作用(详解Linux中yum包管理器)(4)


其实能用yum就用yum,不到最后一刻不要用rpm这种方式,毕竟卸载跟安装都是比较麻烦的,后面会分享更多Linux方面的内容,感兴趣的朋友可以关注一下~

linux中yum命令的作用(详解Linux中yum包管理器)(5)

,

免责声明:本文仅代表文章作者的个人观点,与本站无关。其原创性、真实性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容文字的真实性、完整性和原创性本站不作任何保证或承诺,请读者仅作参考,并自行核实相关内容。文章投诉邮箱:anhduc.ph@yahoo.com

    分享
    投诉
    首页