การติดตั้งแพคเกจเฉพาะรุ่นด้วย yum


18

ฉันมีระบบ Fedora พร้อม Postgres เวอร์ชัน 8.3 และฉันต้องการปรับลดรุ่นเป็น 8.2 เนื่องจากปัญหาความเข้ากันได้ ฉันใช้ยำกับทุกอย่างแล้ว แต่นี่เป็นครั้งแรกของฉันที่มีผู้จัดการแพคเกจนี้และฉันไม่รู้วิธีลดระดับสิ่งต่าง ๆ

ดังนั้นฉันจะบอกให้แพคเกจรุ่นเฉพาะได้อย่างไร

แก้ไข: ฉันจัดการเพื่อให้การทำงานนี้โดยการติดตามโดยการดาวน์โหลดแพคเกจเฉพาะตามคำแนะนำของ skymt รวมทั้งการติดตั้งคีย์ GPG ของพวกเขา สิ่งที่ฉันต้องทำคือ

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

และอื่น ๆ อย่างไรก็ตามนี่เป็นเรื่องที่ค่อนข้างน่าเบื่อและฉันก็ยังหวังว่าจะมีวิธีที่ง่ายกว่านี้ หากใครรู้วิธีการให้ YUM กำหนดเป้าหมายเวอร์ชันเฉพาะโดยไม่ต้องใช้วิธีนี้โปรดแจ้งให้เราทราบเพื่อที่ฉันจะสามารถทำสิ่งนี้ได้ในครั้งต่อไป

คำตอบ:


4

ใน Centos ฉันทำตามขั้นตอนนี้:

ใน /etc/yum.repos.d/CentOS-Base.repo

บนส่วน Base และ Update ให้เพิ่มบรรทัดถัดไปที่แยกไม่รวม = 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*

จากนั้นดาวน์โหลดเวอร์ชันที่คุณต้องการ ดู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

ตอนนี้คุณมี repo อื่นใน /etc/yum.repos.d/ pgdg-82-centos.repo ของคุณ

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

ถ้าคุณติดตั้ง postgres centos จะใช้เวลาจาก yum.pgsqlrpms.org/

yum install postgresql postgresql-server

19

จาก manpage:

อื่น ๆ

  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

คุณอาจต้องลบเวอร์ชันที่ใหม่กว่าออกด้วยตนเองจากนั้นติดตั้งรุ่นเก่ากว่า


manpage ของฉันสำหรับ yum ไม่มีส่วนนี้ นอกจากนี้เวอร์ชัน yum ของฉันไม่มีคำสั่ง "ลบ" และใช้ "ลบ" แทน ในที่สุดฉันได้ลองสิ่งนี้สำหรับ postgresql-8.2.10.i386 และทุกรูปแบบที่ฉันสามารถหาได้และมันก็ใช้ไม่ได้
Eli Courtwright

2

ใช้ตัวเลือกการอัพเกรดและระบุหมายเลขเวอร์ชั่น:

yum upgrade postgresql-8.2.10

ตรวจสอบการอ้างอิงรายการก่อนกดปุ่มY คุณอาจต้องเพิ่มแพ็คเกจอื่น ๆ ลงในรายการอัปเกรด


1

ดูอย่างรวดเร็วที่หน้าคนพบว่าไม่มีตัวเลือกดังกล่าว ดูเหมือนว่าพวกเขายังไม่ได้เพิ่มเข้าไป ยัมยังเป็นผู้จัดการแพคเกจที่ค่อนข้างใหม่

แต่ดาวน์โหลดและติดตั้งด้วยตนเองRPM ที่เกี่ยวข้อง


0

ฉันได้ยินมาว่าผู้จัดการแพ็คเกจอัจฉริยะสามารถทำได้ (ยังไม่มีโอกาสลองดู) เป็นที่รู้กันว่ายำไม่สนับสนุนการลดระดับ

สมาร์ทมีอยู่ใน fedora

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.