小程序

Yum

2017-07-14  本文已影响215人  c80bc26f12ed
[root@localhost /]# yum -y install keepalived
Loaded plugins: fastestmirror, refresh-packagekit, security
Setting up Install Process
Loading mirror speeds from cached hostfile
 * epel: mirrors.tuna.tsinghua.edu.cn #此次安装使用哪个镜像地址
Resolving Dependencies
--> Running transaction check
---> Package keepalived.x86_64 0:1.2.13-5.el6_6 will be installed
--> Finished Dependency Resolution

yum 的宗旨是自动化地升级,安装/移除rpm 包,收集rpm 包的相关信息,检查依赖性并自动提示用户解决。yum 的关键之处是要有可靠的repository,顾名思义,这是软件的仓库,它可以是http 或ftp 站点,也可以是本地软件池,但必须包含rpm 的header,header 包括了rpm 包的各种信息,包括描述,功能,提供的文件,依赖性等。正是收集了这些header 并加以分析,才能自动化地完成余下的任务。

yum 的理念是使用一个中心仓库(repository)管理一部分甚至一个distribution 的应用程序相互关系,根据计算出来的软件依赖关系进行相关的升级、安装、删除等等操作,减少了Linux 用户一直头痛的dependencies 的问题。这一点上,yum 和apt 相同。apt 原为debian 的deb 类型软件管理所使用,但是现在也能用到RedHat 门下的rpm 了。

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

yum 可以同时配置多个资源库(Repository),简洁的配置文件(/etc/yum.conf),自动解决增加或删除rpm 包时遇到的依赖性问题,保持与RPM 数据库的一致性。

一、什么是repo文件
repo文件是Fedora中yum源(软件仓库)的配置文件,通常一个repo文件定义了一个或者多个软件仓库的细节内容,例如我们将从哪里下载需要安装或者升级的软件包,repo文件中的设置内容将被yum读取和应用!
YUM的工作原理并不复杂,每一个 RPM软件的头(header)里面都会纪录该软件的依赖关系,那么如果可以将该头的内容纪录下来并且进行分析,可以知道每个软件在安装之前需要额外安装 哪些基础软件。也就是说,在服务器上面先以分析工具将所有的RPM档案进行分析,然后将该分析纪录下来,只要在进行安装或升级时先查询该纪录的文件,就可 以知道所有相关联的软件。所以YUM的基本工作流程如下:
服务器端:在服务器上面存放了所有的RPM软件包,然后以相关的功能去分析每个RPM文件的依赖性关系,将这些数据记录成文件存放在服务器的某特定目录内。
客户端:如果需要安装某个软件时,先下载服务器上面记录的依赖性关系文件(可通过WWW或FTP方式),通过对服务器端下载的纪录数据进行分析,然后取得所有相关的软件,一次全部下载下来进行安装。

