У меня есть местное репо yum с некоторыми rpms. Я хочу обновить один из пакетов на всех своих серверах. Скажем, существующий - foo-1.0.x86_64.rpm. Я зашел в локальное репозиторий yum, новый под названием foo-1.2.x86_64. Теперь, когда я выполняю yum update foo, он говорит, что нет пакетов, отмеченных для обновления. Что мне нужно сделать, чтобы серверы подхватили обновление?
В yum.conf я попытался указать что-то вроде: [updates] baseurl =
но это не сработало.
У меня была такая же проблема. Я сделал 'ням чисто все'на клиенте rpm. Я сбежалcreaterepo'на сервере Yum Repo. Ничего не получилось.
Наконец, я смог исправить это, добавив следующую строку в /etc/yum.conf для клиентов Yum:
metadata_expire = 1 мин.
После того, как я добавил строку для клиентов Yum, команда yum без проблем подобрала новый rpm в локальном репозитории Yum.
Следующая команда показывает дополнительную информацию:
человек yum.conf
К вашему сведению. В CentOS 5 параметр закомментирован. CentOS 6.2 имеет значение 90 миллионов.
Во-первых, ты бежал createrepo
в вашем репозитории yum? Вам нужно будет перестраивать метаданные всякий раз, когда вы добавляете новые пакеты.
Во-вторых, какой таймаут у кеша? Вы можете принудительно очистить локализованные метаданные на своем клиенте, запустив yum clean all
, затем попробуйте снова проверить наличие обновлений. Он загрузит все обновленные метаданные из репозиториев.
Надеюсь это поможет!
Предполагая, что вы выполнили команду createrepo после того, как поместили туда новый RPM, попробуйте yum clean expire-cache
и он должен его поднять.