Наш программный стек требует некоторых конкретных версий пакетов RPM. К сожалению, некоторые из этих пакетов со временем устаревают и удаляются из своих репозиториев, поскольку их сопровождающие не хранят архивы (EPEL, Percona, ...).
Это проблема в управлении конфигурацией. Мы хотим, чтобы на новом компьютере было то же программное обеспечение, что и на старых (мы используем Puppet).
Я предполагаю, что стандартное решение размещает эти пакеты в частном репозитории YUM, который мы создали для себя. Это также полезно для пакетов, которые нам нужно компилировать из исходного кода.
У меня вопрос: знаете ли вы о каком-либо «прокси-инструменте» для сервера репо Yum, чтобы каждый агент загружал пакеты оттуда, а сервер репо загружал пакеты из внешних исходных источников, а затем кэшировал их локально? (В случае их исчезновения из исходного репо)
Аналогом из мира Java может служить Archiva, который является сервером репозитория Maven, но также может использоваться для прокси-запросов к общедоступным репозиториям и кэширования их локально.
ОС: Centos 6.4
Спасибо
Выход в открытый космос может справиться с этим. (Хотя обратите внимание, что с EL7 он будет заменен Целлюлоза и, возможно Кателло.)
Загрузите нужные вам версии RPM. Создайте свой собственный локальный репозиторий, содержащий только те пакеты, которые вам нужны. Направьте своих клиентов в ваш новый локальный репозиторий. Прекратите использовать публичные, которые ведут себя не так, как вы хотите.
Для начала:
yum -y install createrepo && man createrepo
думаю mrepo
отличный инструмент для этого. Вы указываете его на вышестоящий репозиторий, и он будет зеркалировать локально. Вариант конфигурации lftp-cleanup = no
, rhnget-cleanup = no
и т. д., предотвратит удаление пакетов с вашего локального зеркала при их удалении в восходящем направлении.