ลูกค้า yum ไม่เห็นแพ็คเกจใหม่แม้ว่าเซิร์ฟเวอร์จะอัพเดท


16

เรามีเซิร์ฟเวอร์ yum ภายในที่มีหลาย repos (สำเนาของ RHEL repo, โปรแกรมที่สร้างขึ้นภายใน, และอื่น ๆ ) ระบบภายในของเราถูกไฟร์วอลล์จากอินเทอร์เน็ตดังนั้นพวกเขาจึงสามารถใช้เซิร์ฟเวอร์ภายในของเราเท่านั้น

ในการทดสอบแพตช์ก่อนที่จะผลักดันพวกเขาไปจนถึงการผลิตเรามีstablerepo ที่เปิดใช้งานโดยค่าเริ่มต้น การปรับปรุงใด ๆ ที่ได้รับการใส่ใน-latestrepo เมื่อเราทำการปะแก้เซิร์ฟเวอร์เราจะใช้-latest-repo เพื่อสร้างพื้นฐานใหม่และทดสอบกับเซิร์ฟเวอร์ไม่กี่แห่ง stableเมื่อผ่านการทดสอบเราทำให้พื้นฐานว่าใหม่ -latestRepos จะถูกยกเลิกโดยปริยาย

หนึ่งใน repos ใช้สำหรับแพ็คเกจที่เราดึงมาจาก epel, rpmforge และอื่น ๆ เรามีสคริปต์ที่ซิงค์เฉพาะแพ็คเกจที่เราต้องการกับการอ้างอิงใด ๆ ที่พวกเขาต้องการ repo จะถูกสร้างขึ้นใหม่ทุกคืนด้วย createrepo หลังจากแพ็คเกจถูกซิงค์ เนื่องจากแพ็คเกจเหล่านี้ยังไม่ได้ทดสอบจึงสิ้นสุดในint-optional-latestrepo ซึ่งมักจะปิดการใช้งาน ถ้าเซิร์ฟเวอร์ต้องการแพคเกจจาก repo enable-repo=int-optional-latestว่าเราจะติดตั้งโดยใช้

วันนี้ผู้ร่วมงานกำลังพยายามติดตั้ง perl-Excel-Writer-XLSX บนเซิร์ฟเวอร์ เซิร์ฟเวอร์ไม่พบแพ็คเกจ ฉันพยายามสร้างพื้นที่เก็บข้อมูลใหม่โดยใช้ createrepo และทำการ greod ไฟล์ repodata เพื่อให้แน่ใจว่าไฟล์อยู่ที่นั่น มันเป็น ฉันยังตรวจสอบว่ามีไฟล์อยู่ในที่เก็บโดยใช้

repoquery -q --repoid=int-optional-latest -l perl-Excel-Writer-XLSX

ฉันยังล้างแคชเมทาดาทาทางฝั่งไคลเอ็นต์โดยใช้

sudo yum clean expire-cache

อย่างไรก็ตามสิ่งนี้ลูกค้ายังคงอ้างว่าไม่มีแพ็คเกจบนเซิร์ฟเวอร์

ฉันไม่คิดว่าปัญหาอยู่ที่ฝั่งเซิร์ฟเวอร์เพราะเมื่อฉันลองทำการค้นหาจากเครื่องอื่นก็พบแพ็คเกจ ฉันตรวจสอบว่าไฟล์ repo นั้นถูกต้องและชื่อนั้นyum.example.comได้รับการแก้ไขเป็นที่อยู่ IP เดียวกันบนเซิร์ฟเวอร์ทั้งสอง - หนึ่งในนั้นสามารถค้นหาแพ็คเกจได้และอีกอันไม่สามารถทำได้

คำตอบ:


14

ฉันเริ่มขุดลงในบันทึกของเว็บเซิร์ฟเวอร์บนเซิร์ฟเวอร์ yum และไม่พบความนิยมจาก IP สำหรับไคลเอ็นต์ที่ไม่สามารถค้นหาไฟล์ได้ ฉันไม่เข้าใจสิ่งนี้ในตอนแรกเนื่องจากฉันล้างแคชของลูกค้า ดังนั้นฉันจึงล้างแคชอีกครั้งคราวนี้ใช้

sudo yum -v clean expire-cache

เมื่อทำงานกับ-vมันจะแสดงรายการที่ repos มันทำความสะอาด - และint-optional-latestไม่ได้อยู่ในรายการ ฉันคิดว่านี่เป็นเพราะ repo ถูกปิดใช้งานโดยค่าเริ่มต้น ฉันทำการล้างแคชอีกครั้งคราวนี้ใช้

sudo yum -v enable-repo=int-optional-latest clean expire-cache

หลังจากนั้นฉันลองอีกครั้ง

sudo yum enable-repo=int-optional-latest install perl-Excel-Writer-XLSX

ซึ่งทำงานได้อย่างสมบูรณ์แบบ


คำสั่งควรอยู่ที่ X ในตอนท้ายของชื่อแพ็คเกจเช่น: sudo yum enable-repo = การติดตั้งล่าสุดที่เป็นตัวเลือกล่าสุด perl-Excel-Writer-XLSX
Chris Madden

ขอบคุณ @ChrisMadden! ชัดเจนและแปะผิดพลาด ... เห็นได้ชัดว่า
เจนนี่ D

1
sudo yum -v clean expire-cache

ไม่ได้ผลสำหรับฉัน อย่างไรก็ตามฉันสามารถใช้งานได้

sudo touch /etc/yum.repos.d/<your_repo_file>

และ

yum repolist

แสดงว่ามีการอัพเดท หวังว่านี่จะช่วยได้

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