Onde /etc/php/7.0/apache2/php.ini no Ubuntu 16.04?

2

De onde vem o arquivo /etc/php/7.0/apache2/php.ini no Ubuntu 16.04?

dpkg -S /etc/php/7.0/apache2/php.ini

não retorna nada.

dpkg -S /etc/php/7.0/apache2/

mostra que o diretório é instalado pelo pacote libapache2-mod-php7.0, mas

dpkg-query -L libapache2-mod-php7.0

não menciona "php.ini". Eu estou supondo que este arquivo é copiado durante um processo de pós-instalação. Existe uma maneira de determinar qual instalação de pacote está criando este arquivo?

    
por Jeffrey Froman 22.02.2017 / 20:01

1 resposta

3

Quando você está pesquisando como algo está no seu sistema, muitas vezes você pode querer tentar um comando como este grep 'php.ini' /var/lib/dpkg/info/* . O /var/lib/dpkg/info/ contém arquivos relacionados a pacotes, que incluem o packagename.list que é usado pelo dpkg -S, o packagename.conffiles que é uma lista dos arquivos de configuração e os arquivos dos vários scripts de pré / pós instalação / remoção como packagename.actionname .

# grep 'php.ini' /var/lib/dpkg/info/*

/var/lib/dpkg/info/libapache2-mod-php7.0.postinst:    phpini="/etc/php/7.0/apache2/php.ini"
/var/lib/dpkg/info/libapache2-mod-php7.0.postinst:  ucf /usr/lib/php/7.0/php.ini-production.apache2 $phpini
/var/lib/dpkg/info/libapache2-mod-php7.0.postinst:  ucf /usr/lib/php/7.0/php.ini-production $phpini
/var/lib/dpkg/info/libapache2-mod-php7.0.postrm:    phpini=/etc/php/7.0/apache2/php.ini
/var/lib/dpkg/info/php7.0-cli.postinst:    phpini="/etc/php/7.0/cli/php.ini"
...

# cat /var/lib/dpkg/info/libapache2-mod-php7.0.postinst
...
if [ "$1" = "configure" ]; then
    phpini="/etc/php/7.0/apache2/php.ini"

    if [ "apache2" = "cli" ]; then
    ucf /usr/lib/php/7.0/php.ini-production.apache2 $phpini
    else
    ucf /usr/lib/php/7.0/php.ini-production $phpini
    fi
    ucfr libapache2-mod-php7.0 $phpini
...

De qualquer forma, para esta consulta em particular, vemos que o php.ini está sendo adicionado via ucf de /usr/lib/php/7.0/php.ini-production . O UCF é uma das poucas ferramentas que podem ser usadas pelos pacotes Debian para manter os arquivos de configuração. O UCF pode aceitar alguns valores de usuários para serem mesclados, ele pode detectar e atualizar automaticamente ou mesclar configurações em algumas situações e assim por diante.

    
por 22.02.2017 / 21:48