在使用rpm或者源码包安装软件包的时候,有时候会遇到有依赖关系的,在处理上还是比较麻烦的,有这样的一个工具(方式)可以很轻松的解决这个问题,那就是使用yum,yum,是(Yellow dog Updater, Modified)的简称。yum 的理念是使用一个中心仓库(repository)管理一部分甚至一个distribution 的应用程序相互关系,根据计算出来的软件依赖关系进行相关的升级、安装、删除等等操作,减少了Linux 用户一直头痛的dependencies 的问题。


yum 主要功能是更方便的添加/删除/更新RPM 包,自动解决包的依赖性问题,便于管理大量系统的更新问题。


yum常用命令:
yum list                     列出当前的仓库中所有的软件包,那些是已经安装,那些是可安装
yum list installed           列出已安装的软件包
yum list package             列出包含指定信息的软件包,如yum list curl,查看curl的信息
yum serach package           搜索软件的相关信息
yum info package             列出软件的信息,可以知道是否已经安装
yum grouplist                列出当前的仓库中所有的软件套件,那些是已经安装,那些是可安装
yum install /remove /update(upgrade) package        安装、删除(卸载)、升级(更新)软件
yum groupinstall /remove/update(upgrade) package         安装、删除(卸载)、升级(更新)软件套件



创建本地YUM仓库


使用yum安装软件是非常方便,可以帮助我们解决软件之间的依赖关系,但是当我们Linux系统无法联网的时候,我们自己创建本地的yum仓库,使用yum安装软件。


1)、首先我们把我们的CentOS系统的安装光盘放入光驱,然后使用mount 命令挂载光盘,mount /dev/cdrom /mnt

# mount /dev/cdrom /mnt 
mount: block device /dev/sr0 is write-protected, mounting read-only
# ls /mnt
CentOS_BuildTag  isolinux                  RPM-GPG-KEY-CentOS-Debug-6
EFI              Packages                  RPM-GPG-KEY-CentOS-Security-6
EULA             RELEASE-NOTES-en-US.html  RPM-GPG-KEY-CentOS-Testing-6
GPL              repodata                  TRANS.TBL
images           RPM-GPG-KEY-CentOS-6


2)、修改yum源的配置文件,首先在修改前对/etc/yum.repos.d/目录下的文件做一次备份,然后修改并启用本地yum源的配置文件,禁用连接外网的yum源配置文件。

禁用连接外网的yum配置文件,我们可以把/etc/yum.repos.d/目录下是文件全部删除:rm –rf /etc/yum.repos.d/*,或者我们对/etc/yum.repos.d/目录下的,CentOS-Base.repo和CentOS-Debuginfo.repo更名,让他们失去作用命令为:

mv CentOS-Base.repo CentOS-Base.repo.bak  
mv CentOS-Debuginfo.repo CentOS-Debuginfo.repo.bak

这我将它们改名。


然后修改CentOS-Media.repo配置文件,如下所示:


[local_cdrom]                           #说明这个yum仓库的名字,会在列表中显示
name=CentOS-$releasever – Media                #说明下这个仓库的名字,没有什么意义
baseurl=file:///mnt/                        #yum仓库的地址:可以http、ftp
gpgcheck=0                               # 检查GPG-KEY,1为检查,0为不检查
enabled=1                                 #是否启用,1表示启用,0表示禁用
#gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6  #gpgcheck=0时无需配置,这里#号注释掉


3)、使用yum list 可以看到我们刚刚的配置成功了,如果还没有显示,我们可以刷新repos缓存,命令为:

yum makecache



yum如何下载rpm包到本地


如何使用yum 下载rpm软件包而不安装?首先需要安装一个插件:yum-plugin-downloadonly


1)、使用yum 命令安装:

# yum install yum-plugin-downloadonly


2)、修改配置文件,启用插件yum-plugin-downloadonly

# vim /etc/yum/pluginconf.d/fastestmirror.conf 

[main]
enabled=1   #1表示启用,0表示禁用
verbose=0
always_print_best_host = true
socket_timeout=3
#  Relative paths are relative to the cachedir (and so works for users as well
# as root).
hostfilepath=timedhosts.txt
maxhostfileage=10
maxthreads=15
#exclude=.gov, facebook
#include_only=.nl,.de,.uk,.ie


3)、使用yum下载软件的命令格式:

yum install package –downloadonly ,如我们下载:

yum install zsh –downloadonly.


默认的下载的只是是:/var/cache/yum/x86_64/6/base/packages/(不同版本的路径不一样,这里的是CentOS6.7x86-64),我们可以使用—downloaddir指定下载路径:

yum install package –downloadonly –downloaddir=/downloaddir


4)、对于已经安装过的软件包,yum install package –downloadonly –downloaddir=/downloaddir

这种方法是不能下载的,我们需要这样才能下载:

yum reinstall package –downloadonly –downloaddir=/downloaddir