Как удалить устаревшие (или старые пакеты), которых нет в кулинарной книге Chef, и сохранить целостность? - PullRequest
0 голосов
/ 06 сентября 2018

Кажется, мы давно установили пакет «ожидаем» через какую-то старую кулинарную книгу. В настоящее время мы устанавливаем 'pexpect' в эти дни через обновленную кулинарную книгу. И пакет «ожидаемо» все еще доступен в системе, которая мне не нужна.

rpm -qa | grep expect
expect-5.45
pexpect-2.3

Большинство поваренных книг поддерживают свои тесты, но мы не проводим тесты на предмет того, чего там не должно быть, или пакетов, которые могут привести к отклонению системы.

Я также понимаю, что если бы мы установили пакет с кулинарной книгой, я бы надеялся, что мы также добавим ресурс для удаления этого пакета.

Существует ли простой способ использования ohai или некоторых других методов (лучших практик), которые могут определять отклонения версий и устаревшие пакеты и сообщать о них, или, возможно, инициировать процесс удаления пакетов?

Ответы [ 2 ]

0 голосов
/ 25 декабря 2018

Ваши кулинарные книги и рецепты делают объявления о том, как должны выглядеть определенные ресурсы в вашей системе, некоторые объявления - это то, что должно быть там, а другие - то, чего не должно быть. Однако, есть много вещей, о которых ваши кулинарные книги не заботятся. Например, даже если вы устанавливаете некоторых пользователей с ресурсом user, вы не регистрируетесь для управления всеми пользователями в /etc/passwd (при условии, что у вас есть хост * nix).

Итак, если в ваших кулинарных книгах вообще нет упоминания expect, значит, вам все равно, установлена ​​ли она. Если для вашей системы важно, чтобы expect не был установлен, вам следует :remove пакет.

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

Наконец, доверьтесь системе упаковки. Если pexpect не может работать на хосте, на котором установлен expect, он должен объявить, что он конфликтует или устарел expect.

0 голосов
/ 07 сентября 2018

Суть в том, что вам на самом деле все равно, если в системе установлены какие-то дополнительные пакеты, будь то вручную или через более старую автоматизацию, от до они начинают мешать вашим процессам. В этом случае, когда несколько вещей обеспечивают одну и ту же функциональность, ваша поваренная книга, в которой установлена ​​ pexpect , также должна удалить мешающий пакет Ожидайте .

Вряд ли существуют какие-то методы, которые находят отклонения от рецептов, потому что исходная система могла быть настроена по-другому. В то же время они вам на самом деле не нужны, потому что если ваша система настроена автоматически, вы можете просто удалить существующую машину (переустановить чистую ОС) и применить рецепты, чтобы обновить ее.

...