Menginstal versi paket tertentu dengan yum

18

Saya memiliki sistem Fedora dengan Postgres versi 8.3 dan saya ingin menurunkan versi ke 8.2 karena masalah kompatibilitas. Saya telah menggunakan yum untuk semuanya, tetapi ini adalah pertama kalinya saya dengan manajer paket ini, dan saya tidak tahu cara menurunkan versi.

Jadi bagaimana cara saya memberi tahu saya untuk memberikan versi tertentu dari sebuah paket?

EDIT: Saya berhasil menjalankan ini dengan mengikuti dengan mengunduh paket spesifik sesuai saran skymt, plus menginstal kunci GPG mereka. Yang harus saya lakukan adalah

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

Dan seterusnya. Namun, ini cukup kikuk dan saya masih berharap ada cara yang lebih mudah. Jika ada yang tahu cara membuat YUM menargetkan versi tertentu tanpa menggunakan ini, beri tahu saya agar saya dapat melakukan ini di lain waktu.

Eli Courtwright
sumber

Jawaban:

4

Di Centos saya mengikuti langkah-langkah ini:

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

pada bagian Pangkalan dan Perbarui tambahkan baris berikutnya kecualikan = postgresql * (maka Anda tidak memperbarui dari repositori normal untuk 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*

Kemudian unduh versi yang Anda inginkan. Lihat 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

Sekarang Anda memiliki repo lain di /etc/yum.repos.d/ pgdg-82-centos.repo.

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

maka jika Anda menginstal postgres, centos akan mengambil dari yum.pgsqlrpms.org/

yum install postgresql postgresql-server
Oscar Raig Colon
sumber
19

Dari halaman 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

Anda mungkin harus menghapus versi yang lebih baru secara manual dan kemudian menginstal yang lebih lama.

EmmEff
sumber
Halaman manual saya untuk yum tidak memiliki bagian ini. Juga, versi yum saya tidak memiliki perintah "hapus" dan gunakan "hapus". Akhirnya, saya mencoba ini untuk postgresql-8.2.10.i386 dan setiap variasi darinya yang bisa saya buat dan tidak berhasil.
Eli Courtwright
2

Gunakan opsi pemutakhiran dan tentukan nomor versi:

yum upgrade postgresql-8.2.10

Periksa daftar dependensi sebelum memukul Y . Anda mungkin perlu menambahkan paket lain ke daftar pemutakhiran.

Álvaro González
sumber
1

Melihat sekilas pada halaman manual tidak ada opsi seperti itu. Sepertinya mereka belum menambahkan itu; Yum masih manajer paket yang cukup muda.

Sebagai gantinya, unduh dan instal RPM yang relevan secara manual .


sumber
0

Saya telah mendengar bahwa manajer paket pintar dapat melakukan ini. (belum memiliki kesempatan untuk mencobanya). Yum diketahui tidak mendukung penurunan peringkat.

pintar tersedia di fedora.


sumber