Когда yum иногда устанавливает обновления, он выдает сообщение вроде:
warning: /etc/ssh/sshd_config created as /etc/ssh/sshd_config.rpmnew
Я считаю, что было бы разумно действовать в соответствии с ними, потому что, возможно, время от времени в конфигурационный файл необходимо внести некоторые изменения, которые важно выполнить по соображениям безопасности; однако мне интересно, не слишком ли я осторожен, и это всего лишь теоретическая проблема, которая на самом деле не является проблемой на практике.
Я предполагаю, что я спрашиваю, знает ли кто-нибудь о каком-либо случае за последние несколько лет, когда отсутствие слияния в файле .rpmnew имело бы некоторые заслуживающие внимания нежелательные последствия - особенно с точки зрения безопасности, но другие аспекты, такие как стабильность или желательность конфигурации, могут быть Стоит отметить.
Это очень редко когда изменения в конфигурации по умолчанию могут иметь последствия для безопасности или стабильности. Однако «очень редко» - это не «никогда», и хорошей практикой системной гигиены является проверка всех .rpmnew
файлы и еще раз проверьте, что они не содержат важных изменений, а затем удалите их.
В качестве дополнительной проверки вам также следует организовать получение уведомлений о безопасности и информации обо всех обновлениях, доступных для применения - чтение журналов изменений и бюллетеней даст вам хорошее представление о характере устраняемых проблем.
Я бы рекомендовал работать с файлами * .rpmnew и * .rpmsave после обновлений. Создание этих файлов обычно указывает на одно из следующих трех:
вы не проявили осторожности (или не было другого способа сделать это) и изменили файл конфигурации, находящийся под управлением пакета. Обычно, если пакет предоставляет каталог для фрагментов конфигурации (например, /etc/<package>.d/, как в /etc/php.d/ для PHP), вы должны оставить свои локальные изменения в нем и не подвергаться влиянию пакет предоставил изменения конфигурации.
упаковщик не проявил осторожности и изменил определение соответствующей записи файла в файле спецификации (например, они забыли пометить конкретный файл как% config или изменили модификаторы макроса% config ().
происходит что-то подозрительное, и файл конфигурации, о котором идет речь, был изменен.
В любом случае, если при обновлении были созданы файлы * .rpmnew или * .rpmsave, нужно сделать следующее:
сделайте разницу между старым файлом и новым с помощью diff -uw old_file new_file
(опция -w игнорирует изменение количества пробелов);
если нет различий (кроме пробела), и вы исследуете создание файла * .rpmnew, замените исходный файл на * .rpmnew, используя mv config_file.rpmnew config_file
. Это обеспечит сохранение метаданных набора пакетов (например, отметок времени, прав доступа к файлам и, возможно, возможностей).
если есть различия, переустановите свои изменения в файл, предоставленный пакетом (например, если вы работаете с * .rpmnew - скопируйте этот * .rpmnew файл под временным именем и настройте его, чтобы он соответствовал желаемым изменениям из исходного файла конфигурации; если вы работаете с * .rpmsave - примените изменения в конфигурационном файле предоставленного пакета). Это гарантирует, что дальнейшие обновления будут проще, и если был введен новый формат файла конфигурации, вы его используете.
когда вы разрешите этот «конфликт», удалите соответствующий файл * .rpmnew или * .rpmsave, так как они не отслеживаются менеджментом пакетов.
Это даст вам чистую и удобную систему для работы, а также гарантирует, что вы будете в курсе последних изменений в файлах конфигурации.