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并加以分析,才能自动化地完成余下的任务。它能够从指定的服务器自动下载RPM包并且安装,可以自动处理依赖性关系,并且一次安装所有依赖的软件包,无须繁琐地一次次下载、安装。自己本身也可以做yum服务器,本身可以根据光盘镜像做yum服务器。

搭建yum服务器:
(1)本地yum(服务器不能上网)
第一步:先挂载光盘
mount /dev/cdrom /media/
echo "/dev/cdrom  /media iso9660 defaults 0 0" >> /etc/fstab 实现开机挂载
第二步:建立yum仓库(以centos为例)
vim /etc/yum.repos.d/iso.repo (iso是随便取得名字,但是一定要以repo结尾)
[Centos]
name=CentOS
baseurl=file:///media/  
gpgcheck=1
enabled=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6
然后保存退出
(如果是redhat5.x的系统这里写成file:///media/Server/,是redhat6.x的系统file:///media/Packages/)


参数的解释
#####
[Centos]                         (这个是一个标识,可以随便取,必须唯一)
name=CentOS                      (这个是一个名字,可以随便取,必须唯一)
baseurl=file:///media/Server/    (本地的路径)  
enabled=1                        (为1则是打开仓库,为0则是关闭仓库)
gpgcheck=1                       (公钥值)
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6 (检测公钥值的文件路径)
[ ]内的是仓库的名字
name是仓库的描述也可以说是名字
baseurl 仓库的位置
enabled 是否启用这个仓库,1为起用,0为禁用
gpgcheck 是否检查GPG签名(用来验证要安装的包是不是REDHAT官方的)
gpgcheck 的存放地址我们需要用下面的命令导入这个签名。才能使用这项功能
#####

搭建完yum后,先输入 yum clean all

(2)外网yum(服务器能上网
vim /etc/yum.repos.d/163.repo


[base]
name=centos6
baseurl=http://mirrors.163.com/centos/$releasever/os/$basearch
gpgecheck=1
gpgkey=http://mirrors.163.com/centos/RPM-GPG-KEY-CentOS-6
然后保存退出


如果系统是5.x版本的redhat(baseurl=http://mirrors.163.com/centos/5/os/$basearch)
安装外网yum的时候可以自己先进去这个网站看看
http://mirrors.163.com/

搭建完yum后,先输入 yum clean all

使用yum

首先用yum来升级软件,yum的操作大都须有超级用户的权限,当然可以用sudo。

装了系统添加删除软件是常事,yum同样可以胜任这一任务,只要软件是rpm安装的。 
安装的命令是,yum install xxx,yum会查询数据库,有无这一软件包,如果有,则检查其依赖冲突关系,如果没有依赖冲突,那么最好,下载安装;如果有,则会给出提示,询问是否要同时安装依赖,或删除冲突的包,你可以自己作出判断。 
删除的命令是,yum remove xxx,同安装一样,yum也会查询数据库,给出解决依赖关系的提示。 

yum的常用命令:
1.yum check-update        列出所有可更新的软件清单
2.yum update             安装所有更新软件
3.yum -y install <package_name> 安装指定的软件
4.yum update <package_name>  更新指定的软件
5.yum list  <package_name>       不加<package_name>列出所有可安裝的软件清单,加了列出指定的
6.yum -y remove <package_name> 删除软件
7.yum search <package_name>   查找软件       
8.yum list installed   列出所有已安装的软件包
9.yum list extras    列出所有已安装但不在 Yum Repository 內的软件包
10.yum info <package_name>  不加<package_name>列出所有软件包的信息,加了列出指定的 
11.yum provides <package_name> 列出软件包提供哪些文件
12.yum clean packages 清除缓存目录(/var/cache/yum)下的软件包
13. yum clean all     清除缓存目录(/var/cache/yum)下的软件包及旧的headers

原创文章请随便转载。愿和大家分享,并且一起进步。-- 江 coder