一、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是一个在Fedora、RedHat以及CentOS中的Shell前端软件包管理器。基于RPM包管理,能够从指定的服务器自动下载RPM包并且安装,可以自动处理依赖性关系,并且一次安装所有依赖的软件包,无须繁琐地一次次下载、安装。
二、yum的特点
总所周知,Redhat和Fedora的软件安装命令是rpm,但是用rpm安装软件最大的麻烦就是需要手动寻找安装该软件所需要的一系列依赖关系,超级麻烦不说,要是软件不用了需要卸载的话由于卸载掉了某个依赖关系而导致其他的软 件不能用是非常恼人的。令人高兴的是,Fedora终于推出了类似于ubuntu中的apt的命令yum,令Fedora的软件安装变得简单容易。yum有以下特点:
- 可以同时配置多个资源库(Repository)
- 简洁的配置文件(/etc/yum.conf)
- 自动解决增加或删除rpm包时遇到的倚赖性问题
- 使用方便
- 保持与RPM数据库的一致性
三、基本用法
1. 语法
yum [options] [command] [package ...]
参数:
options:可选,包括-h(帮助),-y(安装过程中提示全部选yes),-q(不显示安装过程)
command:要进行的操作
package:操作的对象
2. 常用命令
1)列出所有可更新的软件清单命令:yum check-update
2)更新所有软件命令:yum update
3)仅安装指定的软件命令:yum install <package_name>
4)仅更新指定的软件命令:yum update <package_name>
5)列出所有可安裝的软件清单命令:yum list,list后面可以接各种参数,详情请man yum
6)删除软件包命令:yum remove <package_name>
7)查找软件包 命令:yum search <keyword>
8)清除缓存命令:
yum clean packages: 清除缓存目录下的软件包
yum clean headers: 清除缓存目录下的 headers
yum clean oldheaders: 清除缓存目录下旧的 headers
yum clean, yum clean all (= yum clean packages; yum clean oldheaders) :清除缓存目录下的软件包及旧的headers
四、修改yum的源
笔者的系统是centos6.5,默认的源是国外的,速度无法保证,所以还是转为163的源,修改方法:
1. 备份默认源
mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup
2. 下载对应版本repo文件
wget http://mirrors.163.com/.help/CentOS6-Base-163.repo
3. 设置为默认源
mv ~/CentOS6-Base-163.repo CentOS-Base.repo
4. 清理并生成缓存
yum clean all
yum makecache
五、小结
yum的出现实际上避免了用其他方式安装软件时,还需要自己安装各种依赖,让整个安装过程更加自动化了。同时无论yum的配置还是命令,都非常简单,这也使得yum更加易用。
yum默认的源一般是国外的,可以设置国内的源,以让下载速度加快,整个设置流程也相当简单。