使用 yum 安装特定软件包版本

使用 yum 安装特定软件包版本

我有一台 Fedora 系统,安装的是 Postgres 8.3 版,由于兼容性问题,我想降级到 8.2 版。我一直使用 yum 来做所有事情,但这是我第一次使用这个包管理器,我不知道如何降级。

那么我该如何告诉它给我一个包的特定版本呢?

编辑:我设法通过以下方式使它工作下载根据 skymt 的建议安装特定的软件包,并安装他们的 GPG 密钥。我所要做的就是

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

等等。但是,这相当笨重,我仍然希望有更简单的方法。如果有人知道如何让 YUM 定位特定版本而不诉诸于此,请告诉我,以便我下次能够做到这一点。

答案1

在 Centos 中我执行了以下步骤:

在 /etc/yum.repos.d/CentOS-Base.repo 上。

在 Base 和 Update 部分添加下一行 exclude=postgresql* (然后您就不会从 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*

然后下载您想要的版本。请参阅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

现在您的 /etc/yum.repos.d/pgdg-82-centos.repo 中有另一个 repo。

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

然后如果你安装 postgres,centos 将从 yum.pgsqlrpms.org/ 获取

yum install postgresql postgresql-server

答案2

来自手册页:

杂项

  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

您可能必须手动删除新版本,然后安装旧版本。

答案3

使用升级选项并指定版本号:

yum upgrade postgresql-8.2.10

在点击之前检查依赖项列表。您可能需要将其他软件包添加到升级列表中。

答案4

我听说聪明的包管理器可以做到这一点。(还没有机会尝试)。众所周知,Yum 不支持降级。

smart 在 fedora 上可用。

相关内容