Debianマシンの/etc/nsswitch.conf
がどのパッケージに属しているかを調べようとしましたが、dpkg --search /etc/nsswitch.conf
は教えてくれません。誰か知っていますか?
このファイルはbase-filesパッケージに属しています。次のapt-fileコマンドを使用して、ファイルがどのパッケージに属しているかを確認できます。
Sudo apt-get install apt-file
apt-file update
apt-file search nsswitch.conf
Base-filesパッケージ内のいくつかのファイルの説明については、debian README filesを確認してください。
cat /usr/share/doc/base-files/README
Q.最近システムをアップグレードした後、ベースファイルの一部のファイルが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
したがって、システムを新しくインストールしたスクイーズシステムとできるだけ類似させたい場合は、これらのファイルを手動で同期することをお勧めします。
dpkg --search
はconffileとして登録されていないため、/etc/nsswitch.conf
は表示されません。これは、少し特殊なケースです。たとえば、dpkg -S /etc/deluser.conf
は、/etc/deluser.conf
ファイルを所有するパッケージを識別するために使用できます。
パスを省略した場合dpkg --search nsswitch.conf
は実際に結果を表示します。
dlocate ユーティリティも気に入っています。これは、どのパッケージがファイルを所有しているかを見つけるのに非常に役立ちます。 dlocate
は、dpkg -S
のより高速な代替手段です。
apt-file
は、インストールされていないパッケージ内のファイルを検索するのに最も役立ちます。
File Packages
/usr/share/base-files/nsswitch.conf base-files
これは https://packages.debian.org/index から取得し、「コンテンツ」で検索しました
すでにここにいくつかの良い答えがありますが、コメントのために追加するのは少しだけですが、多すぎるようです:
私にとって、4つのパッケージがこのパイに指を置いているように見えます。
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はlibc-bin以上のものを提供します:
martind@swiftboat:~$ diff /usr/share/{libc-bin,base-files}/nsswitch.conf
9a10
> gshadow: files
martind@swiftboat:~$
libnss-mdnsは、ホスト行にmdnsを追加します。 libnss-myhostnameはそこにmyhostnameを追加し、ホスト名--fqdnを機能させるために 推奨される方法 でなければ、/ etc/hostsの必要性を排除する可能性があります。