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

Как отключить репозитории yum, не управляемые марионеткой

Попытка привести очень специальную среду в более стандартизированное и управляемое состояние.

В моем случае использования я бы хотел отключить все репозитории, не относящиеся к Red Hat (предоставляемые плагином диспетчера подписок). Однако было бы неплохо иметь гибкое решение, которое отключает все репозитории, не управляемые Puppet.

Какие-либо предложения?

Это зависит от того, как вы предоставляете конфигурацию репозитория через марионетку. Вы помещаете файл в /etc/yum/repos.d или в пользовательский провайдер?

Вы можете принять меры, чтобы убедиться, что каталог /etc/yum.repos.d/ очищен (т. Е. Свободен от файлов, не предоставленных марионеткой), проверьте ресурс файла в справочнике по типу марионетки. Проблема с этим подходом заключается в том, что некоторые сторонние приложения предоставляют свои собственные репозитории и упаковывают их в rpm: s, который устанавливается во время выполнения марионетки. Это может быть трудно учесть при написании марионеточных классов.

В зависимости от того, как вы планируете реализовать конфигурацию репозитория yum, я предлагаю вам изменить «reposdir» в /etc/yum.conf на что-то вроде «/etc/yum.repos.managed.d/» и разместить репозитории, настроенные для марионетки. в этом каталоге. Таким образом, yum не будет читать ничего из стандартного каталога конфигурации репозитория, а только из тех, которые предоставлены вашей реализацией марионетки.

Почему бы не заставить Puppet сделать это?

Скажите Puppet, чтобы он включил только те репозитории, которые необходимо включить, и отключите все остальное.

Другая идея - добавить префикс к именам управляемого репо Puppet, чтобы вы могли легко их идентифицировать. Затем отключите все, кроме RedHat и репозиториев с префиксом.