我的开发服务器(CentOS 5)运行的是Subversion 1.4.2,我希望将其升级到1.5。我在分散在网络上的各种博客和文档中看到,这可以通过使用RPMForge来实现。我遵循了CentOS Wiki上的说明,包括安装yum-priorities并按照指示设置优先级(核心repo源分别为1和2,RPMForge为20 )。
但是,当我尝试运行:
$ yum info subversion给我的版本号仍然是1.4.2,状态是Installed。在这一点上,我的另一个选择是从源代码编译,但我希望找到一个包管理的解决方案,以便于将来的升级。
有什么想法吗?
发布于 2008-09-18 21:21:06
你要做的就是用一个来自“第三方”存储库(RPMForge)的较新的包来替换一个“核心”包(包含在CentOS存储库中),这就是优先级插件设计的目的。
RPMForge存储库包含CentOS中找不到的其他包,以及更新版本的核心包。不幸的是,yum非常愚蠢,总是会将包更新到它可以在任何存储库中找到的最新版本。因此,在启用RPMForge的情况下运行"yum update“将使用RPMforge的最新(最先进的、可能不稳定的、不太受支持的)包更新一半的系统。
因此,像RPMForge这样的repos的推荐使用方式是只将它们与一个yum插件一起使用,比如"priorites",它可以防止包从“高”优先级repos覆盖那些来自“低”优先级repos的repos( " priority“参数的名称非常具有误导性)。这样,您就可以轻松地从RPMForge安装额外的包(不在核心中),这正是大多数人想要的。
现在来回答你最初的问题。
如果你想替换一个核心包,事情就会变得有点棘手。基本上,你有两个选择:
/etc/yum.repos.d/rpmforge.repo中设置enabled = 0 )。然后,您可以在命令行上有选择地启用它:yum --enablerepo=rpmforge install subversion
将从RPMForge安装最新的subversion和依赖项。
这种方法的问题是,如果RPMForge中有subversion包的更新,那么当repo被禁用时,您将看不到它。要使subversion保持最新,您必须记住运行
yum --enablerepo=rpmforge更新subversion
exclude=subversion添加到/etc/yum.repos.d/CentOS-Base.repo中的[base]和[update]部分)。现在,yum将表现得好像核心存储库中没有名为"subversion“的包,并愉快地从RPMForge安装最新版本。此外,在运行yum update.时,您将始终获得最新的subversion更新
发布于 2010-01-29 00:27:01
1.-如果您使用yum优先级,请在文件/etc/yum/pluginconf.d/priorities.conf中禁用此功能
2.-检查subversion的版本
$ rpm -qa|grep subversion
subversion-1.4.2-4.el5_3.1
subversion-1.4.2-4.el5_3.1 3.-从rpmforge存储库中搜索subversion的最新版本
$ yum --enablerepo=rpmforge check-update subversion
subversion.x86_64 1.6.6-0.1.el5.rf rpmforge4.-现在处理以使用rpmforge存储库升级subversion
$ yum shell
>erase mod_dav_svn-1.4.2-4.el5_3.1
>erase subversion-1.4.2-4.el5_3.1
>install mod_dav_svn-1.6.6-0.1.el5.rf
>install subversion-1.6.6-0.1.el5.rf.x86_64
>run这就是我在运行centos5.4时的全部工作。
https://stackoverflow.com/questions/96597
复制相似问题