Я пытаюсь удалить ненужные службы, такие как XWindows и Gnome, на производственных машинах RHEL / CentOS с помощью Puppet (мне не удается установить ОС).
Насколько я могу судить, "groupremove" пока не поддерживается / не рекомендуется, потому что это не совсем "противоположность" "groupinstall". Тогда есть такая команда, как rpm -q --group "User Interface/X"
, который, как я считаю, должен работать с использованием exec {}, но должен быть более элегантный способ сделать это, поскольку я уверен, что это должно выполняться довольно регулярно.
Кто угодно? Большое спасибо!
В последних версиях yum есть groupremove_leaf_only
вариант, который вы можете использовать, должен охватывать большинство случаев, когда вы хотите удалить группы пакетов. Он удалит только пакеты, принадлежащие данной группе, но не любой другой группе, «установленной» в системе. это работает так: yum --setopt=groupremove_leaf_only=1 group remove <group name>
.
В groupremove_leaf_only
опция была добавлена в yum 3.2.28, что означает, что в RHEL 6 она есть, а в RHEL 5 ее нет.
Я подошел к этой проблеме, написав свой собственный тип для управления группами пакетов yum. Он поддерживает свой собственный список установленных групп, поэтому его не смущает нечеткое соответствие, которое yum делает для определения, установлена ли группа. Если вас попросят удалить установленную группу, он использует groupremove_leaf_only
на RHEL 6 и Fedora 17; на RHEL 5 это прямая yum group remove <group>
а затем делает yum group install
во всех остальных группах, которые необходимо установить. Это не идеально, но это лучший подход, который я придумал.
На это есть два открытых билета от Puppet Labs.
http://projects.puppetlabs.com/issues/5175
и
http://projects.puppetlabs.com/issues/11995
Ни один из них в настоящее время не проявляет особой активности. Вы, вероятно, могли бы проголосовать за них, и это могло бы привлечь внимание разработчиков.
Отчасти проблема с группами заключается в том, что они есть не у всех менеджеров пакетов, и их немного странно моделировать в мире декларативного управления системами.
Вы также можете попасть в ситуацию, когда вы удаляете группу, и она непреднамеренно удаляет другие пакеты (принадлежащие другим группам). Тем не менее, это известный риск для всех типов удаления.
На данный момент ваш exec, вероятно, самый элегантный способ сделать это. (Кроме того, не устанавливайте пакеты, с которых не хотите начинать).