yum клієнт не бачить нових пакетів, хоча сервер оновлюється


16

У нас є внутрішній сервер yum, що містить кілька репостів (копії RHEL-репо, програми, створені власноруч тощо). Наші внутрішні системи відключаються від Інтернету, тому вони можуть використовувати лише наш внутрішній сервер.

Для того, щоб перевірити виправлення, перш ніж підштовхувати їх до виробництва, у нас є stableрепо, яке включено за замовчуванням. Будь-які оновлення ставлять у -latestрепо. Коли ми виправляємо сервери, ми використовуватимемо це -latest-repo, щоб створити нову базову лінію та протестувати її на кількох серверах. Після тестування ми робимо цю базову лінію новою stable. В -latestоперації РЕПО за замовчуванням відключені.

Один із репостів використовується для декількох пакетів, які ми отримуємо з epel, rpmforge тощо. У нас є сценарій, який синхронізує лише ті пакети, які ми хочемо, з будь-якими необхідними їм залежностями. Після синхронізації пакетів репо-нове відбудовується щорічно з kreaterepo. Оскільки ці пакети не перевірені, вони потрапляють у int-optional-latestрепо, яке зазвичай вимикається. Якщо серверу потрібен пакет від цього репо, ми встановимо його за допомогою enable-repo=int-optional-latest.

Сьогодні колега намагався встановити perl-Excel-Writer-XLSX на сервер. Сервер не знайшов пакет. Я спробував відновити сховище за допомогою createrepo, і схопив файли реподатів, щоб переконатися, що файл там був. Це було. Я також перевірив, що файл існував у сховищі за допомогою

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

Я також очистив кеш метаданих на стороні клієнта, використовуючи

sudo yum clean expire-cache

Незважаючи на це, клієнт продовжував стверджувати, що пакет не існує на сервері.

Я не думаю, що проблема в серверній стороні, тому що коли я намагався здійснити пошук на іншій машині, він знайшов пакет. Я переконався, що файли репо були правильними і що ім'я yum.example.comвирішено однаковою IP-адресою на обох серверах - все ж один з них може знайти пакет, а другий не може.

Відповіді:


14

Я почав копатись до журналів веб-сервера на сервері yum, і не знайшов звернень із IP-адреси для клієнта, який не міг знайти файли. Я спершу цього не зрозумів, оскільки очистив кеш із клієнтів. Тому я зробив ще одне очищення кешу, цього разу використовуючи

sudo yum -v clean expire-cache

Коли ви запускаєте -v, він перераховує, які репости вони очищають - а що int-optional-latestне було у списку. Я вважаю, що це було пов’язано з тим, що репо було вимкнено за замовчуванням. Я зробив ще одне очищення кешу, цього разу використовуючи

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 = int-optional-latest install perl-Excel-Writer-XLSX
Chris Madden

Дякую, @ChrisMadden! Вирізати та вставити помилку, очевидно ...
Jenny D

1
sudo yum -v clean expire-cache

не працювало для мене. Однак мені вдалося з цим працювати

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

і

yum repolist

показує, що оновлено. Сподіваюсь, це допомагає.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.