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

Yum той же версии, что и в репозитории (автоматические обновления / понижения)

В нашей инфраструктуре есть серверы, установленные и управляемые марионеткой. Все наше программное обеспечение затем устанавливается с rpm. На каждом сервере есть небольшой скрипт, который выполняет обновление yum, если в репозитории есть какие-то изменения.

Мне нужно добиться автоматического перехода на более раннюю версию, чтобы пакет, установленный на всех серверах, был таким же, как последний в репозитории. Так и хотелось бы выполнять откаты. Таким образом, у разработчиков есть простой (обязательно наличие Интернета) интерфейс для перемещения пакета в реальном времени / удаления пакета (выполнения отката / перехода на более раннюю версию).

Я знаю, что debian поддерживает эту функцию с помощью приоритетов (или какой-то конкретной подходящей магии - сейчас я не уверен, это было некоторое время, когда я настраивал это в последний раз).

Можно ли заставить yum работать таким образом?

поскольку вы используете марионетки и yum, вы можете подумать о том, чтобы привязать пакет к конкретному выпуску, который удовлетворял бы случаю перехода на более раннюю версию, один из способов сделать это - создать список пакетов из узлов, представляющих вашу конфигурацию, и сравнить список против пакетов в репозиториях. или используйте модуль forgebase https://forge.puppetlabs.com/ryanuber/packagelist. для управления репозиторием пакетов, если вам не нужен бригадир / кателло, как было рекомендовано выше, я бы рекомендовал посмотреть mrepo, reposync и, что лучше всего, Pulp

Похоже, вам нужно зеркало локального репозитория, где вы можете управлять версиями - возможно, с разными средами для постановки, производства и т. Д.

В идеале у вас должен быть сервер с подключением к Интернету и внутренней сетью. Он будет запускать веб-сервер во внутренней сети, возможно, с разными путями для разных сред:

http://192.168.1.10/staging/repo/
http://192.168.1.10/production/repo/

... и так далее. Затем вы можете тщательно управлять обновлениями пакетов, и все серверы во внутренней сети могут просто выполнить yum update чтобы идти в ногу. Используя среды в марионетке, вы можете автоматически настраивать каждый сервер для использования этого, поскольку это только репозиторий yum, и предотвращать их выход в Интернет для получения дополнительных пакетов (даже если у них было подключение к Интернету).

Это сработает?