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

список стандартных пакетов

Я изучаю марионеточную систему, и теперь мне нужно выполнить следующее задание. У нас есть несколько серверов с одинаковой ОС (Altlinux p6, t6) - марионеточные агенты и есть марионеточный мастер.

На агентах установлено несколько пакетов, например. 200 пакетов на первом, 300 на втором .... Но нам нужно установить только 180. Мы знаем названия необходимых пакетов, но не знаем имен других (ненужных пакетов).

У меня вопрос: как я могу проверить или установить (если еще не установлены) необходимые пакеты и удалить другие пакеты (мы не знаем имена других установленных пакетов)?

Помогите, пожалуйста

WBR Валентин

Это должно работать:

resources { 'package':
    purge => true,
}

Сначала я бы сделал так:

resources { 'package':
    purge => true,
    noop  => true,
}

А затем проверьте журналы, чтобы увидеть, что бы он сделал. Только когда я убедился, что все работает нормально, я удалил noop.

В любом случае, он сообщает Puppet, что нужно удалить все ресурсы типа package (как указано в названии - resource { 'user': purge => true } удалил бы пользователей, например), которые не под управлением Puppet. То есть, если у вас есть линия package { 'x': }, то при установке этот пакет не будет удален. Любая посылка без такого объявления будет удалена.

Я изучил это и пришел к выводу, что, хотя это можно сделать, определив модули марионеток с помощью Package {sure => absent} для пакетов, которые вы хотите вытащить, готового способа

Насколько мне известно, не существует собственного метода массового удаления пакетов. Я подумал о создании сценария с использованием цикла foreach для извлечения ненужных пакетов после чтения списка с разделителями строк из файла конфигурации.

В конце концов, однако, я нашел самое чистое решение для создания новых серверов и использования Puppet для всего управления с самого начала. Ваши результаты могут отличаться.

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

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