Installing a specific package version with yum

I have a Fedora system with Postgres version 8.3 and I want to downgrade to 8.2 because of a compatibility issue. I've been using yum for everything, but it's my first time with this package manager, and I don't know how to downgrade things.

So how do I tell it to give me a specific version of a package?

EDIT: I managed to get this working by following by downloading the specific packages as per skymt's suggestion, plus installing their GPG key. All I had to do was

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

And so on. However, this was fairly clunky and I'm still hoping that there's an easier way. If anyone knows of how to get YUM to target a specific version without resorting to this, please let me know so that I'll be able to do this next time.

Replay

In Centos I did following this steps:

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

on Base and Update sections add the next lines exclude=postgresql* (then you don't update from normal repository for 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*

Then download the version that you want. See 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

Now you have another repo in your /etc/yum.repos.d/ pgdg-82-centos.repo.

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

then if you install postgres, centos will take from yum.pgsqlrpms.org/

yum install postgresql postgresql-server

From the manpage:

MISC

  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

You may have to manually remove the newer version and then install the older.

Use the upgrade option and specify the version number:

yum upgrade postgresql-8.2.10

Check the dependencies list before hitting Y. You might need to add other packages to the upgrade list.

A quick look at the man page revealed no such option. It seems they haven't added that yet; Yum is still a fairly young package manager.

Instead, download and manually install the relevant RPMs.

I have heard that the smart package manager can do this. (haven't had the opportunity to try it yet). Yum is known not to support downgrading.

smart is available on fedora.

Category: installer Time: 2008-09-23 Views: 0
Tags: installer yum

Related post

iOS development

Android development

Python development

JAVA development

Development language

PHP development

Ruby development

search

Front-end development

Database

development tools

Open Platform

Javascript development

.NET development

cloud computing

server

Copyright (C) avrocks.com, All Rights Reserved.

processed in 0.192 (s). 12 q(s)