2008-09-18 18 views
22

Mi servidor de desarrollo (CentOS 5) ejecuta Subversion 1.4.2, y deseo actualizarlo a 1.5. He leído en varios blogs y documentos diseminados por la web que esto se puede hacer mediante el uso de RPMForge. He seguido las instrucciones que se encuentran en CentOS Wiki, incluida la instalación de yum-prioridades y la configuración de mis prioridades como se indica (1 y 2 para las fuentes de repos de núcleo, y 20 para RPMForge).¿Cómo puedo actualizar a Subversion 1.5 en CentOS 5?

Sin embargo, cuando intento ejecutar:

$ yum info subversion 

el número de versión que me ha dado todavía 1.4.2, con un estado de instalada. Mi otra opción en este punto es compilar desde el origen, pero me gustaría encontrar una solución administrada por paquete para facilitar futuras actualizaciones.

¿Alguna idea?

+0

Puede cambiar a Ubuntu y resolver muchos más problemas;) – sorin

Respuesta

45

Lo que estamos tratando de hacer es reemplazar un paquete de "núcleo" (uno que es contenida en el repositorio de CentOS) con un nuevo paquete de un repositorio "tercera partido" (RPMForge), que es lo que las prioridades el complemento es diseñado para prevenir.

El repositorio RPMForge contiene paquetes adicionales que no se encuentran en CentOS, así como las versiones más recientes de paquetes principales. Desafortunadamente, yum es bastante estúpido y siempre actualizará un paquete a la última versión que puede encontrar en cualquier repositorio. Por lo tanto, al ejecutar "yum update" con RPMforge habilitado, se actualizará la mitad de su sistema con los últimos paquetes (recientes, posiblemente inestables y menos compatibles) de RPMForge.

Por lo tanto, la forma recomendada para usar repositorios como RPMForge es usarlos única junto con un plugin yum como "priorites", lo que impide paquetes desde repositorios de prioridad "alta" para sobrescribir los de repos "bajos" prioritarios (el nombre del parámetro "prioridad" es muy engañoso). De esta manera puede instalar de manera segura paquetes adicionales (que no están en el núcleo) de RPMForge, que es lo que la mayoría de la gente quiere.

Ahora a su pregunta original ...

Si desea para reemplazar un conjunto de medidas esenciales, las cosas se complican un poco. Básicamente, usted tiene dos opciones:

  1. desinstalar el plugin de prioridad, y desactivar el repositorio RPMForge por predeterminado (establecido en enabled = 0/etc/yum.repos.d/rpmforge.repo). Puede entonces selectivamente activarlo en la línea de comandos:

    yum --enablerepo=rpmforge install subversion 
    

    instalará la última subversión y dependencias de RPMForge.

    El problema con este enfoque es que si hay una actualización del paquete de subversión en RPMForge, no lo verá cuando el repositorio esté deshabilitado. Para mantener la subversión actualizada, debe recordar ejecutar

    yum --enablerepo=rpmforge update subversion 
    

    de vez en cuando.

  2. La segunda posibilidad es utilizar el priorites plugin, pero manualmente el paquete subversión núcleo "máscara" (añadir exclude=subversion a las [base] y [update] secciones en /etc/yum.repos.d/CentOS-Base.repo).

    Ahora yum se comportará como si no hubiera ningún paquete llamado "subversión" en el repositorio central e instalar felizmente la última versión de RPMForge. Además, siempre obtendrá las últimas actualizaciones de subversión al ejecutar yum update.

+1

Gracias 8jean, su solución funcionó muy bien. La razón por la que no estaba funcionando de la manera que esperaba era debido a mi mala interpretación del plugin de prioridades; Pensé que habilitando el repositorio con --enablerepo omitiría la verificación de prioridad. Parece que estaba equivocado. ¡Gracias de nuevo! – jperras

+3

¡Esta es la primera vez que busqué en Google algo y recibí una respuesta de Stackoverflow como primer resultado de búsqueda! Y fue perfecto. –

+1

# 2 fue una gran sugerencia que parece funcionar bien para mí. Estoy interesado en cuáles son las ramificaciones a largo plazo para facilitar la actualización del sistema. Sé que meterse con este tipo de cosas puede complicarlo ... –

1

Si instala los repositorios de RPMForge, entonces debería poder obtener un paquete más nuevo. ¿Esto no le funciona?

Debería ver rpmforge.list en /etc/apt/sources.list.d con una línea como:

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

Acabo de prueba sobre una superficie limpia CentOS 5 instalar y yum check-update muestra

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

Así que verifique su lista de fuentes y ejecute la actualización de verificación nuevamente.

Editar: Vaya, perdí parte de mi respuesta. Lo agregué nuevamente arriba.

0

es hasta v 1.4.6 en el repositorio de Dag.

Puede probar el de Fedora's repo o tener un poco de paciencia para que los repositorios principales lo actualicen.

Hacerlo desde la fuente es fácil, lea el archivo INSTALL cuando descargue el paquete fuente, tenga en cuenta que CentOS puede haberse movido donde se instalan los archivos. (Use "rpm -ql subversion" para ver dónde se instalaron los archivos antiguos).

Cuando v1.5.0 se libera en el repositorio, puede eliminar su versión incorporada e instalar usando yum como antes.

0

RPMForge ya está en /etc/yum.repos.d/ como rpmforge.repo, y los contenidos son:

 
# 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

que tienen esa línea exacta en en /etc/apt/sources.list. d/rpmforge.list.

Cuando corro check-actualización, me sale:

 
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 

No estoy demasiado preocupado por los otros paquetes obsoletos en la actualidad, pero como se puede ver no hay una actualización disponible Subversion.

1

No estoy demasiado preocupado por los otros paquetes obsoletos en este momento, pero como puede ver no hay ninguna actualización de Subversion disponible.

Ni ningún paquete de rpmforge. Es su configuración de prioridad.Intente deshabilitar las prioridades yum (cambie enabled=1 a enabled=0 en /etc/yum/pluginconf.d/priorities.conf) - entonces debería funcionar.

Así que supongo que la siguiente pregunta es por qué la prioridad es arruinarla ... Aunque no estoy seguro de esto.

Editar: Ver 8jean's answer para más información sobre prioridades.

3

1.- si está utilizando yum-prioridades desactivar esto en el archivo /etc/yum/pluginconf.d/priorities.conf

2.- comprobar la versión de la subversión

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

3.- buscar la última versión de la subversión desde el repositorio rpmforge

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

4.- ahora irá al barrio para mejorar la subversión con el representante 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 

eso es todo lo que funciona para mí centos funcionamiento im 5,4

0

Todo lo que necesita hacer es conseguir este script. funcionaba perfectamente para mí en CentOS 5,3

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

No, no trabajo allí o tienen alguna afiliación lo que-para-siempre ... acaba de encontrar y pensó que iba a dejar que ustedes sabe.

Buena suerte.

+0

Quizás esto debería ser un comentario en su lugar? – cereallarceny

2

Gracias Matt - también tenemos la única distribución de SVN 1.7 en SVN.

Quizás también le interese probar uberSVN.

Cuestiones relacionadas