2

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

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 .

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

1 ответ1

0

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

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

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .