Come posso aggiornare a Subversion 1.5 su CentOS 5?[Chiuso]
-
01-07-2019 - |
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?
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:
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.
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
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.