Instalando uma versão específica do pacote com o yum

18

Eu tenho um sistema Fedora com Postgres versão 8.3 e quero fazer o downgrade para 8.2 devido a um problema de compatibilidade. Eu tenho usado o yum para tudo, mas é a primeira vez que faço esse gerenciador de pacotes e não sei como fazer o downgrade das coisas.

Então, como eu digo para me fornecer uma versão específica de um pacote?

EDIT: Eu consegui fazer isso funcionando, baixando os pacotes específicos conforme a sugestão do skymt, além de instalar a chave GPG. Tudo que eu tinha que fazer era

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

E assim por diante. No entanto, isso foi bastante desajeitado e ainda espero que haja uma maneira mais fácil. Se alguém souber como fazer com que o YUM direcione uma versão específica sem recorrer a isso, informe-me para que eu possa fazer isso na próxima vez.

Eli Courtwright
fonte

Respostas:

4

No Centos, executei estas etapas:

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

nas seções Base e Atualização, adicione as próximas linhas exclude = postgresql * (então você não atualiza do repositório normal para o 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*

Em seguida, baixe a versão que você deseja. Veja 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

Agora você tem outro repositório em /etc/yum.repos.d/ pgdg-82-centos.repo.

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

se você instalar o postgres, o centos será retirado do yum.pgsqlrpms.org/

yum install postgresql postgresql-server
Oscar Raig Colon
fonte
19

Na página de manual:

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

Pode ser necessário remover manualmente a versão mais recente e instalar a mais antiga.

EmmEff
fonte
Minha página de manual do yum não possui esta seção. Além disso, minha versão do yum não possui um comando "remover" e usa "apagar". Finalmente, tentei isso no postgresql-8.2.10.i386 e em todas as variações que consegui apresentar e não funcionaram.
Eli Courtwright 23/09/08
2

Use a opção de atualização e especifique o número da versão:

yum upgrade postgresql-8.2.10

Verifique a lista de dependências antes de bater Y . Pode ser necessário adicionar outros pacotes à lista de atualizações.

Álvaro González
fonte
1

Uma rápida olhada na página de manual não revelou essa opção. Parece que eles ainda não adicionaram isso; Yum ainda é um gerente de pacotes bastante jovem.

Em vez disso, faça o download e instale manualmente os RPMs relevantes .


fonte
0

Ouvi dizer que o gerenciador de pacotes inteligente pode fazer isso. (ainda não teve a oportunidade de experimentá-lo). Sabe-se que Yum não suporta rebaixamento.

O smart está disponível no fedora.


fonte