Spacewalk (спутниковая) активация обновления дочерних каналов на клиенте
У нас работает спутниковый сервер (spacewalk) rhn и на нем зарегистрировано несколько сотен машин с несколькими ключами активации. Каждый из этих ключей имеет один или несколько дочерних каналов. Нам нужно знать, как "обновить" регистрацию, чтобы у клиентов могли быть новые дочерние каналы, которые мы добавляем в этот базовый ключ активации, чтобы они были доступны каждому из клиентов. Мы хотели бы иметь возможность написать скрипт, который будет регулярно проверять "актуальность" его регистрации, но не может понять, как это сделать без перерегистрации машины, которая оставила бы слишком много несуществующих профилей на на стороне сервера. Любые предложения или помощь будут оценены.
2 ответа
Единственный способ, которым мне удалось это сделать, - это выбрать серверы через SSM в графическом интерфейсе и переназначить каналы там, а не в скрипте.
Это старый вопрос, который может потребовать нового ответа.
Узнайте о spacecmd - это избавит ваш мозг и защемленную мышь от ненужной боли. И, это может быть написано в сценарии, даже если это немного многословно.
for CHNL in `spacecmd -q -- softwarechannel_list`; do
spacecmd -q -- \
softwarechannel_listchildchannels ${CHNL} \
| xargs -n1 \
spacecmd -q -y -- \
system_addchildchannels channel:${CHNL}
done
Добавьте заголовок shebang и поместите его в /etc/cron.daily из spacewalk. Если вы делаете что-то неправильно, это самый простой рецепт шеф-повара;-) Как только вы поймете, почему это в основном правильно, это самая легкая полезная нагрузка RPM.