我有一个带有 8.3 版 Postgres 的 Fedora 系统,由于兼容性问题,我想降级到 8.2。我一直在使用 yum,但这是我第一次使用这个包管理器,我不知道如何降级。
那么我如何告诉它给我一个特定版本的包?
编辑:我设法通过按照skymt的建议下载特定软件包并安装他们的GPG密钥来使其工作。我所要做的就是
rpm --import RPM-GPG-KEY-PGDG
yum localinstall postgresql-8.2.10-1PGDG.f9.i386.rpm
yum localinstall .....
等等。但是,这相当笨拙,我仍然希望有一种更简单的方法。如果有人知道如何让 YUM 以特定版本为目标而不诉诸此,请告诉我,以便我下次能够这样做。
Emm*_*Eff 19
从联机帮助页:
杂项
Run Code Online (Sandbox Code Playgroud)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
您可能必须手动删除较新的版本,然后再安装较旧的版本。
小智 4
在 Centos 中我按照以下步骤操作:
在 /etc/yum.repos.d/CentOS-Base.repo 上。
在 Base 和 Update 部分添加下一行 except=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*
Run Code Online (Sandbox Code Playgroud)
然后下载您想要的版本。请参阅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
Run Code Online (Sandbox Code Playgroud)
现在 /etc/yum.repos.d/pgdg-82-centos.repo 中有另一个存储库。
ls /etc/yum.repos.d/
CentOS-Base.repo CentOS-Media.repo pgdg-82-centos.repo
Run Code Online (Sandbox Code Playgroud)
那么如果你安装 postgres,centos 将从 yum.pgsqlrpms.org/ 获取
yum install postgresql postgresql-server
Run Code Online (Sandbox Code Playgroud)