/etc/nsswitch.conf 属于哪个 Debian 软件包?

Joh*_*mBF 6 linux debian apt package-management nsswitch

我试图找出/etc/nsswitch.conf我的 Debian 机器上属于哪个软件包,但dpkg --search /etc/nsswitch.conf没有告诉我。有人知道吗?

cio*_*y23 8

该文件属于base-files包。您可以使用以下 apt-file 命令查看文件属于哪个包:

sudo apt-get install apt-file
apt-file update
apt-file search nsswitch.conf
Run Code Online (Sandbox Code Playgroud)

检查 debian README 文件以获取有关 base-files 包中某些文件的说明

cat /usr/share/doc/base-files/README
Run Code Online (Sandbox Code Playgroud)

问:最近升级我的系统后,我注意到基础文件中的某些文件与新安装的squeeze 上安装的文件不匹配。我不应该被警告吗?

A. 这些文件是配置文件,所以它们完全在系统管理员的控制之下。由基本文件安装的文件只是默认值。默认文件中的更改不足以警告用户,因为提示应减少到最低限度也是策略。这也是它们没有通过 dpkg 的 conffile 机制处理的原因。

在任何一种情况下,如果您想“升级”这些文件,只需查看基本文件的 postinst(即 /var/lib/dpkg/info/base-files.postinst),您将看到它们是如何创建的以及在哪里他们的主副本是:

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
Run Code Online (Sandbox Code Playgroud)

因此,如果您希望您的系统尽可能与新安装的挤压系统相似,您可能需要手动同步这些文件。


小智 6

dpkg --search不显示,/etc/nsswitch.conf因为它没有注册为conffile,所以它是一个特殊情况。例如dpkg -S /etc/deluser.conf可用于识别拥有/etc/deluser.conf文件的包。
省略路径dpkg --search nsswitch.conf实际显示结果。

我也喜欢dlocate实用程序,它非常有助于查找哪个包拥有文件。dlocate是一个更快的替代品dpkg -S

apt-file 对于在未安装的软件包中搜索文件最有用。