Especifique as opções de diff para o prompt do arquivo de configuração do dpkg

0

Quando um conffile é modificado, dpkg fornece um prompt perguntando o que fazer:

Configuration file '/etc/apache2/mods-available/ssl.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.
*** ssl.conf (Y/I/N/O/D/Z) [default=N] ? 

Quando você seleciona D , ele executa diff -Nu no arquivo de configuração atual e novo.

Como você especifica diferentes opções diff ? Em particular, eu gostaria de especificar -b . (Obviamente, você pode executar novamente o diff manualmente, mas isso é muito menos conveniente.)

    
por derobert 02.06.2015 / 19:22

1 resposta

2

Parece que você não pode; as opções de diferenças são codificadas na fonte de dpkg . De src/configure.c :

            /* Child process. */
            char cmdbuf[1024];

            sprintf(cmdbuf, DIFF " -Nu %.250s %.250s | %.250s",
                    str_quote_meta(old), str_quote_meta(new),
                    command_get_pager());

            command_shell(cmdbuf, _("conffile difference visualizer"));

DIFF é uma macro de lib/dpkg/dpkg.h e é apenas definido como "diff" . Então, isso é diff -Nu codificado.

Isso provavelmente é o erro do Debian # 380332 .

    
por 02.06.2015 / 20:03

Tags