หากมี RPM ที่กำหนดสองเวอร์ชัน (ขึ้นไป) ที่มีอยู่ในที่เก็บ YUM ฉันyum
จะสั่งให้ติดตั้งเวอร์ชันที่ฉันต้องการได้อย่างไร
เมื่อมองผ่านบริการสร้าง Koji ฉันสังเกตว่ามีหลายรุ่น
หากมี RPM ที่กำหนดสองเวอร์ชัน (ขึ้นไป) ที่มีอยู่ในที่เก็บ YUM ฉันyum
จะสั่งให้ติดตั้งเวอร์ชันที่ฉันต้องการได้อย่างไร
เมื่อมองผ่านบริการสร้าง Koji ฉันสังเกตว่ามีหลายรุ่น
คำตอบ:
หากต้องการดูว่ามีรุ่นใดที่yum
คุณสามารถใช้--showduplicates
สวิตช์นี้ได้ มันให้รายการเช่น "ชื่อแพคเกจเวอร์ชั่นสถาปัตยกรรม":
$ yum --showduplicates list httpd | expand
Loaded plugins: fastestmirror, langpacks, refresh-packagekit
Loading mirror speeds from cached hostfile
* fedora: mirror.steadfast.net
Available Packages
httpd.x86_64 2.4.6-6.fc20 fedora
httpd.x86_64 2.4.10-1.fc20 updates
เท่าที่ติดตั้งเวอร์ชันใด? คุณสามารถผนวกข้อมูลรุ่นต่อท้ายชื่อของแพ็กเกจลบชื่อสถาปัตยกรรมเช่น:
$ sudo yum install <package name>-<version info>
ตัวอย่างเช่นในกรณีนี้ถ้าฉันต้องการติดตั้งเวอร์ชั่นเก่ากว่า 2.4.6-6 ฉันจะทำสิ่งต่อไปนี้:
$ sudo yum install httpd-2.4.6-6
นอกจากนี้คุณยังสามารถรวมข้อมูลการเปิดตัวเมื่อระบุแพคเกจ ในกรณีนี้เนื่องจากฉันกำลังติดต่อกับ Fedora 20 (F20) ข้อมูลการเปิดตัวจะเป็น "fc20" และข้อมูลสถาปัตยกรรมด้วย
$ sudo yum install httpd-2.4.6-6.fc20
$ sudo yum install httpd-2.4.6-6.fc20.x86_64
หากคุณไม่แน่ใจว่าคุณกำลังสร้างข้อโต้แย้งที่ถูกต้องคุณสามารถปรึกษาได้repoquery
เช่นกัน
$ sudo yum install yum-utils # (to get `repoquery`)
$ repoquery --show-duplicates httpd-2.4*
httpd-0:2.4.6-6.fc20.x86_64
httpd-0:2.4.10-1.fc20.x86_64
คุณยังสามารถใช้หนึ่งในตัวเลือกต่อไปนี้เพื่อดาวน์โหลด RPM เฉพาะจากเว็บจากนั้นใช้yum
เพื่อติดตั้ง
$ yum --downloadonly <package>
-or-
$ yumdownloader <package>
จากนั้นติดตั้งตามต้องการ:
$ sudo yum localinstall <path to rpm>
ถ้าฉันต้องการดาวน์โหลดทุกสิ่งที่แพ็คเกจ X ต้องการ?
$ yumdownloader --resolve <package>
$ yumdownloader --resolve vim-X11
Loaded plugins: langpacks, presto, refresh-packagekit
Adding en_US to language list
--> Running transaction check
---> Package vim-X11.x86_64 2:7.3.315-1.fc14 set to be reinstalled
--> Finished Dependency Resolution
vim-X11-7.3.315-1.fc14.x86_64.rpm | 1.1 MB 00:01
ขอให้สังเกตว่ามันกำลังทำการตรวจสอบการพึ่งพาแล้วดาวน์โหลดชิ้นส่วนที่ขาดหายไป ดูคำตอบของฉันที่ครอบคลุมมันในรายละเอียดเพิ่มเติมได้ที่นี่: วิธีดาวน์โหลดไฟล์จาก repo และติดตั้งในภายหลังโดยไม่ต้องเชื่อมต่ออินเทอร์เน็ต .
python-libs-2.7.5-12.fc20.x86_64
ติดตั้งครั้งเดียวในคอมพิวเตอร์ของฉัน แต่ได้ถูกแทนที่ สมมติว่าตอนนี้ฉันต้องการที่จะติดตั้งแพคเกจนี้โดยเฉพาะจะบอกว่าyumdownloader python-libs-2.7.5-12*
No Match for argument python-libs-2.7.5-12* Nothing to download
สิ่งที่ฉันพยายามจะพูดคือเมื่อแพ็คเกจใหม่มาถึงแพคเกจเก่าจะไม่สามารถเข้าถึงได้จากยำ คุณสามารถติดตั้งเฉพาะแพ็คเกจล่าสุดหรือเวอร์ชันเริ่มต้นเท่านั้น
yum downgrade ...
หากแพ็คเกจได้รับการติดตั้งแล้วและคุณกำลังพยายามที่จะกลับไปใช้มันในภายหลัง ใน QI ของฉันกำลังพยายามที่จะแสดงวิธีหนึ่งจะเลือกแพคเกจรุ่นเฉพาะที่ยังไม่ได้ติดตั้ง docs.fedoraproject.org/en-US/Fedora/14/html/…
ตัวเลือกอื่นคุณสามารถดาวน์โหลดrpm
ไฟล์จากนั้นแนะนำyum
ให้ทำlocalinstall
:
yum localinstall /path/to/package.rpm
สถานที่ที่ดีในการรับแพ็คเกจที่คุณต้องการคือ rpmfind.com และค้นหาชื่อแพ็คเกจ
yum --downloadonly <package>
ตามมาด้วยyum localinstall <path to package>
เช่นกัน คุณสามารถใช้ยูทิลิตี้นี้ได้yumdownloader <package>
เช่นกัน
คุณยังสามารถใช้คำสั่ง option:
yum install --nogpgcheck pckg-name-version
@updates
@fedora
ตัวอย่างเช่นถ้าคุณพยายามที่จะติดตั้งhttpd-2.4.8-1
,yum
จะบอกว่าแพคเกจไม่สามารถใช้ได้