Точнее ...
На самом деле, поддерживать все в актуальном состоянии необязательно - самое важное - это автоматическое тестирование и обновление обновлений безопасности в некритичных пакетах (и более тщательное тестирование критически важных исправлений).
Я знаю о выход в открытый космос и мякоть, но по ряду причин (дрянная документация, тот факт, что она требует уродливых хаков, чтобы избежать ненужной загрузки целых больших репозиториев, независимо от того, что у вас есть в данной системе) я исключил их как варианты. Мы используем Puppet, но сам по себе он не подходит для работы.
yum
один, безусловно, имеет кое-что из того, что мне нужно, но (если я чего-то не упускаю) это тоже (в одиночку) не кажется подходящим инструментом для работы. На данный момент я также изучаю бригадира, но я не уверен, что это подходящее место для поиска, и я знаю, что большая часть функций, которые он предоставляет, на самом деле не для решения такого рода проблем.
для этого используйте функцию исключения yum. Для постоянного использования добавьте следующую строку в конфигурацию yum (в /etc/yum.conf):
exclude=python3* php*
Если вы хотите оставаться в курсе событий и не хотите загружать репозитории целиком, просто примените исправления безопасности. Используйте для этого плагин безопасности yum, а затем запустите yum --security update
и yum updateinfo list bugzillas
будет только скачивать обновления и устанавливать их.
для автоматизации есть сотни вариантов. Для автоматизированных корпоративных рабочих нагрузок вы, вероятно, захотите использовать что-то более надежное, например Chef или Puppet. Ссылка в комментариях выглядит как хороший ресурс.
Опять же, используйте параметр исключения вместе со списком конфиденциальных пакетов, чтобы убедиться, что они не затронуты.