เรามีเซิร์ฟเวอร์ yum ภายในที่มีหลาย repos (สำเนาของ RHEL repo, โปรแกรมที่สร้างขึ้นภายใน, และอื่น ๆ ) ระบบภายในของเราถูกไฟร์วอลล์จากอินเทอร์เน็ตดังนั้นพวกเขาจึงสามารถใช้เซิร์ฟเวอร์ภายในของเราเท่านั้น
ในการทดสอบแพตช์ก่อนที่จะผลักดันพวกเขาไปจนถึงการผลิตเรามีstable
repo ที่เปิดใช้งานโดยค่าเริ่มต้น การปรับปรุงใด ๆ ที่ได้รับการใส่ใน-latest
repo เมื่อเราทำการปะแก้เซิร์ฟเวอร์เราจะใช้-latest
-repo เพื่อสร้างพื้นฐานใหม่และทดสอบกับเซิร์ฟเวอร์ไม่กี่แห่ง stable
เมื่อผ่านการทดสอบเราทำให้พื้นฐานว่าใหม่ -latest
Repos จะถูกยกเลิกโดยปริยาย
หนึ่งใน repos ใช้สำหรับแพ็คเกจที่เราดึงมาจาก epel, rpmforge และอื่น ๆ เรามีสคริปต์ที่ซิงค์เฉพาะแพ็คเกจที่เราต้องการกับการอ้างอิงใด ๆ ที่พวกเขาต้องการ repo จะถูกสร้างขึ้นใหม่ทุกคืนด้วย createrepo หลังจากแพ็คเกจถูกซิงค์ เนื่องจากแพ็คเกจเหล่านี้ยังไม่ได้ทดสอบจึงสิ้นสุดในint-optional-latest
repo ซึ่งมักจะปิดการใช้งาน ถ้าเซิร์ฟเวอร์ต้องการแพคเกจจาก 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 เดียวกันบนเซิร์ฟเวอร์ทั้งสอง - หนึ่งในนั้นสามารถค้นหาแพ็คเกจได้และอีกอันไม่สามารถทำได้