Installazione di una versione del pacchetto specifica con yum


18

Ho un sistema Fedora con Postgres versione 8.3 e voglio eseguire il downgrade a 8.2 a causa di un problema di compatibilità. Ho usato yum per tutto, ma è la mia prima volta con questo gestore di pacchetti e non so come effettuare il downgrade delle cose.

Quindi, come posso dirlo per darmi una versione specifica di un pacchetto?

EDIT: Sono riuscito a farlo funzionare seguendo il download dei pacchetti specifici come suggerito da skymt, oltre all'installazione della loro chiave GPG. Tutto quello che dovevo fare era

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

E così via. Tuttavia, questo è stato piuttosto ingombrante e spero ancora che ci sia un modo più semplice. Se qualcuno sa come fare in modo che YUM scelga come target una versione specifica senza ricorrere a questa, per favore fatemi sapere in modo che potrò farlo la prossima volta.

Risposte:


4

In Centos ho seguito questi passaggi:

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

nelle sezioni Base e Aggiorna aggiungi le righe successive exclude = postgresql * (quindi non aggiorni dal normale repository per 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*

Quindi scarica la versione che desideri. Vedi 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

Ora hai un altro repository nel tuo /etc/yum.repos.d/ pgdg-82-centos.repo.

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

quindi se installi postgres, centos prenderà da yum.pgsqlrpms.org/

yum install postgresql postgresql-server

19

Dalla 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

Potrebbe essere necessario rimuovere manualmente la versione più recente e quindi installare la versione precedente.


La mia manpage per yum non ha questa sezione. Inoltre, la mia versione di yum non ha un comando "rimuovi" e usa invece "cancella". Alla fine, ho provato questo per postgresql-8.2.10.i386 e tutte le sue varianti che ho potuto inventare e non ha funzionato.
Eli Courtwright,

2

Utilizzare l' opzione di aggiornamento e specificare il numero di versione:

yum upgrade postgresql-8.2.10

Controllare l'elenco delle dipendenze prima di colpire Y . Potrebbe essere necessario aggiungere altri pacchetti all'elenco di aggiornamento.


1

Una rapida occhiata alla pagina man non ha rivelato questa opzione. Sembra che non lo abbiano ancora aggiunto; Yum è ancora un gestore di pacchetti abbastanza giovane.

Invece, scarica e installa manualmente gli RPM pertinenti .


0

Ho sentito che lo smart package manager può farlo. (non ho ancora avuto l'opportunità di provarlo). Yum è noto per non supportare il downgrade.

smart è disponibile su fedora.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.