Instalar una versión de paquete específica con yum

18

Tengo un sistema Fedora con Postgres versión 8.3 y quiero bajar a 8.2 debido a un problema de compatibilidad. He estado usando yum para todo, pero es mi primera vez con este administrador de paquetes, y no sé cómo degradar las cosas.

Entonces, ¿cómo le digo que me dé una versión específica de un paquete?

EDITAR: Logré hacer que esto funcionara siguiendo descargando los paquetes específicos según la sugerencia de skymt, además de instalar su clave GPG. Todo lo que tenía que hacer era

rpm --import RPM-GPG-KEY-PGDG
yum localinstall postgresql-8.2.10-1PGDG.f9.i386.rpm
yum localinstall .....

Y así. Sin embargo, esto fue bastante torpe y todavía espero que haya una manera más fácil. Si alguien sabe cómo hacer que YUM apunte a una versión específica sin recurrir a esto, avíseme para que pueda hacerlo la próxima vez.

Eli Courtwright
fuente

Respuestas:

4

En Centos lo hice siguiendo estos pasos:

En /etc/yum.repos.d/CentOS-Base.repo.

en las secciones Base y Actualización, agregue las siguientes líneas exclude = postgresql * (entonces no actualiza desde el repositorio normal para postgres rpm).

[base]
name=CentOS-$releasever - Base
mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=os
#baseurl=http://mirror.centos.org/centos/$releasever/os/$basearch/
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-5
exclude=postgresql*

#released updates
[updates]
name=CentOS-$releasever - Updates
mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=updates
#baseurl=http://mirror.centos.org/centos/$releasever/updates/$basearch/
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-5
exclude=postgresql*

Luego descargue la versión que desee. Ver http://yum.pgrpms.org/howtoyum.php

wget http://yum.pgrpms.org/reporpms/8.3/pgdg-centos-8.3-6.noarch.rpm
rpm -ivh pgdg-centos-8.3-6.noarch.rpm

Ahora tiene otro repositorio en su /etc/yum.repos.d/ pgdg-82-centos.repo.

ls /etc/yum.repos.d/
CentOS-Base.repo  CentOS-Media.repo  pgdg-82-centos.repo

entonces, si instala postgres, los centos tomarán de yum.pgsqlrpms.org/

yum install postgresql postgresql-server
Oscar Raig Colon
fuente
19

Desde la página del manual:

Misceláneo

  Specifying package names

         A package can be referred to for install,update,list,remove  etc
         with any of the following:

          name
          name.arch
          name-ver
          name-ver-rel
          name-ver-rel.arch
          name-epoch:ver-rel.arch
          epoch:name-ver-rel.arch

          For example: yum remove kernel-2.4.1-10.i686

Es posible que deba eliminar manualmente la versión más nueva y luego instalar la anterior.

EmmEff
fuente
Mi página de manual para yum no tiene esta sección. Además, mi versión de yum no tiene un comando "eliminar" y utiliza "borrar" en su lugar. Finalmente, probé esto para postgresql-8.2.10.i386 y todas sus variaciones que se me ocurrieron y no funcionó.
Eli Courtwright el
2

Use la opción de actualización y especifique el número de versión:

yum upgrade postgresql-8.2.10

Compruebe la lista de dependencias antes de golpear Y . Es posible que deba agregar otros paquetes a la lista de actualización.

Álvaro González
fuente
1

Un vistazo rápido a la página del manual no reveló tal opción. Parece que aún no lo han agregado; Yum sigue siendo un administrador de paquetes bastante joven.

En su lugar, descargue e instale manualmente los RPM relevantes .


fuente
0

He oído que el administrador de paquetes inteligente puede hacer esto. (No he tenido la oportunidad de probarlo todavía). Se sabe que Yum no admite la degradación.

smart está disponible en fedora.


fuente