程序包的前端工具yum

一、简介

如果你曾在为安装RPM程序包的时候,被其恼人的依赖关系而折磨得不像人形,那么RPM的前端工具yum就是你的救星。yum命令能够让系统管理人员提供交互的、自动化地管理RPM程序包。yum命令在接收到相应的指令后,能够从指定的服务器中自动下载RPM包并且安装,在安装的时候能够自动解决程序包的依赖关系,一次性地把程序包所依赖的程序包下载安装。

二、yum的配置文件

yum的配置文件有/etc/yum.conf 和目录/etc/yum.repos.d/下的以repo结尾的文件。

/etc/yum.conf文件为存放yum命令系统配置的文件,其内容为(#后面内容为相关解释):

[main]
cachedir=/var/cache/yum/$basearch/$releasever   #yum下载的RPM包的缓存目录
keepcache=0  #是否保存缓存,0为不保存,1为保存
debuglevel=2  #调试级别(0-10),默认为2
logfile=/var/log/yum.log #yum的日志文件所在的位置
exactarch=1  #在更新的时候,是否允许更新不同版本的RPM包
obsoletes=1  #这是个update参数,相当于yum upgrade,允许更新被淘汰的RPM包;
gpgcheck=1  #是否进行GPG检查
plugins=1  #是否允许使用插件,0是不允许;

installonly_limit=5 #允许保留多少个内核包;
bugtracker_url=http://bugs.centos.org/set_project.php?project_id=23&ref=http://bugs.centos.org/bug_report_page.php?category=yum
distroverpkg=centos-release
exclude=centos-release* #屏蔽不想更新的RPM包,可使用通配符,多个RPM包之间使用空格分离,相当于update的--exclude选项;


#  This is the default, if you make this bigger yum won't see if the metadata
# is newer on the remote and so you'll "gain" the bandwidth of not having to
# download the new metadata and "pay" for it by yum not having correct
# information.
#  It is esp. important, to have correct metadata, for distributions like
# Fedora which don't keep old packages around. If you don't like this checking
# interupting your command line usage, it's much better to have something
# manually check the metadata once an hour (yum-updatesd will do this).
# metadata_expire=90m

# PUT YOUR REPOS HERE OR IN separate files named file.repo
# in /etc/yum.repos.d

在/etc/yum.repos.d/目录下存放着yum的repo文件,该类型文件通常定义了一个或多个软件仓库的明细内容,yum命令读取该类型文件来得知从哪里下载需要安装或升级的软件包。

repo文件中定义一个yum源的格式通常为:

[base]
name=Centos-7.0-Base
baseurl=http://mirror.centos.org/centos-7/7/os/$basearch/
gpgcheck=1
gpgkey=http://mirror.centos.org/centos-7/7/os/x86_64/RPM-GPG-KEY-CentOS-7
enabled=1

[base]:代表这个yum库的ID,唯一存在;
name:表示这个yum库的名字;
baseurl:表示一个yum库的URL来源地址;其支持多种路径格式,包括http://、ftp://、nfs://、file:///等;
gpgcheck:表示是否进行gpg检查,1为检查,0为不检查;
gpgkey:用于进行gpg检查的key的来源路径;
enable:是否启用该yum源,0表示禁用,1为启用;

三、yum命令的使用

1、命令格式:

yum [options] [command] [package ...]

yum命令其实与RPM命令类似,也为管理员提供了不同的功能命令,如安装、升级、卸载、查询等等。

2、通用选项options:

-h:显示帮助信息;
-y:对所有的提问都回答“yes”;
-c:指定配置文件;
-q:静默模式;
-x,--exclude=package:将某个包排除,支持通配符;
--nogpgcheck:不进行GPG签名检查;
--disablerepo=repoidglob:临时禁用此处指定的repo文件;
--enablerepo=repoidglob:临时启用此处指定的repo文件;
--noplugins:禁用所有插件;

3、功能命令command

install:安装RPM软件包;
clean:清理缓存信息;
reinstall:重新安装RPM软件包;
check-update:检查是否有可用的更新RPM软件包;
info:显示指定的RPM软件包的信息和汇总信息;
list:显示软件包的信息
remove | erase:卸载指定的RPM包,卸载时会把相关依赖包也一并卸载掉;
provides:查看指定的特性或文件是由什么程序包凹提供的;
clean [ packages | metadata | exppire-cache | rpmdb | plugins | all ] :清理本地缓存;
makecache:创建缓存;
search string1 string2:以指定的关键字搜索程序包及汇总信息;
deplist package1 package2:查看指定包的依赖关系;
history [info|list|packages-list|packages-info|summary|addon-info|redo|undo|rollback|new|sync|stats]:查看yum的历史信息;
repolist [all|enabled|disabled]:可以显示所有配置了的yum源,也可以分别显示可用的或不可用的yum源
groupinstall :安装一个组包;
groupupdate:更新一个组包;
grouplist:列出当前的组包;
groupremove:删除一个组包;
groupinfo:列出一个组包的详细信息;
update:更新相关的软件包;

四、使用案例

使用yum安装zsh:

[root@localhost ~]# yum install -y zsh
已加载插件:fastestmirror, langpacks
Loading mirror speeds from cached hostfile
 * base: mirrors.aliyun.com
 * extras: mirrors.aliyun.com
 * updates: mirrors.cn99.com
正在解决依赖关系
--> 正在检查事务
---> 软件包 zsh.x86_64.0.5.0.2-28.el7 将被 安装
--> 解决依赖关系完成

依赖关系解决

=================================================================================================================================
 Package                    架构                          版本                                 源                           大小
=================================================================================================================================
正在安装:
 zsh                        x86_64                        5.0.2-28.el7                         base                        2.4 M

事务概要
=================================================================================================================================
安装  1 软件包

总下载量:2.4 M
安装大小:5.6 M
Downloading packages:
zsh-5.0.2-28.el7.x86_64.rpm                                                                               | 2.4 MB  00:00:00     
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
  正在安装    : zsh-5.0.2-28.el7.x86_64                                                                                      1/1 
  验证中      : zsh-5.0.2-28.el7.x86_64                                                                                      1/1 

已安装:
  zsh.x86_64 0:5.0.2-28.el7                                                                                                      

完毕!
[root@localhost ~]# 

查询vim功能是由哪个包提供的:

[root@localhost ~]# yum provides vim
已加载插件:fastestmirror, langpacks
Loading mirror speeds from cached hostfile
 * base: mirrors.aliyun.com
 * extras: mirrors.aliyun.com
 * updates: mirrors.cn99.com
2:vim-enhanced-7.4.160-2.el7.x86_64 : A version of the VIM editor which includes recent enhancements
源    :base
匹配来源:
提供    :vim = 7.4.160-2.el7

使用yum删除zsh软件:

[root@localhost ~]# yum -y remove zsh
已加载插件:fastestmirror, langpacks
正在解决依赖关系
--> 正在检查事务
---> 软件包 zsh.x86_64.0.5.0.2-28.el7 将被 删除
--> 解决依赖关系完成

依赖关系解决

=================================================================================================================================
 Package                    架构                          版本                                源                            大小
=================================================================================================================================
正在删除:
 zsh                        x86_64                        5.0.2-28.el7                        @base                        5.6 M

事务概要
=================================================================================================================================
移除  1 软件包

安装大小:5.6 M
Downloading packages:
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
  正在删除    : zsh-5.0.2-28.el7.x86_64                                                                                      1/1 
  验证中      : zsh-5.0.2-28.el7.x86_64                                                                                      1/1 

删除:
  zsh.x86_64 0:5.0.2-28.el7                                                                                                      

完毕!

创建yum缓存

[root@localhost ~]# yum makecache
已加载插件:fastestmirror, langpacks
base                                                                                                      | 3.6 kB  00:00:00     
extras                                                                                                    | 3.4 kB  00:00:00     
updates                                                                                                   | 3.4 kB  00:00:00     
(1/4): extras/7/x86_64/other_db                                                                           | 118 kB  00:00:00     
(2/4): extras/7/x86_64/prestodelta                                                                        | 128 kB  00:00:00     
(3/4): updates/7/x86_64/filelists_db                                                                      | 4.2 MB  00:00:01     
(4/4): extras/7/x86_64/filelists_db                                                                       | 702 kB  00:00:01     
Loading mirror speeds from cached hostfile
 * base: mirrors.aliyun.com
 * extras: mirrors.aliyun.com
 * updates: mirrors.cn99.com
元数据缓存已建立

检查RPM软件包可用的更新:

[root@localhost ~]# yum check-update
已加载插件:fastestmirror, langpacks
Loading mirror speeds from cached hostfile
 * base: mirrors.aliyun.com
 * extras: mirrors.aliyun.com
 * updates: mirrors.cn99.com

alsa-tools-firmware.x86_64                                         1.1.0-1.el7                                          base     
at.x86_64                                                          3.1.13-22.el7_4.2                                    updates  
authconfig.x86_64                                                  6.2.8-30.el7                                         base     
bash.x86_64                                                        4.2.46-29.el7_4                                      updates  
bind-libs.x86_64                                                   32:9.9.4-51.el7_4.2                                  updates  
bind-libs-lite.x86_64                                              32:9.9.4-51.el7_4.2                                  updates  
bind-license.noarch                                                32:9.9.4-51.el7_4.2                                  updates 
.....

显示与vim相关的RPM包:

[root@localhost ~]# yum list vim*
已加载插件:fastestmirror, langpacks
Loading mirror speeds from cached hostfile
 * base: mirrors.aliyun.com
 * extras: mirrors.aliyun.com
 * updates: mirrors.cn99.com
已安装的软件包
vim-common.x86_64                                              2:7.4.160-2.el7                                          @base    
vim-enhanced.x86_64                                            2:7.4.160-2.el7                                          @base    
vim-filesystem.x86_64                                          2:7.4.160-2.el7                                          @base    
vim-minimal.x86_64                                             2:7.4.160-1.el7                                          @anaconda
可安装的软件包
vim-X11.x86_64                                                 2:7.4.160-2.el7                                          base     
vim-minimal.x86_64                                             2:7.4.160-2.el7                                          base     

你可能感兴趣的:(程序包的前端工具yum)