Domanda

Il mio server di sviluppo (CentOS 5) esegue Subversion 1.4.2 e desidero aggiornarlo alla 1.5.Ho letto in vari blog e documenti sparsi sul web che ciò può essere fatto utilizzando RPMForge.Ho seguito le istruzioni trovate su Wiki di CentOS, inclusa l'installazione di yum-priorities e l'impostazione delle mie priorità come indicato (1 e 2 per le fonti repository principali e 20 per RPMForge).

Tuttavia, quando provo a eseguire:

$ yum info subversion

il numero di versione che mi è stato fornito è ancora 1.4.2, con lo stato Installato.La mia altra opzione a questo punto è compilare dal sorgente, ma mi piacerebbe trovare una soluzione gestita da pacchetti per facilitare gli aggiornamenti futuri.

qualche idea?

È stato utile?

Soluzione

Quello che stai cercando di fare è sostituire un pacchetto "core" (che è contenuto nel repository CentOS) con un pacchetto più recente di un repository "terze parti" (RPMForge), che è ciò che il plug -in delle priorità è progettato per prevenire.

Il repository RPMForge contiene entrambi i pacchetti aggiuntivi non trovati in CentOS, sia le versioni più recenti dei pacchetti core.Purtroppo, yumè piuttosto stupido e aggiornerà sempre un pacchetto all'ultima versione che può trovare Qualunque deposito.Quindi correndo"yum update"Con RPMForge abilitato aggiornerà la metà del tuo sistema con i pacchetti più recenti (Bleeding Edge, possibilmente instabili e meno ben supportati) da RPMForge.

Pertanto, il modo raccomandato di utilizzare repository come RPMForge è usarli solo insieme a un plug -in Yum come "priorite", che impedisce ai pacchetti di "alta" pronostica priorità per sovrascrivere quelli da "bassa" pronostica priorità (il nome della "priorità "Il parametro è molto fuorviante).In questo modo puoi installare in modo sicuro aggiuntivo I pacchetti (che non sono in nucleo) da RPMForge, che è ciò che la maggior parte delle persone vuole.

Veniamo ora alla tua domanda iniziale...

Se tu Volere per sostituire un pacchetto core, le cose si fanno un po' complicate.Fondamentalmente hai due opzioni:

  1. Disinstallare il plug-in prioritario e disattivare Il repository RPMForge per impostazione predefinita (set enabled = 0 In /etc/yum.repos.d/rpmforge.repo).È quindi possibile abilitarlo selettivamente sulla riga di comando:

    yum --enablerepo=rpmforge install subversion
    

    installerà la versione più recente e le dipendenze di RPMForge.

    Il problema con questo approccio è che se c'è un aggiornamento al pacchetto di sovversione in RPMForge, non lo vedrai quando il repository è disabilitato.Per mantenere aggiornato Subversion, devi ricordarti di eseguire

    yum --enablerepo=rpmforge update subversion
    

    di volta in volta.

  2. La seconda possibilità è utilizzare il plug -in Priorite, ma "mascherare" manualmente il pacchetto di sovversione principale (Aggiungi exclude=subversion al[base] E [update] sezioni in /etc/yum.repos.d/CentOS-Base.repo).

    Ora Yum si comporterà come se non ci fosse un pacchetto denominato "Subversion" nel repository Core e installa felicemente l'ultima versione da RPMForge.Inoltre, otterrai sempre gli ultimi aggiornamenti di sovversione durante l'esecuzione yum update.

Altri suggerimenti

1.- se stai usando le priorità yum disabilitalo nel file /etc/yum/pluginconf.d/priorities.conf

2.- controlla la versione di sovversione

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

3.- cerca l'ultima versione di subversion dal repository rpmforge

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

4.- ora procedi con l'aggiornamento di subversion con il repository rpmforge

$ 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

questo è tutto, per me funziona con CentOS 5.4

Grazie Matt, abbiamo anche l'unica distribuzione di SVN 1.7 SVN.

Potresti anche provare uberSVN.

Se installi RPMForge's, dovresti essere in grado di ottenere un pacchetto più recente: non funziona per te?

Dovresti vedere rpmforge.list in /etc/apt/sources.list.d con una riga come:

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

Ho appena testato un'installazione pulita di CentOS 5 e yum check-update Spettacoli

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

Quindi controlla l'elenco delle fonti ed esegui nuovamente check-update.

Modificare:Ops, ho perso parte della mia risposta.L'ho aggiunto di nuovo sopra.

Al momento non sono particolarmente preoccupato per gli altri pacchetti obsoleti, ma come puoi vedere non è disponibile alcun aggiornamento di Subversion.

Né alcun pacchetto da rpmforge.Sono le tue impostazioni di priorità.Prova a disabilitare le priorità yum (change enabled=1 A enabled=0 In /etc/yum/pluginconf.d/priorities.conf) - allora dovrebbe funzionare.

Quindi immagino che la prossima domanda sia: perché la priorità è rovinare tutto...Non ne sono sicuro, però.

Modificare:Vedere La risposta di 8jean per ulteriori informazioni sulle priorità.

è fino alla versione 1.4.6 nel repository di Dag.

Puoi provare quello da Il repository di Fedora oppure abbi un po' di pazienza affinché i repository principali lo aggiornino.

Realizzarlo dal sorgente è semplice, leggi il file INSTALL quando scarichi il pacchetto sorgente, tieni presente che CentOS potrebbe essere stato spostato dove vengono installati i file.(Utilizzare "rpm -ql subversion" per vedere dove sono stati installati i vecchi file).

Quando la versione 1.5.0 viene rilasciata nel repository, puoi eliminare la versione creata e installarla utilizzando yum come prima.

RPMForge è già in /etc/yum.repos.d/ come rpmforge.repo e i contenuti sono:

# 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

Ho quella riga esatta in /etc/apt/sources.list.d/rpmforge.list .

Quando eseguo check-update, ottengo:

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  

Al momento non sono particolarmente preoccupato per gli altri pacchetti obsoleti, ma come puoi vedere non è disponibile alcun aggiornamento di Subversion.

Tutto quello che devi fare è ottenere questo script.ha funzionato perfettamente per me su CentOS 5.3

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

No, non lavoro lì né ho alcuna affiliazione di sorta...l'ho appena trovato e ho pensato di farvelo sapere.

Buona fortuna.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top