一、YUM的简介
在使用rpm机制的时候,我们最闹心的地方,可能就是软件依赖问题了。而YUM机制恰恰帮助我们解决了这一问题。YUM,是Yellow dog Updater, Modified 的简称。YUM会通过分析rpm软件包内的预设参数,制定软件依赖的解决方法,然后自动处理软件依赖的问题。这样,在安装、升级或者是卸载时,用户就不必头疼这个依赖问题了。
图示YUM在线升级的原理与过程:
YUM服务器
yum客户端
流程
知道了软件的依赖关系,那如何解决的?YUM的理念是使用一个中心仓库(repository)管理一部分或是整个distribution 的应用程序的相互关系,根据计算出来的软件依赖关系,从资源库(repository)上自动下载这些软件,然后从下而上(好比盖高楼)的依次安装相关软件,从而解决软件的安装、升级、卸载等操作,减少了Linux 用户一直头痛的dependencies 的问题(注意,要保证你的Linux系统处于网络状态下)。
事实上,Linux厂商已经在全世界范围内架设了多个资源库(repository)基站,以供使用者进行下载,解决软件管理问题。
二、YUM的应用
1、YUM的查询功能
语法:yum [list|info|search|provides|whatprovides] 参数
常用案例如下:
[root@master test]# yum list all <==列出yum源仓库里面的所有可用的安装包
[root@master test]# yum list installed <==列出所有已经安装的安装包
[root@master test]# yum list available <==列出没有安装的安装包 ####安装软件
[root@master test]# yum info [软件名] <==查看软件的信息
[root@master test]# yum search [keywords] <==根据关键字查找到相关安装包软件的信息
[root@master test]# yum whatprovides [文件名] <==查找包含指定文件的相关安装包
2、YUM的安装/卸载功能
语法:yum [install | update| reinstall | remove ] [软件名称]
安装功能也必须获取root身份才可以进行
常用案例如下:
[root@master test]# yum install appname <==安装指定的软件
[root@master test]# yum reinstall appname <==重新安装指定的软件
[root@master test]# yum update [appname] <==升级指定软件,不指定软件时,升级整个系统的软件
[root@master test]# yum remove appname <==卸装指定的软件
3、YUM进行软件组管理
语法:yum [群组功能] [软件群组名称]
常用案例如下:
[root@master test]# yum grouplist <==列出所有可使用的软件组
[root@master test]# yum groupinstall [groupname] <==安装一个软件组
[root@master test]# yum groupremove [groupname] <==卸载一个软件组
[root@master test]# yum groupinfo [groupname] <==查看一个软件组的信息
三、YUM源的管理
1、YUM的配置信息
熟悉了YUM的用法后,我们不得不来了解一下YUM的配置,因此YUM的配置是至关重要的。这关系到YUM能否解决你的Linux系统上的软件依赖问题。
yum 的配置文件分为两部分:main 和repository。
main:定义了全局配置参数,位于/etc/yum.conf 中。
[root@master yum.repos.d]# cat /etc/yum.conf
[main]
cachedir=/var/cache/yum/$basearch/$releasever //yum缓存目录,用于存储下载的rpm包和数据库清单。
keepcache=0 //安装完成后是否保留软件包,0为不保留(默认为0),1为保留。
debuglevel=2 // Debug 信息输出等级,范围为0-10,缺省为2
logfile=/var/log/yum.log //yum日志文件
exactarch=1 // 值为1和0。1表示yum只会安装和平台匹配的软件包。
obsoletes=1 //这是一个update 的参数,允许更新陈旧的RPM包。
gpgcheck=1 //指定是否需要进行 GNU Private Guard) 校验,检查rpm的有效和安全性
plugins=1 //是否启用插件,默认1为允许,0表示不允许
installonly_limit=5
bugtracker_url=http://bugs.centos.org/set_project.php?project_id=16&ref=http://bugs.centos.org/bug_report_page.php?category=yum
distroverpkg=centos-release //指定一个软件包,yum 会根据这个包判断你的发行版本,默认是redhat-release.
repository:定义了每个源/服务器的具体配置,可以有一到多个。位于/etc/yum.repo.d 目录下的各文件中。文件的扩展名都是.repo。
[root@master yum.repos.d]# ll
-rw-r--r--. 1 root root 1926 12月 26 09:54 CentOS-Base.repo <==是yum 网络源的配置文件
-rw-r--r--. 1 root root 638 11月 27 2013 CentOS-Debuginfo.repo
-rw-r--r--. 1 root root 630 11月 27 2013 CentOS-Media.repo <==是yum 本地源的配置文件
-rw-r--r--. 1 root root 3664 11月 27 2013 CentOS-Vault.repo
我们来看一下CentOS-Base.repo文件,其他三个文件可以自己看看。
[root@master yum.repos.d]# cat CentOS-Base.repo.bak
[base] <==资料库的唯一标识符,我们发现,文件内配置了多个资料库
name=CentOS-$releasever - Base <==资料库的名称
mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=os <==这个软件库的镜像网址,不用可以注释
#baseurl=http://mirror.centos.org/centos/$releasever/os/$basearch/ <==指定一固定地址
gpgcheck=1 <==指定是否需要进行 GNU Private Guard) 校验,检查rpm的有效和安全性
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6 <==校验用的公钥#released updates
[updates] <==资料库的唯一标识符
..................#additional packages that may be useful
[extras] <==资料库的唯一标识符
...............#additional packages that extend functionality of existing packages
[centosplus]
.................
enabled=0 <==0为禁用资料库,默认为1,是启用资料库,
.................#contrib - packages by Centos Users
[contrib]
....................
enabled=0
....................
我们可以通过【 yum repolist all】查看启用的资料库
[root@master yum.repos.d]# yum repolist all
* base: mirrors.aliyun.com
* extras: mirrors.aliyun.com
* updates: mirrors.aliyun.com <== *号表示:可用的资料库和对应的服务器
repo id repo name status
C6.0-base CentOS-6.0 - Base disabled
C6.0-centosplus CentOS-6.0 - CentOSPlus disabled
C6.0-contrib CentOS-6.0 - Contrib disabled
.............. ............................ ...........
base CentOS-6 - Base enabled: 6,713
extras CentOS-6 - Extras enabled: 35
updates CentOS-6 - Updates enabled: 257
repolist: 7,005
2、YUM源的更改
几个国内常用的YUM源
1、https://mirrors.aliyun.com/centos/,阿里的服务器
2、http://mirrors.163.com/centos,网易的开源服务器镜像。全国用户推荐. 下载CentOS-Base-163.repo, 放入/etc/yum.repos.d/
3、http://ftp.sjtu.edu.cn/centos/,上海交大,服务器位于北京。北方用户与教育网用户推荐,速度飞快。
4、http://centos.ustc.edu.cn,中国科技大学,服务器位于合肥。 南方用户推荐。
5、http://mirrors.sohu.com/,搜狐的开源镜像服务器,服务器位于山东省联通。全国用户推荐。
6、http://ftp.twaren.net/Linux/CentOS ,台湾的高速网络中心
7、http://ftp.ksu.edu.tw/FTP/CentOS/7/,太歪的昆大服务器
配置网易的YUM源案例:
第一步:备份原有的YUM源,以便出错后进行还原
# mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.bak
第二步:下载网易的CentOS-Base.repo 到/etc/yum.repos.d/
联网下面语法:
wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.163.com/.help/CentOS6-Base-163.repo
或
curl -o /etc/yum.repos.d/CentOS-Base.repo http://mirrors.163.com/.help/CentOS6-Base-163.repo
第三步:清空缓存并重置资料库
# yum clean all
# yum makecache
-------------------------------------------------------------------------有何疑问,留言必答------------------------------------------------------------