vi /etc/yum.conf[main]cachedir=/var/cache/yum#cachedir:yum缓存的目录,yum在此存储下载的rpm包和数据库,一般是/var/cache/yum。debuglevel=2#debuglevel:除错级别,0──10,默认是2 貌似只记录安装和删除记录logfile=/var/log/yum.logpkgpolicy=newest#pkgpolicy: 包的策略。一共有两个选项,newest和last,这个作用是如果你设置了多个repository,而同一软件在不同的repository中同时存 在,yum应该安装哪一个,如果是newest,则yum会安装最新的那个版本。如果是last,则yum会将服务器id以字母表排序,并选择最后的那个 服务器上的软件安装。一般都是选newest。distroverpkg=centos-release#指定一个软件包,yum会根据这个包判断你的发行版本,默认是redhat-release,也可以是安装的任何针对自己发行版的rpm包。tolerant=1#tolerent,也有1和0两个选项,表示yum是否容忍命令行发生与软件包有关的错误,比如你要安装1,2,3三个包,而其中3此前已经安装了,如果你设为1,则yum不会出现错误信息。默认是0。exactarch=1#exactarch,有两个选项1和0,代表是否只升级和你安装软件包cpu体系一致的包,如果设为1,则如你安装了一个i386的rpm,则yum不会用1686的包来升级。retries=20#retries,网络连接发生错误后的重试次数,如果设为0,则会无限重试。obsoletes=1gpgcheck=1#gpgchkeck= 有1和0两个选择,分别代表是否是否进行gpg校验,如果没有这一项,默认是检查的。reposdir=/etc/yy.rm #默认是 /etc/yum.repos.d/ 低下的 xx.repo后缀文件#默认都会被include 进来 也就是说 /etc/yum.repos.d/xx.repo 无论配置文件有多少个 每个里面有多少个[name] 最后其实都被整合到 一个里面看就是了 重复的[name]后面的覆盖前面的exclude=xxx#exclude 排除某些软件在升级名单之外,可以用通配符,列表中各个项目要用空格隔开,这个对于安装了诸如美化包,中文补丁的朋友特别有用。keepcache=[1 or 0]#  设置 keepcache=1,yum 在成功安装软件包之后保留缓存的头文件 (headers) 和软件包。默认值为 keepcache=0 不保存reposdir=[包含 .repo 文件的目录的绝对路径]#  该选项用户指定 .repo 文件的绝对路径。.repo 文件包含软件仓库的信息 (作用与 /etc/yum.conf 文件中的 [repository] 片段相同)。vi /etc/yum.repo.d/xx.repo这个字段其实也可以在yum.conf里面直接配置[serverid]#其中serverid是用于区别各个不同的repository(仓库;贮藏室;博物馆;亲信),必须有一个独一无二的名称。 重复了 前面覆盖后面--还是反过来呢???用enabled 测试是后面覆盖前面
name=Some name for this server#name,是对repository的描述,支持像$releasever $basearch这样的变量; name=Fedora Core $releasever - $basearch - Released Updatesbaseurl=url://path/to/repository/#baseurl是服务器设置中最重要的部分,只有设置正确,才能从上面获取软件。它的格式是:baseurl=url://server1/path/to/repository/url://server2/path/to/repository/url://server3/path/to/repository/#其中url支持的协议有 http:// ftp:// file://三种。baseurl后可以跟多个url,你可以自己改为速度比较快的镜像站,但baseurl只能有一个,也就是说不能像如下格式:baseurl=url://server1/path/to/repository/baseurl=url://server2/path/to/repository/baseurl=url://server3/path/to/repository/其中url指向的目录必须是这个repository header目录的上一级,它也支持$releasever $basearch这样的变量。#mirrorlist=http://mirrors.fedoraproject.org/mirrorlist?repo=fedora-$releasever&arch=$basearch#上面的这一行是指定一个镜像服务器的地址列表,通常是开启的,本例中加了注释符号禁用了,我们可以试试,将$releasever和$basearch替换成自己对应的版本和架构,例如10和i386,在浏览器中打开,我们就能看到一长串镜可用的镜像服务器地址列表。url之后可以加上多个选项,如gpgcheck、exclude、failovermethod等,比如:gpgcheck=1exclude=gaim#其中gpgcheck,exclude的含义和[main]部分相同,但只对此服务器起作用,failovermethod=priority#failovermethode 有两个选项roundrobin和priority,意思分别是有多个url可供选择时,yum选择的次序,roundrobin是随机选择,如果连接失 败则使用下一个,依次循环,priority则根据url的次序从第一个开始。如果不指明,默认是roundrobin。enabled=[1 or 0]#当某个软件仓库被配置成 enabled=0 时,yum 在安装或升级软件包时不会将该仓库做为软件包提供源。使用这个选项,可以启用或禁用软件仓库。#通过 yum 的 --enablerepo=[repo_name] 和 --disablerepo=[repo_name] 选项,或者通过 PackageKit 的"添加/删除软件"工具,也能够方便地启用和禁用指定的软件仓库几个变量:$releasever,发行版的版本,从[main]部分的distroverpkg获取,如果没有,则根据redhat-release包进行判断。$arch,cpu体系,如i686,athlon等$basearch,cpu的基本体系组,如i686和athlon同属i386,alpha和alphaev6同属alpha。对yum.conf设定完成,我们就可以好好体验yum带来的方便了。还有一件事没有做。那就是导入每个reposity的GPG key,前面说过,yum可以使用gpg对包进行校验,确保下载包的完整性,所以我们先要到各个repository站点找到gpg key,一般都会放在首页的醒目位置,一些名字诸如 RPM-GPG-KEY.txt之类的纯文本文件,把它们下载,然后用rpm --import xxx.txt命令将它们导入,最好把发行版自带GPG-KEY也导入,rpm --import /usr/share/doc/redhat-release-*/RPM-GPG-KEY 官方软件升级用的上。来源: http://junxi3q.blog.163.com/blog/static/134138699201141885616567/

