klien yum tidak melihat paket baru meskipun server diperbarui

16

Kami memiliki server yum internal yang berisi beberapa repo (salinan repo RHEL, program yang dibuat di rumah, dan sebagainya). Sistem internal kami di-firewalled dari internet, sehingga mereka hanya dapat menggunakan server internal kami.

Untuk menguji tambalan sebelum mendorongnya sepenuhnya ke dalam produksi, kami memiliki stablerepo yang diaktifkan secara default. Setiap pembaruan dimasukkan ke dalam -latestrepo. Saat kami menambal server, kami akan menggunakan -latest-repo itu untuk membuat baseline baru dan mengujinya di beberapa server. Setelah diuji, kami membuat garis dasar itu menjadi baru stable. The -latestrepo yang dinonaktifkan secara default.

Salah satu repo digunakan untuk beberapa paket yang kami ambil dari epel, rpmforge dan sebagainya. Kami memiliki skrip yang menyinkronkan hanya paket yang kami inginkan dengan semua dependensi yang mereka butuhkan. Repo dibangun kembali setiap malam dengan createrepo setelah paket disinkronkan. Karena paket-paket ini tidak diuji, mereka berakhir di int-optional-latestrepo yang biasanya dinonaktifkan. Jika server membutuhkan paket dari repo itu, kami akan menginstalnya menggunakan enable-repo=int-optional-latest.

Hari ini seorang rekan kerja mencoba menginstal perl-Excel-Writer-XLSX di server. Server tidak menemukan paket. Saya mencoba membangun kembali repositori menggunakan createrepo, dan mengambil file repodata untuk memastikan file itu ada di sana. Dulu. Saya juga memverifikasi bahwa file itu ada di dalam repositori menggunakan

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

Saya juga membersihkan cache metadata di sisi klien, menggunakan

sudo yum clean expire-cache

Meskipun demikian, klien terus mengklaim bahwa paket itu tidak ada di server.

Saya tidak berpikir masalahnya ada di sisi server, karena ketika saya mencoba melakukan pencarian dari komputer lain, ia menemukan paket. Saya memverifikasi bahwa file repo sudah benar dan nama itu yum.example.comdiselesaikan ke alamat IP yang sama di kedua server - namun salah satu dari mereka dapat menemukan paket, dan yang lainnya tidak.

Jenny D
sumber

Jawaban:

14

Saya mulai menggali log server web pada server yum, dan tidak menemukan hit dari IP untuk klien yang tidak dapat menemukan file. Saya tidak mengerti ini pada awalnya, karena saya sudah membersihkan cache pada klien. Jadi saya melakukan pembersihan cache lagi, kali ini menggunakan

sudo yum -v clean expire-cache

Saat dijalankan -v, ia mencantumkan repo yang dibersihkan - dan yang int-optional-latesttidak ada dalam daftar. Saya pikir ini karena repo dinonaktifkan secara default. Saya melakukan pembersihan cache lagi, kali ini menggunakan

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

Setelah itu, saya mencoba yang lain

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

yang bekerja dengan sempurna.

Jenny D
sumber
Perintah harus dengan X di akhir nama paket seperti: sudo yum enable-repo = int-opsional-instal perl terbaru-Excel-Writer-XLSX
Chris Madden
Terima kasih, @ChrisMadden! Cut-and-paste-error, jelas ...
Jenny D
1
sudo yum -v clean expire-cache

tidak bekerja untuk saya. Namun, saya bisa membuatnya bekerja

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

dan

yum repolist

menunjukkan itu diperbarui. Semoga ini membantu.

Z_K
sumber