Para qual pacote Debian o /etc/nsswitch.conf pertence?

5

Eu tentei descobrir para qual pacote /etc/nsswitch.conf pertence na minha máquina Debian, mas dpkg --search /etc/nsswitch.conf não me diz. Alguém sabe?

    
por JohnnyFromBF 16.05.2014 / 08:27

4 respostas

7

Este arquivo pertence ao pacote base-files . Você pode usar o seguinte comando apt-file para ver a qual pacote um arquivo pertence:

sudo apt-get install apt-file
apt-file update
apt-file search nsswitch.conf

Verifique os arquivos README debian para obter explicações sobre alguns arquivos no pacote base-files

cat /usr/share/doc/base-files/README

Q. After upgrading my system recently, I noticed that some files from base-files do not match the ones which are installed on a fresh install of squeeze. Should I not be warned about that?

A. Those files are configuration files, so they are completely under the control of the system admin. The files installed by base-files are just defaults. Changes in the default files are not important enough to warn the user, as it is also policy that prompting should be reduced to a minimum. This is also the reason they are not handled via dpkg's conffile mechanism.

Em ambos os casos, se você quiser "atualizar" esses arquivos, basta olhar para o postinst para arquivos base (por exemplo, /var/lib/dpkg/info/base-files.postinst) e você verá como eles são criados e onde suas cópias principais são:

install_from_default /usr/share/base-files/nsswitch.conf /etc/nsswitch.conf
install_from_default /usr/share/base-files/dot.profile   /root/.profile
install_from_default /usr/share/base-files/dot.bashrc    /root/.bashrc
install_from_default /usr/share/base-files/profile       /etc/profile
install_from_default /usr/share/base-files/motd          /etc/motd

Então, se você quiser que seu sistema seja o mais similar possível a um novo sistema squeeze instalado, você pode querer sincronizar esses arquivos manualmente.

    
por 16.05.2014 / 08:37
5

dpkg --search não mostra /etc/nsswitch.conf porque não está registrado como conffile , portanto é um caso especial. Por exemplo, dpkg -S /etc/deluser.conf pode ser usado para identificar o pacote que possui o arquivo /etc/deluser.conf .
Com o caminho omitido, dpkg --search nsswitch.conf realmente mostra resultados.

Eu também gosto do utilitário dlocate , que é muito útil para descobrir qual pacote possui um arquivo. dlocate é uma alternativa mais rápida para dpkg -S .

apt-file é mais útil para procurar arquivos em pacotes não instalados.

    
por 25.08.2014 / 06:35
1
File                                    Packages
/usr/share/base-files/nsswitch.conf     base-files

Eu obtive isso do link e procurei em "contents"

    
por 16.05.2014 / 08:38
0

Algumas boas respostas aqui já, às quais eu só tenho um pouco a acrescentar, embora muito, parece, para um comentário:

Para mim, quatro pacotes parecem ter os dedos nessa torta:

martind@swiftboat:~$ grep -l /etc/nsswitch.conf /var/lib/dpkg/info/*.postinst
/var/lib/dpkg/info/base-files.postinst
/var/lib/dpkg/info/libc-bin.postinst
/var/lib/dpkg/info/libnss-mdns:amd64.postinst
/var/lib/dpkg/info/libnss-myhostname:amd64.postinst
martind@swiftboat:~$

base-files oferece mais que libc-bin:

martind@swiftboat:~$ diff /usr/share/{libc-bin,base-files}/nsswitch.conf
9a10
> gshadow:        files
martind@swiftboat:~$

O libnss-mdns adiciona mdns à linha de hosts. libnss-myhostname adiciona myhostname lá, com a possível promessa de remover a necessidade de / etc / hosts, se apenas não fossem a maneira recomendada de fazer com que o hostname --fqdn funcione.

    
por 18.09.2018 / 01:39