前面为大家介绍了RPM二进制包安装软件,RPM包安装的最大的缺点也提到过,就是依赖性太强,一旦遇到依赖问题,则需要我们手动解决包之间具有依赖性的问题,今天为大家介绍一种可自动解决包之间依赖关系的安装方式:yum
。
yum
全称“Yellow dog Updater, Modified”,是一个专门为了解决包的依赖关系而存在的软件包管理器。就好像 Windows 系统上我们通常可以通过各种软件管家实现软件的一键安装、升级和卸载,yum就是Linux 系统中的一键安装工具
。yum
解决依赖关系的基本逻辑是:yum 在服务器端存有所有的 RPM 包,并将各个包之间的依赖关系记录在文件中,当管理员使用 yum 安装 RPM 包时,yum 会先从服务器端下载包的依赖性文件,通过分析此文件从服务器端一次性下载所有相关的 RPM 包并进行安装。
一、yum安装
CentOS 默认已经安装了yum,不需要另外安装,不过为了保险起见,我们还是先看下系统中是否已安装了yum:
$rpm -qa|grep yum
如上截图,表示系统中已经安装了yum。
二、yum源配置
何为yum源,使用 yum 安装软件包之前,需指定好 yum 下载 RPM 包的位置,此位置称为 yum 源。换句话说,yum 源指的就是软件安装包的来源。
使用 yum 安装软件时至少需要一个yum源。yum源既可以使用网络yum源,也可以将本地光盘作为yum源。接下来就给大家介绍配置网络yun源,个人习惯阿里云的源。
网络 yum 源配置文件位于/etc/yum.repos.d/
目录下,文件扩展名为".repo"(只要扩展名为 ".repo" 的文件都是 yum 源的配置文件),通常情况下我们关注 CentOS-Base.repo 文件即可:
我们来看下这个文件里面都有什么内容:
vi CentOS-Base.repo
[BaseOS]
:容器名称,一定要放在[]中name
:容器说明mirrorlist
:镜像站点baseurl
:yum 源服务器的地址。默认是 CentOS 官方的 yum 源服务器,是可以使用的。如果你觉得慢,则可以改成你喜欢的 yum 源地址enabled
:此容器是否生效,如果不写或写成 enabled 则表示此容器生效,写成 enable=0 则表示此容器不生效gpgcheck
:如果为 1 则表示 RPM 的数字证书生效;如果为 0 则表示 RPM 的数字证书不生效gpgkey
:数字证书的公钥文件保存位置。不用修改
1、我们首先将Centos-Base.repo文件进行备份
文件备份可以用cp
命令复制一份,也可以把文件压缩成一个压缩包,这里我习惯压缩成一个压缩包:
$ zip Centos-Base.repo.zip Centos-Base.repo
2、删除Centos-Base.repo文件
$rm Centos-Base.repo
3、下载阿里云的yum源到etc/yum.repos.d文件目录下
$ wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
4、清理yum并生成缓存
$ yum clean all
三、yum相关操作命令
1、yum查询命令
yum list
:查询所有已安装和可安装的软件包yum list [包名]
:查询执行软件包的安装情况yum search [关键字]
:从 yum 源服务器上查找与关键字相关的所有软件包yum info [包名]
:查询执行软件包的详细信息
2、yum安装命令
yum 安装软件包的命令基本格式为:
yum -y install 包名
install
:表示安装软件包。-y
:自动回答结果为yes
。如果不加 -y,那么每个安装的软件都需要手动回答 yes
3、yum 升级命令
使用 yum 升级软件包,需确保yum源服务器中软件包的版本比本机安装的软件包版本高
$ yum -y update
:升级所有软件包。不过考虑到服务器强调稳定性,因此该命令并不常用。$ yum -y update [包名]
:升级特定的软件包
4、yum 卸载命令
$ yum remove 包名
使用 yum 卸载软件包时,会同时卸载所有与该包有依赖关系的其他软件包,即便有依赖包属于系统运行必备文件,也会被 yum 无情卸载,带来的直接后果可能会使系统崩溃。除你能确定卸载此包以及它的所有依赖包不会对系统产生影响,否则不要使用 yum 卸载软件包。