二、****什么是epel

如果既想获得 RHEL 的高质量、高性能、高可靠性,又需要方便易用(关键是免费)的软件包更新功能,那么 Fedora Project 推出的 EPEL(Extra Packages for Enterprise Linux)正好适合你。EPEL(http://fedoraproject.org/wiki/EPEL) 是由 Fedora 社区打造,为 RHEL 及衍生发行版如 CentOS、Scientific Linux 等提供高质量软件包的项目。使用心得:1,不用去换原来yum源,安装后会产生新repo2,epel会有很多源地址,如果一个下不到,会去另外一个下 http://mirror.suhu.com/fedora-epel/6/x86_64/epel-release-6-8.noarch.rpm3,更新时如果下载的包不全,就不会进行安装。这样的话,依赖关系可以保重
安装epel:32位系统选择:rpm -ivh http://mirror.suhu.com/fedora-epel/6/i386/epel-release-6-8.noarch.rpm64位系统选择:rpm -ivh http://mirror.suhu.com/fedora-epel/6/x86_64/epel-release-6-8.noarch.rpm导入key:rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-6如果用比较新的软件,用epel-test.repo这个文件就行了别忘了安装yum install yum-priorities[root@localhost yum.repos.d]# ls |grep epelepel.repoepel-testing.repo
来源: http://blog.chinaunix.net/uid-2469966-id-3916408.html

三、yum源更换
首先备份/etc/yum.repos.d/CentOS-Base.repo

mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup
** 2.下载对应版本repo文件, 放入/etc/yum.repos.d/(操作前请做好相应备份)**
Centos7:
wget -P /etc/yum.repos.d http://mirrors.163.com/.help/CentOS7-Base-163.repo
Centos6:
wget -P /etc/yum.repos.d http://mirrors.163.com/.help/CentOS6-Base-163.repo
Centos5:
wget -P /etc/yum.repos.d http://mirrors.163.com/.help/CentOS5-Base-163.repo

** 3.运行以下命令生成缓存**
yum clean allyum makecache

考虑到同根性,如果安装第三方的源,最好找 Fedora 或者是 Red Hat 系的软件源,比如说 EPEL(Extra Packages for Enterprise Linux)这个源就非常不错,加上本身就是 Fedora 维护的,兼容性比较高,如果要求没有那么高的话,完全可以使用在生产环境中。

下面介绍下如何添加 EPEL 源:

首先我们确定系统版本,打开终端先提权至超级用户。

cat /etc/redhat-release

如果显示的是 CentOS release 6.X (Final),好下面跟着做。

使用下面的命令安装 EPEL 源:

wget http://download.fedoraproject.org/pub/epel/6/i386/epel-release-6-8.noarch.rpm
epel源 会在自动分流到镜像网站 选择自己版本的文件下载
rpm -Uvh epel-release-6-8.noarch.rpm

这时候如果没错的话,会出现下面这一段:

「Cannot retrieve metalink for repository: epel. Please verify its path and try again」

这就需要修改 epel.repo 文件,输入以下命令:

vi /etc/yum.repos.d/epel.repo

不少人对 vi 编辑器不是很熟悉,简单说一下怎么改,需要修改的是 [epel] 下的 baseurl 前的 # 号去掉,mirrorlist 前添加 # 号

具体编辑器操作:首先将光标移动到 baseurl 的 b 上,然后键盘敲「i」,删掉 #,移动到下一行,在 mirrorlist 前敲入 #,最后敲键盘的「ESC」退出编辑模式, 最后键盘输入「wq」保存并退出 vi 编辑器。

然后再运行

yum makecache

这时候就不会报错了,源也可以正常使用。要是不确定的话,你可以敲入

yum repolist

验证源已经被正常安装。

3、导入KEY

rpm --import http://mirrors.shlug.org/centos/RPM-GPG-KEY-CentOS-5
rpm --import http://centos.ustc.edu.cn/centos/RPM-GPG-KEY-CentOS-5

4、安装自动源选择插件--自动选择最快的源

yum install yum-fastestmirror -y

5、如何确认正在使用的是哪个源?

cd /var/cache/yum
cat timedhosts.txt

如果我在那个目录里放了很多源,怎么知道当前用的是那个呢?如果你没有改yum.conf,那么看/var/cache/yum/文件夹里的一个time开头的文件,就知道了
  如果在使用yum install安装找不到某些包的时候,可以使用下面办法试试
  wget http://dag.wieers.com/rpm/packages/rpmforge-release/rpmforge-release-0.3.6-1.el5.rf.i386.rpm
  rpm -Uvh rpmforge-release-0.3.6-1.el5.rf.i386.rpm

设置yum源的优先级

【关于yum的一点资料】
一、yum是什么yum = Yellow dog Updater, Modified主要功能是更方便的添加/删除/更新RPM包.它能自动解决包的倚赖性问题.它能便于管理大量系统的更新问题
二、 yum特点可以同时配置多个资源库(Repository)简洁的配置文件(/etc/yum.conf,/etc/yum.repos.d 下的文件)自动解决增加或删除rpm包时遇到的倚赖性问题使用方便保持与RPM数据库的一致性三、 yum安装Centos/RHEL1. #rpm -ivh yum-2.4.3-4.el4.centos.noarch.rpm四、yum配置*yum的配置文件yum的一切配置信息都储存在一个叫yum.conf的配置文件中,通常位于/etc目 录下,这是整个yum系统的重中之重,所以有必要详细介绍。下面是一个从网上找来的yum.con文件,让我们以此为例,进行说明。
[main] cachedir=/var/cache/yum debuglevel=2 logfile=/var/log/yum.log pkgpolicy=newest distroverpkg=redhat-release tolerant=1 exactarch=1 retries=1 [base] name=Fedora Core $releasever - $basearch - Base baseurl=http://download.atrpms.net/mirrors/fedoracore/$releasever/$basearch/os http://rpmfind.net/linux/fedora/cor...er/$basearch/os http://mirror.clarkson.edu/pub/dist...er/$basearch/os [updates-released] name=Fedora Core $releasever - $basearch - Released Updates baseurl=http://download.atrpms.net/mirrors/fedoracore/updates/$releasever/$basearch http://redhat.linux.ee/pub/fedora/l...sever/$basearch http://fr2.rpmfind.net/linux/fedora...sever/$basearch [Fedora.us] name=Fedora.us - $basearch - Extras baseurl=http://fedora.linux.duke.edu/fedorax86_64/fedora.us/$releasever/$basearch/RPMS.stable [Dag Wieers] name=Dag RPM Repository for Fedora Core baseurl=http://apt.sw.be/fedora/$releasever/en/$basearch/dag [Livna] Name=Livna RPM, Fedora Core $releasever - $basearch baseurl=http://rpm.livna.org/fedora/$releasever/$basearch/RPMS.stable [freshrpms] name=FreshRPMs baseurl=http://ayo.freshrpms.net/fedora/linux/$releasever/$basearch/freshrpms/ http://ftp.us2.freshrpms.net/linux/...arch/freshrpms/

第一部分(这是yum的全局性设置。默认一般不必改动。)[main]cachedir:yum缓存的目录,yum在此存储下载的rpm包和数据库,一般是/var/cache/yum。debuglevel:除错级别,0-10,默认是2。logfile:yum的日志文件,默认是/var/log/yum.log。pkgpolicy:包的策略。一共有两个选项,newest和last,这个作用是如果你设置了多个repository,而同一软件在不同的repository中同时存在,yum应该安装哪一个,如果是newest,则yum会安装最新的那个版本。如果是last,则yum会将服务器id以字母表排序,并选择最后的那个服务器上的软件安装。一般都是选newest。distroverpkg:指定一个软件包,yum会根据这个包判断你的发行版本,默认是redhat-release,也可以是安装的任何针对自己发行版的rpm包。exactarch,有两个选项1和0,代表是否只升级和你安装软件包cpu体系一致的包,如果设为1,则如你安装了一个i386的rpm,则yum不会用1686的包来升级。retries,网络连接发生错误后的重试次数,如果设为0,则会无限重试。tolerent,也有1和0两个选项,表示yum是否容忍命令行发生与软件包有关的错误,比如你要安装1,2,3三个包,而其中3此前已经安装了,如果你设为1,则yum不会出现错误信息。默认是0。除了上述之外,还有一些可以添加的选项,如exclude=,排除某些软件在升级名单之外,可以用通配符,列表中各个项目要用空格隔开,这个对于安装了诸如美化包,中文补丁的朋友特别有用。gpgchkeck= 有1和0两个选择,分别代表是否是否进行gpg校验,如果没有这一项,默认好像也是检查的。第二部分:配置repository服务器了,这是最令人激动的,有了好的repository,就如家门口开了大卖场,要什么东西稍微跑跑腿就行,对了这还是个免费的大卖场。所有服务器设置都应该遵循如下格式:1. [serverid]2. name=Some name for this server3. baseurl=url://path/to/repository/其中serverid是用于区别各个不同的repository,必须有一个独一无二的名称。name,是对repository的描述,支持像$releasever $basearch这样的变量;baseurl是服务器设置中最重要的部分,只有设置正确,才能从上面获取软件。它的格式是:1. baseurl=url://server1/path/to/repository/2. url://server2/path/to/repository/3. url://server3/path/to/repository/其中url支持的协议有 http:// ftp:// file://三种。baseurl后可以跟多个url,你可以自己改为速度比较快的镜像站,但baseurl只能有一个,也就是说不能像如下格式:1. baseurl=url://server1/path/to/repository/2. baseurl=url://server2/path/to/repository/3. baseurl=url://server3/path/to/repository/其中url指向的目录必须是这个repository header目录的上一级,它也支持$releasever $basearch这样的变量。url之后可以加上多个选项,如gpgcheck、exclude、failovermethod等,比如:1. [updates-released]2. name=Fedora Core $releasever - $basearch - Released Updates3. baseurl=http://download.atrpms.net/mirrors/fedoracore/updates/$releasever/$basearch4. http://redhat.linux.ee/pub/fedora/linux/core/updates/$releasever/$basearch5. http://fr2.rpmfind.net/linux/fedora/core/updates/$releasever/$basearch6. gpgcheck=17. exclude=gaim8. failovermethod=priority其中gpgcheck,exclude的含义和[main]部分相同,但只对此服务器起作用,failovermethode 有两个选项roundrobin和priority,意思分别是有多个url可供选择时,yum选择的次序,roundrobin是随机选择,如果连接失 败则使用下一个,依次循环,priority则根据url的次序从第一个开始。如果不指明,默认是roundrobin。几个变量$releasever,发行版的版本,从[main]部分的distroverpkg获取,如果没有,则根据redhat-release包进行判断。$arch,cpu体系,如i686,athlon等$basearch,cpu的基本体系组,如i686和athlon同属i386,alpha和alphaev6同属alpha。对yum.conf设定完成,我们就可以好好体验yum带来的方便了。五、RHEL/CENTOS的yum源1、修改配置文件2、导入GPG KEY导入每个reposity的GPG key,前面说过,yum可以使用gpg对包进行校验,确保下载包的完整性,所以我们先要到各个repository站点找到gpg key,一般都会放在首页的醒目位置,一些名字诸如 RPM-GPG-KEY.txt之类的纯文本文件,把它们下载,然后用rpm --import xxx.txt命令将它们导入,最好把发行版自带GPG-KEY也导入。rpm --import /usr/share/doc/redhat-release-/RPM-GPG-KEY 官方软件升级用的上。六、扩展你的rpm包****1、rpmforgeCentos/RHEL默认的yum软件仓库非常有限,仅仅限于发行版本那几张盘里面的常规包和一些软件包的更新,利用RpmForge,可以增加非常多的第三方rpm软件包。获取http://dag.wieers.com/rpm/packages/rpmforge-release/找到与系统平台架构匹配的rpmforge包安装之即可。安装完后.默认会在系统的/etc/yum.repos.d/下新增两个文件,mirrors-rpmforge和rpmforge.repo安装# rpm -ivh rpmforge-release-0.3.6-1.el4.rf.i386.rpm# rpm --import http://dag.wieers.com/rpm/packages/RPM-GPG-KEY.dag.txt2、加速yum更新速度*安装yum的fast mirror插件,可以加快 CentOS/RHEL yum的速度和提高稳定性,效果显著。centos5 #yum -y install yum-fastestmirrorcentos4 yum -y install yum-plugin-fastestmirror

七、 yum使用注:当第一次使用yum或yum资源库有更新时,yum会自动下载所有所需的headers放置于/var/cache/yum目录下,所需时间可能较长.
系统更新(更新所有可以升级的rpm包,包括kernel)#yum -y update

每天定期执行系统更新#chkconfig yum on#service yum start

*rpm包的更新,检查可更新的rpm包#yum check-update

更新所有的rpm包#yum update

更新指定的rpm包,如更新kernel和kernel source#yum update kernel kernel-source

大规模的版本升级,与yum update不同的是,连旧的淘汰的包也升级#yum upgrade

*rpm包的安装和删除安装rpm包,如xmms-mp3#yum install xmms-mp3

删除rpm包,包括与该包有倚赖性的包#yum remove licq注:同时会提示删除licq-gnome,licq-qt,licq-text

*yum暂存(/var/cache/yum/)的相关参数清除暂存中rpm包文件#yum clean packages

清除暂存中rpm头文件#yum clean headers

清除暂存中旧的rpm头文件#yum clean oldheaders

清除暂存中旧的rpm头文件和包文件#yum clean 或#yum clean all注:相当于yum clean packages + yum clean oldheaders

*rpm包列表列出资源库中所有可以安装或更新的rpm包#yum list

列出资源库中特定的可以安装或更新以及已经安装的rpm包#yum list mozilla#yum list mozilla*注:可以在rpm包名中使用匹配符,如列出所有以mozilla开头的rpm包

列出资源库中所有可以更新的rpm包#yum list updates

列出已经安装的所有的rpm包#yum list installed

列出已经安装的但是不包含在资源库中的rpm包#yum list extras注:通过其它网站下载安装的rpm包*rpm包信息显示(info参数同list)

列出资源库中所有可以安装或更新的rpm包的信息#yum info

列出资源库中特定的可以安装或更新以及已经安装的rpm包的信息#yum info mozilla#yum info mozilla*注:可以在rpm包名中使用匹配符,如列出所有以mozilla开头的rpm包的信息

列出资源库中所有可以更新的rpm包的信息#yum info updates

列出已经安装的所有的rpm包的信息#yum info installed

列出已经安装的但是不包含在资源库中的rpm包的信息#yum info extras注:通过其它网站下载安装的rpm包的信息

*搜索rpm包搜索匹配特定字符的rpm包#yum search mozilla注:在rpm包名,包描述等中搜索

搜索有包含特定文件名的rpm包#yum provides realplay

八、yum常用问题解决****1、如果网速慢的话可以通过增加yum的超时时间,这样就不会总是因为超时而退出。#vi /etc/yum.conf#加上这么一句timeout=120

2、yum Existing lock错误的解决办法如果系统启动的时候, yum出现Existing lock /var/run/yum.pid: another copy is running as pid 3380. Aborting.可以用下面的办法解决:方法一etc/init.d/yum-updatesd stop
方法二#rm -f /var/run/yum.pid主要原因就是yum在自动更新,只要关掉它就可以了。

先安装fastestmirror,让系统yum的时候自动选择最快的镜像:
#yum install yum-fastestmirror -y
接下来说说RPMForge。
RPMForge是一个安全、稳定并且更新及时的软件仓库,通过安装RPMForge可以是CentOS在进行yum update的时候多一个选择,有时候甚至是唯一的选择,比如想要升级rsync到3.0.x版本,如果懒得自己编译安装,就得依靠RPMForge了。
1、先安装priority这个yum的插件,这个插件用来设定安装软件时候软件仓库的优先级,一般是默认先从官方base或者镜像安装,然后从社区用户contribute的软件中安装,再从第三方软件仓库中安装。#yum install yum-priorities
2、手动编辑 /etc/yum.repos.d/ 目录中后缀为.repos的文件来设置软件仓库的优先级priority=N(N是整数,范围从1-99,数字越小代表优先级越高)
官方推荐配置是[base], [addons], [updates], [extras] 这几部分 priority=1[centosplus],[contrib] 这几部分priority=2Third Party Repos such as rpmforge … priority=N (where N is > 10 and based on your preference)
3、现在开始安装rpmforge的软件仓库先下载rpmforge的安装包 i386 *wget http://apt.sw.be/redhat/el5/en/i386/RPMS.dag/rpmforge-release-0.3.6-1.el5.rf.i386.rpm
x86_64 wget http://apt.sw.be/redhat/el5/en/x86_64/RPMS.dag/rpmforge-release-0.3.6-1.el5.rf.x86_64.rpm
安装
rpm -i rpmforge-release-0.3.6-1.el5.rf..rpm

更改 /etc/yum.repos.d/rpmforge.repo 配置文件,添加
priority=1
(或者2.3.4….)
现在就可以使用rpmforge这个软件仓库了。比如yum update rsync,嘿嘿,成功升级到3.0.5了。

yum命令简介
下面是一些较常见的用法。

命令
功能

yum check-update
检查可更新的所有软件包

yum update
下载更新系统已安装的所有软件包

yum upgrade
大规模的版本升级,与yum update不同的是,连旧的淘汰的包也升级

yum install <packages>
安装新软件包

yum update <packages>
更新指定的软件包

yum remove <packages>
卸载指定的软件包

yum groupinstall <groupnames>
安装指定软件组中的软件包

yum groupupdate <groupnames>
更新指定软件组中的软件包

yum groupremove <groupnames>
卸载指定软件组中的软件包

yum grouplist
查看系统中已经安装的和可用的软件组

yum list
列出资源库中所有可以安装或更新以及已经安装的rpm包

yum list <regex>
列出资源库中与正则表达式匹配的可以安装或更新以及已经安装的rpm包

yum list available
列出资源库中所有可以安装的rpm包

yum list available <regex>
列出资源库中与正则表达式匹配的所有可以安装的rpm包

yum list updates
列出资源库中所有可以更新的rpm包

yum list updates <regex>
列出资源库中与正则表达式匹配的所有可以更新的rpm包

yum list installed
列出资源库中所有已经安装的rpm包

yum list installed <regex>
列出资源库中与正则表达式匹配的所有已经安装的rpm包

yum list extras
列出已经安装的但是不包含在资源库中的rpm包

yum list extras <regex>
列出与正则表达式匹配的已经安装的但是不包含在资源库中的rpm包

yum list recent
列出最近被添加到资源库中的软件包

yum search <regex>
检测所有可用的软件的名称、描述、概述和已列出的维护者,查找与正则表达式匹配的值

yum provides <regex>
检测软件包中包含的文件以及软件提供的功能,查找与正则表达式匹配的值

yum clean headers
清除缓存中的rpm头文件

yum clean packages
清除缓存中rpm包文件

yum clean all
清除缓存中的rpm头文件和包文件

yum deplist <packages>
显示软件包的依赖信息


yum-plugin-priorities.noarch : plugin to give priorities to packages from different repos
安装yum-priorities插件
这个插件是用来设置yum在调用软件源时的顺序的。因为官方提供的软件源,都是比较稳定和被推荐使用的。因此,官方源的顺序要高于第三方源的顺序。如何保证这个顺序,就需要安装yum-priorities这插件了。

yum -y install yum-priorities

2、安装完yum-priorities插件后需要设置/etc/yum.repos.d/ 目录下的.repo相关文件(如CentOS-Base.repo),在这些文件中插入顺序指令:priority=N (N为1到99的正整数,数值越小越优先)
一般配置[base], [addons], [updates], [extras] 的priority=1,[CentOSplus], [contrib] 的priority=2,其他第三的软件源为:priority=N (推荐N>10)

[base]name=CentOS-$releasever
Basemirrorlist=http://mirrorlist.CentOS.org/?release=$releasever&arch=$basearch&repo=os

baseurl=http://mirror.CentOS.org/CentOS/$releasever/os/$basearch/gpgcheck=1gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-5priority=1...安装EPEL的rpm文件包

32位系统: rpm -ivh http://download.fedora.redhat.com/pub/epel/5/i386/epel-release-5-4.noarch.rpm
64位系统: rpm -ivh http://download.fedora.redhat.com/pub/epel/5/x86_64/epel-release-5-4.noarch.rpm
导入DAG的PGP Key: rpm –import /etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL
设置/etc/yum.repos.d/epel.repo文件中源的级别,就是添加priority=11这句。
[epel]name=Extra Packages for Enterprise Linux 5 – $basearch#baseurl=http://download.fedoraproject.org/pub/epel/5/$basearchmirrorlist=http://mirrors.fedoraproject.org/mirrorlist?repo=epel-5&arch=$basearchfailovermethod=priorityenabled=1gpgcheck=1gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPELpriority=11
下载rpmforge的rpm文件包32位系统: wget http://packages.sw.be/rpmforge-release/rpmforge-release-0.5.1-1.el5.rf.i386.rpm
64位系统: wget http://packages.sw.be/rpmforge-release/rpmforge-release-0.5.1-1.el5.rf.x86_64.rpm
安装DAG的PGP Key: rpm --import http://dag.wieers.com/rpm/packages/RPM-GPG-KEY.dag.txt
安装rpmforge的rpm文件包: rpm -i rpmforge-release-0.5.1-1.el5.rf.*.rpm
设置/etc/yum.repos.d/rpmforge.repo文件中源的级别,就是添加priority=12这句。
Ceph 的安装包在 epel 中也有,但是比较旧,已经把 Ceph 的源加入 /etc/yum.repos.d, 但是 yum 安装的时候,会选择 epel 里的 Ceph 软件包,而有是选择 Ceph 源里的。

解决方法:使用 YUM 的 yum-plugin-priorities 插件。

$ yum install yum-plugin-priorities

确认配置文件内容

cat /etc/yum/pluginconf.d/priorities.conf

[main]

enabled = 1

在 /etc/yum.repos.d/ceph.repo 中的每个节点加入

priority=1

priority 越小表示优先级越高

上一篇下一篇

猜你喜欢

热点阅读