Назад | Перейти на главную страницу

Более поздние версии RPM недоступны в настраиваемом репозитории yum

Я создал собственный репозиторий, следуя это руководство.

Файлы обслуживаются через http (nginx). Я cd'd в каталог для создания метаданных с createrepo .. Я могу установить пакет через yum из моего собственного репо; Все идет нормально.

Теперь я хочу посмотреть, как может работать процесс обновления, вот где у меня проблемы. Мой первый пакет, который я успешно установил, принадлежит build-utils-20130930-62.noarch.rpm

Итак, я создаю новый пакет build-utils-20131001-63.noarch.rpm, затем в каталоге репо sudo createrepo --update .. Сейчас я пытаюсь sudo yum --nogpgcheck install build-utils, результат

Package build-utils-20130930-62.noarch already installed and latest version

Я пробовал установить новую версию с более явным вызовом yum

sudo yum --nogpgcheck install build-utils-20131001-63

результат

No package build-utils-20131001-63 available.

Решил покопаться в файле filelists.xml, чтобы посмотреть, сработало ли обновление, и уверенно

<package pkgid="c12eb685ebfedf4dd3155d0910517f3eb208dac09cc36b9e971541f038a4590d" name="build-utils" arch="noarch">
    <version epoch="0" ver="20131001" rel="63"/>

Поэтому я даже попытался полностью удалить текущую версию

yum remove build-utils

Теперь иду устанавливать с нуля

sudo yum --nogpgcheck install build-utils

ням предлагает мне еще 62 версию! Я даже пытался очистить кеш yum su -c 'yum clean headers' но безрезультатно.

Как мне получить мои новые версии в настраиваемом репозитории?

Пытаться:

yum clean all

yum -y update build-utils

Реполист кэшируется на вашем клиентском хосте yum.

«Очистите все кэшированные файлы из любого включенного репозитория. Полезно запускать время от времени, чтобы убедиться, что ничто не использует ненужное пространство». [1]

Я уже принял ответ @dmourati, и я собираюсь оставить его таким, однако окончательным решением было изменение файла конфигурации моего репозитория, чтобы он не кешировался в этом репозитории.

[customrepo]
name=Custom Repository
baseurl=http://custom/$basearch
enabled=1
metadata_expire=0

Обратите внимание на последнюю строку (еще раз спасибо @dmourati!). Таким образом, мне никогда не придется запускать какие-либо yum clean, а для всех других репозиториев по-прежнему применяется кеширование.

Причина, по которой я отключаю кеширование в этом репозитории, заключается в том, что это проприетарные пакеты приложений, которые мы будем часто создавать. Возможно, в процессе производства я допущу некоторое кеширование, но нам нужно будет посмотреть, как все сложится с системой сборки / развертывания.