yum client không thấy các gói mới mặc dù máy chủ được cập nhật


16

Chúng tôi có một máy chủ yum nội bộ có chứa một số repos (bản sao của repo RHEL, các chương trình được tạo trong nhà, v.v.). Các hệ thống nội bộ của chúng tôi được tường lửa từ internet, vì vậy chúng chỉ có thể sử dụng máy chủ nội bộ của chúng tôi.

Để kiểm tra các bản vá trước khi đưa chúng vào sản xuất, chúng tôi có một stablerepo được bật theo mặc định. Bất kỳ cập nhật nào được đưa vào -latestrepo. Khi chúng tôi vá các máy chủ, chúng tôi sẽ sử dụng -latest-repo đó để xây dựng đường cơ sở mới và thử nghiệm nó trên một vài máy chủ. Sau khi thử nghiệm, chúng tôi làm cho đường cơ sở đó mới stable. Các -latestrepos được tắt theo mặc định.

Một trong những repos được sử dụng cho một vài gói mà chúng tôi lấy từ epel, rpmforge, v.v. Chúng tôi có một tập lệnh chỉ đồng bộ hóa các gói chúng tôi muốn với bất kỳ phụ thuộc nào họ cần. Repo được xây dựng lại hàng đêm với commeepo sau khi các gói được đồng bộ hóa. Vì các gói này chưa được kiểm tra, chúng kết thúc trong int-optional-latestrepo thường bị vô hiệu hóa. Nếu một máy chủ cần một gói từ repo đó, chúng tôi sẽ cài đặt nó bằng cách sử dụng enable-repo=int-optional-latest.

Hôm nay, một đồng nghiệp đã cố gắng cài đặt perl-Excel-Writer-XLSX trên máy chủ. Máy chủ không tìm thấy gói. Tôi đã thử xây dựng lại kho lưu trữ bằng cách sử dụng commepo và grepping các tập tin repodata để đảm bảo tập tin đã ở đó. Nó đã được. Tôi cũng xác minh rằng tệp tồn tại trong kho lưu trữ bằng cách sử dụng

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

Tôi cũng đã xóa bộ đệm siêu dữ liệu ở phía máy khách, sử dụng

sudo yum clean expire-cache

Mặc dù vậy, khách hàng vẫn tuyên bố rằng gói không tồn tại trên máy chủ.

Tôi không nghĩ vấn đề nằm ở phía máy chủ, bởi vì khi tôi thử thực hiện tìm kiếm từ một máy khác, nó đã tìm thấy gói. Tôi đã xác minh rằng các tệp repo là chính xác và tên yum.example.comđược phân giải thành cùng một địa chỉ IP trên cả hai máy chủ - tuy nhiên một trong số chúng có thể tìm thấy gói, và cái còn lại thì không thể.

Câu trả lời:


14

Tôi bắt đầu đào sâu vào nhật ký máy chủ web trên máy chủ yum và không tìm thấy bất kỳ lần truy cập nào từ IP cho máy khách không thể tìm thấy các tệp. Ban đầu tôi không hiểu điều này vì tôi đã xóa bộ nhớ cache trên máy khách. Vì vậy, tôi đã làm một bộ nhớ cache khác, lần này sử dụng

sudo yum -v clean expire-cache

Khi chạy với -vnó, nó liệt kê những repos nào nó làm sạch - và int-optional-latestkhông có trong danh sách. Tôi nghĩ rằng điều này là do repo bị tắt theo mặc định. Tôi đã thực hiện xóa bộ nhớ cache khác, lần này sử dụng

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

Sau đó, tôi đã thử cách khác

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

mà làm việc hoàn hảo.


Lệnh phải có chữ X ở cuối tên gói như: sudo yum enable-repo = int-tùy chọn-mới nhất cài đặt perl-Excel-Writer-XLSX
Chris Madden

Cảm ơn, @ChrisMadden! Rõ ràng là cắt và dán lỗi, ...
Jenny D nói Phục hồi lại

1
sudo yum -v clean expire-cache

không làm việc cho tôi. Tuy nhiên, tôi đã có thể làm cho nó hoạt động với

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

yum repolist

cho thấy nó được cập nhật. Hi vọng điêu nay co ich.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.