Я открывал закрытое репо для компании, с которой работаю. Вначале он работал правильно, но сегодня, когда я попытаюсь установить новый созданный мной rpm, у меня возникла эта ужасная ошибка:
http://<server_name>/centos/7/repodata/a6ecd0c880b1f5128974cd147a53cd84d7dab269b9055215b6fbe99fb98f6d7a-primary.sqlite.bz2: [Errno 14] HTTP Error 404 - Not Found-:-- ETA
Я уже пробовал:
yum clean all
rm -rf /var/cahe/yum
yum repolist
И снова та же ошибка.
Я удалил все содержимое в реподанных на сервере репо и снова воссоздаю репо с помощью:
createrepo /path/to/repo/directory
После повторного создания репо я снова запустил
yum clean all
rm -rf /var/cahe/yum
yum repolist
Но все еще ничего не работает
Я на 100% уверен, что конфигурация клиента в порядке, потому что я единственный, кто играл с серверами на данный момент, и на прошлой неделе они работали хорошо.
В противном случае репо доступно по http, я могу видеть все пакеты и реподанные с помощью веб-браузера. Если выполнить
curl http://<server_name>/centos/7/repodata/repomd.xml
от клиента я получаю правильный файл.
Я понял, что имя основного имени БД не является правильным в клиенте (даже после запуска yum clean all; rm-rf /var/cache/yum; yum update
). Как я могу это исправить? Я весь день копался в этой проблеме, но ничего не изменилось
Разрешения в каталогах репо настроены ОК (тройной проверил)
Что мне не хватает ???
Заранее спасибо за вашу помощь
Я думаю, что вчера вечером я нашел ответ, по крайней мере, на данный момент я не сталкиваюсь с проблемами, описанными ранее.
Решение простое: избегайте того, чтобы клиент держал локальный кеш репозиториев. Это можно сделать в том числе в /etc/yum.conf
клиенты подают следующую строку:
http_caching=none
Если этот параметр настроен, каждый раз, когда клиент выполняет yum update
или yum repolist
он загружает все реподанные с сервера репозитория, поэтому все файлы находятся в последней версии.
Я до сих пор не понимаю, почему, если я стирал весь локальный кеш в клиенте с помощью yum clean all; rm -rf /var/cache/yum
клиент продолжал поиск старых файлов реподанных. Если у кого-то есть ответ, поделитесь им. Это сводило меня с ума последние несколько дней.
В любом случае спасибо за ваши советы и рекомендации
Я столкнулся с аналогичной ошибкой и хотел поделиться своими выводами здесь.
Сервер репозитория частной компании был размещен за своего рода веб-ускорителем. Поэтому и здесь пришлось отключить кеширование и оптимизацию.
После этого ошибка исчезла.