Могу ли я настроить dpkg для запуска kdiff в случае конфликта с обновлением файла конфигурации?

Мы все это видели...

Configuration file 'blah/blah/blah.conf'
==> Modified (by you or by a script) since installation.
==> 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
     Z     : start a shell to examine the situation
The default action is to keep your current version.

Иногда различия довольно обширны. Я изменил свою рабочую конфигурацию, но я также хочу посмотреть, какие параметры конфигурации были изменены (а также получить последние комментарии из последней версии стандартного файла конфигурации). Так что я не могу просто выбрать из двух... Я хочу слиться.

Я пользуюсь KDiff3 для этого. Но утомительно открывать другое окно терминала и копировать / вставлять имена существующего файла конфигурации и dpkg-new version.

Я знаю, что могу установить переменные env, такие как PAGER и EDITOR, и программы, такие как crontab, покорно будут использовать мой предпочитаемый редактор и пейджер. Есть ли способ указать dpkg использовать определенную программу для "показа различий", чтобы она запустила KDiff3, которая позволит мне объединить вещи в мой рабочий файл конфигурации?

1 ответ

Держу пари D использует жесткий код diff | pagerрежим только для чтения, чтобы показать различия. Затем выбирая Y или же N сохраняет или заменяет весь файл Нет интерактивной возможности слияния, и вы не можете ее перегрузить. Частично для этого Z, но вы должны будете сделать это так, как вы это сделали.

Md5sums всех файлов в .deb поэтому я думаю, что это причина, почему нет такой опции, потому что установка пакета не удалась бы, если md5 не совпадает.

Другие вопросы по тегам