Gentoo Linuxимеет набор инструментов, помогающих вслияниеconf файл изменяется при обновлении пакета. Например, инструмент conf-update
или dispatch-conf
инструмент.
Однако при обновлении пакетов в Ubuntu мне доступны только следующие варианты: (1) Использовать новый файл conf, (2) Использовать старый файл conf, (3) Запустить оболочку.
Нет ли в Ubuntu инструмента, похожего на conf-update
или dispatch-conf
?
Дополнительные пояснения:
Допустим, есть служба, файл конфигурации которой — /etc/something.conf
. Установка пакета something
предоставит конфигурацию «по умолчанию» со всеми прокомментированными параметрами. Затем я изменяю параметры по мере необходимости.
Затем происходит обновление, и с обновлением устанавливается новая конфигурация «по умолчанию». Некоторые опции могут быть устаревшими, могут быть добавлены новые опции, а описание существующих опций может быть исправлено.
Теперь эта «стандартная» конфигурация явно конфликтует с уже отредактированным /etc/something.conf
файлом.
ВGentoo Linux, новая конфигурация будет сохранена под уникальным именем, с выводом предупреждения, информирующего меня об «измененном/обновленном файле конфигурации». Затем я запускаю , conf-update
который поможет мне выполнить двухстороннее слияние затронутых файлов конфигурации. Для каждого изменения у меня есть выбор: (1) сохранить свою версию, (2) использовать версию пакета или (3) редактировать вручную. Обычно я выбираю (2) для изменений комментариев, (1) сохранить свои конкретные изменения и (3) если я значительно отклонился от значения по умолчанию.
Мне бы хотелось иметь такое же управление/взаимодействие в Ubuntu, если это вообще возможно.
решение1
При обновлении через apt-get
обычно появляется подсказка о том, что делать с файлом конфигурации (установить новую версию, сохранить старую версию и т. д.).
Если мы решим сохранить текущую версию, новые файлы конфигурации будут сохранены с расширением (.dpkg-dist).
Для вывода списка новых файлов можно использовать следующую команду:
find /etc -type f -name "*.dpkg-dist"
И чтобы предпринять действия с этими файлами конфигурации, мы можем использовать предоставленныеucfинструмент. Его синтаксис:
ucf <new-file> <old-file>
Например,
ucf /etc/sysctl.conf.dpkg-dist /etc/sysctl.conf
Смотрите также,
https://raphaelhertzog.com/2010/09/21/debian-conffile-configuration-file-managed-by-dpkg/