ยกเว้น repo เฉพาะจากการอัปเดต YUM


13

ฉันกำลังทำการอัปเดตระบบยำกว้างบน RHEL 5.5 และที่เก็บ IUS EPEL กำลังโยนข้อผิดพลาดการพึ่งพาที่หายไป:

php53-mcrypt-5.3.3-4.ius.el5.x86_64 from installed has depsolving problems
--> Missing Dependency: php53-common = 5.3.3-4.ius.el5 is needed by package php53-mcrypt-   5.3.3-4.ius.el5.x86_64 (installed)
Error: Missing Dependency: php53-common = 5.3.3-4.ius.el5 is needed by package php53-mcrypt-5.3.3-4.ius.el5.x86_64 (installed)

มีวิธีรันการอัปเดต YUM เทียบกับที่เก็บอื่น ๆทั้งหมดที่ไม่สนใจ repo ของ IUS EPEL เพื่อข้ามปัญหาการพึ่งพานี้หรือไม่

การอธิบาย

ฉันพยายามติดตั้งการปรับปรุงจากเครือข่าย Redhat เท่านั้น ฉันไม่สามารถหาชื่อ repo ดังนั้นผมไม่สามารถที่จะทำสิ่งที่ชอบsudo yum --disablerepo=* --enablerepo=rhel updateเป็นรุ่นของ yum --disablerepoฉันใช้ไม่สนับสนุนการเก็บข้อมูลหลายแหล่งระบุไว้หลังจากที่

ปรับปรุง

sudo yum --exclude=php53* updateวิธีแก้ปัญหาชั่วคราวของฉันคือการทำงาน ฉันเชื่อว่ามีวิธีที่ดีกว่า วิธีที่ดีกว่านี้รวมถึงการแก้ไขปัญหาที่เกิดขึ้นจริงดังนั้นฉันจึงยื่นข้อบกพร่องกับโครงการIUS Communityเช่นกัน

อัปเดต # 2

หน้าตาเหมือนฉันพบปัญหากับการพึ่งพา ฉันยังคิดว่าควรจะมีวิธีแก้ปัญหาที่ทำงานได้

ขอบคุณ!


ฉันได้อัปเดตคำตอบแล้วเพื่อให้คำชี้แจงของคุณอยู่ในบัญชี
ลาสมิด 87

คำตอบ:


21

ลองปิดสวิตช์ repo:

--disablerepo=REPONAME

UPDATE

หากต้องการค้นหาที่เก็บข้อมูลทั้งหมดในปัจจุบัน "รู้จัก" (เปิดใช้งานและปิดใช้งาน):

yum repolist all

จากนั้นเพื่อค้นหาที่เก็บที่ให้ความเศร้าแก่คุณสำหรับแพ็คเกจด้านบนให้ลอง:

yum list php53-mcrypt-5.3.3-4.ius.el5.x86_64 --showduplicates

จากนั้นจะแสดงว่าที่เก็บข้อมูลใดของคุณมีแพ็คเกจด้านบน (คุณจะเห็น "ติดตั้ง" ในรายการด้วยเพื่อแสดงแพ็คเกจที่ติดตั้งภายในเครื่อง)

ลองสวิตช์ปิดการใช้งานอีกครั้งเมื่อคุณรู้ว่าที่เก็บข้อมูลโดยใช้สวิตช์ปิดการใช้งาน repo

yum update --disablerepo=[from above]

ล้มเหลวในขั้นตอนด้านบนเพื่อแยกพื้นที่เก็บข้อมูลที่คุณต้องการละเว้นลองดู/etc/yum.repos.d/ซึ่งเป็นตำแหน่งเริ่มต้น RHEL สำหรับคำจำกัดความที่เก็บ เมื่ออยู่ในไดเรกทอรีนี้ให้ค้นหาฐาน RHEL ที่ไม่ได้มาตรฐานทั้งหมดและอัปเดตไฟล์ที่เก็บและรวมenable enabled = 0เช่น

[repo]
enabled=0

หวังว่านี่จะช่วยได้


สิ่งนี้อาจใช้ได้ถ้าฉันสามารถระบุที่เก็บหลายแห่งได้ ฉันพยายามและ--disablerepo=epel --disablerepo=ius --disablerepo=epel,ius
Robin

yum repolist allแสดงให้เห็นว่ามีการเปิดใช้งาน repos ต่อไปนี้เท่านั้น: epel, ius และ rhel-x86_64-server-5 --showduplicatesคำสั่งของคุณแสดงแพ็คเกจที่ติดตั้งจาก repo ius ดังนั้นฉันจึงลองทำสิ่งต่อไปนี้sudo yum --disablerepo=* --enablerepo=rhel-x86_64-server-5 updateและยังคงมีข้อผิดพลาดในการพึ่งพาในแพ็คเกจเดียวกัน เช่นกันฉันพยายามปิดการใช้งาน repos โดยเปลี่ยนการenabled=0ตั้งค่าภายใต้ /etc/yum.repos.d/
Robin

ฉันคิดว่าเมื่อคุณติดตั้ง repo ของ IUS จะมีการกำหนดค่าให้เปิดใช้งานตามค่าเริ่มต้น ลองใช้วิธีนี้แทน: sudo yum update --disablerepo=iusสมมติว่ามีการเปิดใช้ repos อื่น ๆ ตามค่าเริ่มต้น มิฉะนั้นลองsudo yum update --exclude=php53-mcrypt-5.3.3-4.ius.el5.x86_64ข้ามแพ็คเกจนี้ไปเลย
ลาสมิด 87

ตัวเลือกเหล่านี้ไม่ทำงาน ฉันขาดอะไรไป
Robin

ฉันนึกได้แค่ว่าสิ่งอื่นจะต้องการแพ็คเกจที่อัพเกรดเป็นส่วนหนึ่งของกระบวนการอัปเดต หากคุณเรียกใช้sudo yum deplist php53-mcrypt-5.3.3-4.ius.el5.x86_64มันจะแสดงการอ้างอิงและผู้ให้บริการทั้งหมดสำหรับแพ็คเกจนั้น จากประสบการณ์ของฉันกับแพ็คเกจ PHP และ RHEL นี่เป็นปัญหาที่พบบ่อย ไม่ต้องการเบี่ยงเบนจากปัญหาในมือ แต่ฉันพบว่าRemiให้แพ็คเกจที่ดีที่สุดสำหรับ PHP ฉันไม่เคยมีปัญหาการพึ่งพากับ PHP หลังจากย้ายไปที่ repos ของพวกเขา
ลาสมิด 87

1

วิธีที่ง่ายที่สุดคือการแสดงความคิดเห็น linux กับ repo ที่คุณไม่ต้องการใน /etc/yum.repos.d/


1

คุณสามารถปิดการใช้งานที่เก็บหลายแห่งในบรรทัดคำสั่ง yum:

yum update --disablerepo=myrepo1 --disablerepo=myrepo2 --disablerepo=myrepo3

อย่างไรก็ตามถ้าคุณทำเช่นนั้นคุณต้องเปิดใช้ repo อย่างที่คุณต้องการ:

yum update --disablerepo=myrepo1 --disablerepo=myrepo2 \
           --disablerepo=myrepo3 --enablerepo=TheRepoIWant

0

คุณสามารถเพิ่ม enabled = 0 ในไฟล์กำหนดค่าที่เก็บเพื่อปิดการใช้งาน ตัวอย่างของแฟ้มการกำหนดค่าที่เก็บhttp://www.cyberciti.biz/tips/rhel5-fedora-core-add-new-yum-repository.html

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