2008-09-18 68 views
22

我的開發服務器(CentOS 5)運行Subversion 1.4.2,我希望升級到1.5。我已閱讀遍佈在網絡上的各種博客和文檔,可以使用RPMForge完成此操作。我遵循CentOS Wiki上的說明,包括安裝yum -priority並按照指示設置我的優先級(核心repo源爲1和2,RPMForge爲20)。如何升級到Subversion 1.5在CentOS 5上?

然而,當我嘗試運行:

$ yum info subversion 

給我的版本號是1.4.2仍與安裝狀態。我現在的其他選擇是從源代碼編譯,但我想找到一個軟件包管理的解決方案,以便於將來的升級。

有什麼想法?

+0

您可能切換到Ubuntu並解決更多問題;) – sorin 2011-11-10 17:48:48

回答

45

你所要做的就是更換一個「核心」套餐(這是在CentOS的倉庫中包含 )與來自「第三 黨」庫(RPMForge軟件),一個新的包是什麼優先插件是 旨在防止。

RPMForge存儲庫包含在 CentOS中找不到的其他軟件包以及較新版本的核心軟件包。不幸的是,yum 是非常愚蠢的,並將始終將包更新到最新版本 ,它可以在任何存儲庫中找到。因此,啓用RPMforge 後運行「yum update」將使用RPMForge的最新版本(出血性邊緣, 可能不穩定且支持不好的軟件包)更新系統的一半。

因此,要使用回購像RPMForge的推薦的方法是用一個蔭插件像「priorites」,這防止「高」的優先級回購 包覆蓋那些從「低」 優先回購僅一起使用它們 (「優先級」參數的名稱非常容易引起誤導)。通過這種方式,您可以從RPMForge保存安裝附加的程序包(即 不在覈心中),這是大多數人想要的。

我們你原來的問題...

如果你想更換一個核心包,事情變得有點棘手。 基本上,你有兩個選擇:

  1. 卸載插件的優先級,並禁用 RPMForge軟件庫由 默認設置(設置/etc/yum.repos.d/rpmforge.repoenabled = 0)。您可以 然後有選擇地在命令行上啓用它:

    yum --enablerepo=rpmforge install subversion 
    

    將安裝來自RPMForge的最新的顛覆和依賴性。

    這種方法的問題是,如果RPMForge中的 顛覆軟件包有更新,那麼當回購是 禁用時,您將看不到它。要保持顛覆最新,你必須記得運行

    yum --enablerepo=rpmforge update subversion 
    

    時不時。

  2. 第二種可能性是使用priorites插件,但手動 「掩模」的核心顛覆包(添加exclude=subversion[base][update]切片在/etc/yum.repos.d/CentOS-Base.repo)。

    現在,yum的行爲就好像 核心存儲庫中沒有名爲「subversion」的軟件包,並且從 RPMForge快樂地安裝最新版本。另外,運行yum update時,您將始終獲得最新的顛覆更新 。

+1

謝謝8jean,您的解決方案效果很好。它沒有按照我預期的方式運行的原因是由於我對優先級插件的錯誤解釋;我認爲通過使用--enablerepo回購將繞過優先檢查。似乎我錯了。 再次感謝! – jperras 2008-09-19 10:27:18

+3

這是我第一次搜索一些東西,並得到了一個Stackoverflow答案作爲第一個搜索結果!它非常完美。 – 2008-10-02 00:58:30

1

如果您安裝RPMForge的回購,那麼您應該能夠獲得一個新的包裝 - 這不適合你?

您應該看到/etc/apt/sources.list.d rpmforge.list有這樣一行:

repomd http://apt.sw.be redhat/el$(VERSION)/en/$(ARCH)/dag 

我只是在一個乾淨的CentOS 5安裝測試,yum check-update顯示

subversion.i386       1.5.2-0.1.el5.rf  rpmforge 
subversion-perl.i386      1.5.2-0.1.el5.rf  rpmforge 

因此請檢查您的來源清單並再次運行檢查更新。

編輯:哎呀,失去了我的答案的一部分。在上面添加它。

0

