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 stable
repo yang diaktifkan secara default. Setiap pembaruan dimasukkan ke dalam -latest
repo. 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 -latest
repo 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-latest
repo 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.com
diselesaikan ke alamat IP yang sama di kedua server - namun salah satu dari mereka dapat menemukan paket, dan yang lainnya tidak.