วิธีการติดตั้งแพ็คเกจด้วย yum โดยไม่อัพเดทข้อมูลที่เก็บ?


10

ฉันต้องการติดตั้งแพคเกจบางอย่างจากพื้นที่เก็บข้อมูล แต่เมื่อฉันพยายามที่จะyum install packagenameปรับปรุง yum db:

Loaded plugins: fastestmirror, langpacks, presto, refresh-packagekit
Determining fastest mirrors
updates/metalink                                                                                                                      |  23 kB     00:00     
 * fedora: nl.mirror.eurid.eu
 * rpmfusion-free: ftp.astral.ro
 * rpmfusion-free-updates: ftp.astral.ro
 * rpmfusion-nonfree: ftp.astral.ro
 * rpmfusion-nonfree-updates: ftp.astral.ro
 * updates: nl.mirror.eurid.eu
fedora-awesome                                                                                                                    | 3.3 kB     00:00     
google-chrome                                                                                                                     |  951 B     00:00     
rpmfusion-free-updates                                                                                                        | 3.3 kB     00:00     
rpmfusion-free-updates/primary_db                                                                                             | 272 kB     00:08     
rpmfusion-nonfree-updates                                                                                                     | 3.3 kB     00:00     
rpmfusion-nonfree-updates/primary_db                                                                                          |  93 kB     00:05     
updates                                                                                                                       | 4.7 kB     00:00     
updates/primary_db                                                                                                            | 4.6 MB     02:35     
updates/group                                                                                                                     | 1.9 MB     00:33     

ดังนั้นการใช้yum install packagename -Cยังใช้งานไม่ได้ (เกิดข้อผิดพลาด "ไม่พบแคช" และyum makecacheไม่ให้ผลลัพธ์ด้วย) แต่ฉันต้องการติดตั้งแพ็กเกจโดยไม่ต้องอัพเดท db


3
ทำไม? การอัพเดตฐานข้อมูลหมายความว่าคุณมีรายชื่อแพ็คเกจล่าสุดเวอร์ชั่น
เลอะเลือน

เรากำลังพูดถึง db อะไร? แคช repo yum / แพคเกจ?
thinice

1
@sam เนื่องจากความเร็วอินเทอร์เน็ตของฉันช้าเกินไปที่จะอัปเดต repo สำหรับทุกการติดตั้ง
คลาร์ก

1
@thinice ใช่ดังที่คุณเห็นในการเข้าสู่ระบบมีการอัพเดทเกิดขึ้นสำหรับพื้นที่เก็บข้อมูลที่เคย ฉันไม่ต้องการทำฉันเพียงแค่ต้องการติดตั้งแพ็คเกจโดยไม่ต้องอัปเดตพื้นที่เก็บข้อมูล
คลาร์ก

1
@purple จากนั้นคุณควรใช้พื้นที่เก็บข้อมูลในท้องถิ่น yum ถูกออกแบบมาเพื่อทำงานกับการเข้าถึงข้อมูล repo ได้อย่างเต็มที่ไม่ว่าจะเป็น remote หรือ yum ในพื้นที่ไม่สนใจ แต่ควรมีอยู่
เปื้อน

คำตอบ:


12

หากคุณต้องการyumทำงานเช่นapt-get(ไม่ต้องอัปเดตข้อมูลเมตาโดยการเรียกใช้แต่ละครั้ง) ให้แก้ไข/etc/yum.confและใส่:

metadata_expire=never

หรือ

metadata_expire=7d

ในกรณีที่คุณต้องการอัปเดตข้อมูลเมตาหลังจากหนึ่งสัปดาห์ หากคุณเรียกใช้yum makecacheข้อมูลเมตาของคุณจะได้รับการอัปเดตเหมือนapt-get updateใน Debian

แต่โปรดจำไว้ว่าหากคุณใช้ "ไม่เคย" ในไฟล์กำหนดค่าคุณจะต้องใส่ใจด้วยตนเอง หากคุณใช้เช่น "7d" คุณจะบันทึกแบนด์วิดธ์ข้อมูลของคุณ แต่หลังจากผ่านไปหนึ่งสัปดาห์ข้อมูลเมตาจะได้รับการอัปเดตให้คุณโดยอัตโนมัติ

นี่คือmetadata_expireเอกสาร:

นอกจากนี้คุณยังสามารถเปลี่ยนจากค่าเริ่มต้นของการใช้วินาทีเป็นวันชั่วโมงหรือนาทีโดยต่อท้ายโฆษณา h หรือ m ตามลำดับ ค่าเริ่มต้นคือ 6 ชั่วโมงเพื่อชมเชย yum-updatesd ทำงานหนึ่งครั้งต่อชั่วโมง นอกจากนี้ยังเป็นไปได้ที่จะใช้คำว่า "ไม่เคย" ซึ่งหมายความว่าข้อมูลเมตาจะไม่มีวันหมดอายุ


จะ2wทำงานเช่นกัน?
เซบาสเตียน Godelet

ไม่มี2wไม่ได้ทำงาน ค่าเริ่มต้นคือ 6 ชั่วโมงเพื่อชมเชย yum-updatesd ทำงานหนึ่งครั้งต่อชั่วโมง คุณสามารถเปลี่ยนจากค่าเริ่มต้นของการใช้วินาทีเป็นวันชั่วโมงหรือนาทีโดยต่อท้ายa d, h or mตามลำดับ
Shubham Chaudhary

4

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

คุณสามารถวิเคราะห์สิ่งที่แพคเกจอ้างอิงได้deplist <packagename>ด้วยตนเองโดยใช้และติดตั้งด้วยตนเอง

การไม่มียำมีความทันสมัยดูเหมือนว่าจะเป็นคำขอแปลก ๆ ไม่ว่าสถานการณ์จะเป็นอย่างไร ...


แต่ทำไม apt-get ไม่อัพเดทที่เก็บเมื่อคุณพิมพ์คำสั่ง install? มันจะอัปเดตที่เก็บข้อมูลเท่านั้นและเมื่อคุณพิมพ์อัปเดต ฉันอยากให้ยำทำสิ่งเดียวกัน
คลาร์ก

1
หากคุณเรียกใช้ apt-get install foo - และรุ่นแพคเกจระยะไกลมีการเปลี่ยนแปลงคุณจะได้รับข้อความเช่นนี้: bitbucket.org/ianb/silverlining/issue/26/ ...... - เช่นเดียวกันกับการอ้างอิงที่ได้รับการปรับปรุงใน repo เช่นกัน (เป็นหลักบังคับให้คุณเรียกใช้การอัปเดต)
thinice

2
ใช่ แต่เมื่อฉันเรียกใช้ yum เพื่อติดตั้งแอปพลิเคชั่นที่ไม่ได้รับการเปลี่ยนแปลงมันก็อัพเดตฐานข้อมูลด้วย
คลาร์ก

4

หากคุณต้องการติดตั้งแพ็กเกจโดยไม่ต้องอัพเดต db คุณต้องดาวน์โหลด rpm โดยตรง (ผ่าน yumdownloader, ftp หรือเว็บเบราว์เซอร์) จากนั้นติดตั้งด้วย rpm โดยตรง:

rpm -ivh packagename

ฉันไม่แนะนำให้คุณทำเช่นนี้เพราะมันเป็นงานที่มากขึ้นในการติดตามการพึ่งพา (นั่นคือเหตุผลที่ yum ถูกสร้างขึ้น) และมันอาจทำลายการติดตั้งในอนาคตผ่าน yum


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