Я создал собственный репозиторий, следуя это руководство.
Файлы обслуживаются через 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
, а для всех других репозиториев по-прежнему применяется кеширование.
Причина, по которой я отключаю кеширование в этом репозитории, заключается в том, что это проприетарные пакеты приложений, которые мы будем часто создавать. Возможно, в процессе производства я допущу некоторое кеширование, но нам нужно будет посмотреть, как все сложится с системой сборки / развертывания.