它達到Dag的倉庫中的1.4.6版本。

您可以嘗試使用Fedora's repo中的一個,或者對主要存儲庫有一定耐心來升級它。

從源代碼製作它很容易,請在下載源代碼包時閱讀INSTALL文件,請記住CentOS可能已經移動到安裝文件的位置。 (使用「rpm -ql subversion」來查看舊文件的安裝位置)。

當v1.5.0發佈到版本庫時,您可以像以前一樣刪除您的內置版本並使用yum進行安裝。

0

RPMForge軟件已經在/etc/yum.repos.d/爲rpmforge.repo,並且其內容是:

 
# Name: RPMforge RPM Repository for Red Hat Enterprise 5 - dag 
# URL: http://rpmforge.net/ 
[rpmforge] 
name = Red Hat Enterprise $releasever - RPMforge.net - dag 
#baseurl = http://apt.sw.be/redhat/el5/en/$basearch/dag 
mirrorlist = http://apt.sw.be/redhat/el5/en/mirrors-rpmforge 
#mirrorlist = file:///etc/yum.repos.d/mirrors-rpmforge 
enabled = 1 
protect = 0 
gpgkey = file:///etc/pki/rpm-gpg/RPM-GPG-KEY-rpmforge-dag 
gpgcheck = 1 
priority=20 
0

我有一個確切的行/etc/apt/sources.list中。 d/rpmforge.list。

當我運行檢查更新,我得到:

 
Loading "priorities" plugin 
Loading "fastestmirror" plugin 
Loading mirror speeds from cached hostfile 
* epel: mirror.unl.edu 
* rpmforge: fr2.rpmfind.net 
* base: mirrors.portafixe.com 
* updates: mirrors.portafixe.com 
* addons: mirrors.portafixe.com 
* extras: mirrors.portafixe.com 
2202 packages excluded due to repository priority protections 

bzip2.i386        1.0.3-4.el5_2   updates   
bzip2-devel.i386       1.0.3-4.el5_2   updates   
bzip2-libs.i386       1.0.3-4.el5_2   updates   
libxml2.i386        2.6.26-2.1.2.6   updates   
libxml2-devel.i386      2.6.26-2.1.2.6   updates   
libxml2-python.i386      2.6.26-2.1.2.6   updates   
perl.i386        4:5.8.8-15.el5_2.1  updates   
sos.noarch        1.7-9.2.el5_2.2  updates   
tzdata.noarch       2008e-1.el5   updates 

我並不過分擔心此刻的其他過時的包,但你可以看到沒有可用的顛覆更新。

1

我現在不過分擔心其他過時的軟件包,但正如您所看到的,沒有可用的Subversion更新。

也不是從rpmforge的任何包。這是您的優先級設置。嘗試禁用yum優先權(更改enabled=1enabled=0/etc/yum/pluginconf.d/priorities.conf) - 然後它應該工作。

所以我想接下來的問題是爲什麼優先級將它搞砸了......雖然我不確定。

編輯:請參閱8jean's answer瞭解更多關於優先級的信息。

3

1 .-如果你正在使用百勝優先文件/etc/yum/pluginconf.d/priorities.conf

2:檢查顛覆

$ rpm -qa|grep subversion 
    subversion-1.4.2-4.el5_3.1 
    subversion-1.4.2-4.el5_3.1 

3.-的版本中禁用此搜索的最後一個版本從rpmforge版本庫顛覆

$ yum --enablerepo=rpmforge check-update subversion 
subversion.x86_64  1.6.6-0.1.el5.rf   rpmforge 

4.-現在程序升級顛覆與rpmforge代表ository

$ 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 

這一切都爲我工作進出口運行的CentOS 5.4

0

所有你需要做的就是這個腳本。完美的工作對我來說在CentOS 5.3

http://wandisco.com/subversion/os/downloads

不,我不工作,有或有任何隸屬關係是什麼,所以有史以來...只是發現它,想我會讓你們知道。

祝你好運。

2

感謝馬特 - 我們也有SVN上唯一的SVN 1.7發行版。您可能還想嘗試uberSVN