Как объединить файлы конфигурации в интерактивном режиме после «yum update»

8

После обновления системных пакетов с помощью «yum update» файлы конфигурации, которые не могут быть перезаписаны, не заменяются, но мы можем найти файлы * .rpmnew поблизости. По замыслу системный администратор должен объединить конфигурационные файлы.

В Gentoo Linux есть утилита etc-update , которая позволяет интерактивно объединять изменения файла конфигурации, например:

Beginning of differences between /etc/pear.conf and /etc/._cfg0000_pear.conf
[...]
End of differences between /etc/pear.conf and /etc/._cfg0000_pear.conf
1) Replace original with update
2) Delete update, keeping original as is
3) Interactively merge original with update
4) Show differences again

Интересно, есть ли способ интерактивного объединения конфигов в RHEL / Fedora / CentOS?

Энтони Ананич
источник

Ответы:

5

Этот плагин yum добавляет параметр командной строки --merge-conf. С помощью этой опции Yum спросит вас, что делать с файлами конфигурации, которые изменились при обновлении пакета.

https://apps.fedoraproject.org/packages/yum-plugin-merge-conf

g33kz0r
источник
5

Самая близкая вещь, которую я нашел к Gentoo, etc-updateэто rpmconf :

# yum install -y rpmconf    
# rpmconf -a
Configuration file `/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.25-5.b18.fc21.x86_64/jre/lib/security/US_export_policy.jar'
-rw-r--r--. 1 root root 620 Oct  2 16:38 /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.25-5.b18.fc21.x86_64/jre/lib/security/US_export_policy.jar
-rw-r--r--. 1 root root 620 Dec 15 12:11 /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.25-5.b18.fc21.x86_64/jre/lib/security/US_export_policy.jar.rpmnew
 ==> Package distributor has shipped an updated version.
   What would you like to do about it ?  Your options are:
    Y or I  : install the package maintainer's version
    N or O  : keep your currently-installed version
      D     : show the differences between the versions
      M     : merge configuration files
      Z     : background this process to examine the situation
      S     : skip this file
 The default action is to keep your current version.
*** aliases (Y/I/N/O/D/Z/S) [default=N] ? 
Your choice: Y
sheldonh
источник
2

Единственный способ, который я нашел, это vimdiff:

Окно vmdiff с выделением различных строк

Энтони Ананич
источник