Instalowanie określonej wersji pakietu za pomocą yum

18

Mam system Fedora z Postgres w wersji 8.3 i chcę obniżyć wersję do wersji 8.2 z powodu problemu ze zgodnością. Używam yum do wszystkiego, ale po raz pierwszy korzystam z tego menedżera pakietów i nie wiem, jak obniżyć wersję.

Więc jak mam to powiedzieć, aby dać mi konkretną wersję pakietu?

EDYCJA: Udało mi się to uruchomić, pobierając określone pakiety zgodnie z sugestią Skymta oraz instalując ich klucz GPG. Wszystko, co musiałem zrobić, to

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

I tak dalej. Było to jednak dość niezręczne i wciąż mam nadzieję, że istnieje łatwiejszy sposób. Jeśli ktoś wie, jak zmusić YUM do kierowania na konkretną wersję bez uciekania się do tego, daj mi znać, abym mógł to zrobić następnym razem.

Eli Courtwright
źródło

Odpowiedzi:

4

W Centos wykonałem następujące kroki:

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

w sekcjach Base i Update dodaj kolejne wiersze exclude = postgresql * (wtedy nie aktualizujesz z normalnego repozytorium dla 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*

Następnie pobierz odpowiednią wersję. Zobacz 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

Teraz masz kolejne repozytorium w /etc/yum.repos.d/ pgdg-82-centos.repo.

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

to jeśli zainstalujesz postgres, centos pobierze z yum.pgsqlrpms.org/

yum install postgresql postgresql-server
Oscar Raig Colon
źródło
19

Z strony podręcznika:

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

Może być konieczne ręczne usunięcie nowszej wersji, a następnie zainstalowanie starszej.

EmmEff
źródło
Moja strona dla mniam nie ma tej sekcji. Ponadto moja wersja yum nie ma polecenia „usuń” i zamiast tego używa polecenia „wymaż”. W końcu wypróbowałem to dla postgresql-8.2.10.i386 i wszystkich jego odmian, które mogłem wymyślić i to nie działało.
Eli Courtwright,
2

Użyj opcji aktualizacji i podaj numer wersji:

yum upgrade postgresql-8.2.10

Przed uderzeniem sprawdzić listę Zależności Y . Może być konieczne dodanie innych pakietów do listy aktualizacji.

Álvaro González
źródło
1

Szybkie spojrzenie na stronę podręcznika nie ujawniło takiej opcji. Wygląda na to, że jeszcze tego nie dodali; Yum nadal jest dość młodym menedżerem paczek.

Zamiast tego pobierz i ręcznie zainstaluj odpowiednie RPM .


źródło
0

Słyszałem, że inteligentny menedżer pakietów może to zrobić. (jeszcze nie miałem okazji tego wypróbować). Wiadomo, że Yum nie wspiera obniżania oceny.

smart jest dostępny na fedora.


źródło