/etc/nsswitch.conf
私のDebianコンピュータにどのパッケージが属しているのかを見つけようとしていますが、それをdpkg --search /etc/nsswitch.conf
教えてくれません。知っている人はいますか?
答え1
このファイルは次の一部です。基本ファイルパック。次の apt-file コマンドを使用して、ファイルが属するパッケージを確認できます。
sudo apt-get install apt-file
apt-file update
apt-file search nsswitch.conf
デフォルトパッケージの一部のファイルについては、debian READMEファイルを確認してください。
cat /usr/share/doc/base-files/README
Q:最近システムをアップグレードした後、デフォルトファイルの一部のファイルがsqueezeの新しいインストールにインストールされているファイルと一致しないことがわかりました。警告を受けなければなりませんか?
A. これらのファイルは構成ファイルなので、システム管理者が完全に制御できます。 Basic Filesでインストールしたファイルは基本ファイルです。ポリシーはプロンプトを最小限に抑える必要があるため、基本ファイルの変更だけではユーザーに警告するのに十分ではありません。これがdpkgのconffileメカニズムを介して処理されない理由です。
どちらの場合も、このファイルを「アップグレード」するには、デフォルトのファイル(/var/lib/dpkg/info/base-files.postinst)の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
そのため、システムを新しくインストールされたSqueezeシステムにできるだけ近づけるには、これらのファイルを手動で同期する必要があります。
答え2
dpkg --search
/etc/nsswitch.conf
登録されていないため表示されません。構成ファイルだから少し特別です。たとえば、ファイルを所有するパッケージをdpkg -S /etc/deluser.conf
識別するために使用できます。パスを省略すると、実際に結果が表示されます。 /etc/deluser.conf
dpkg --search nsswitch.conf
私もいいです。場所ユーティリティは、ファイルを所有するパッケージを見つけるのに非常に便利です。dlocate
より速い選択肢ですdpkg -S
。
apt-file
削除されたパッケージからファイルを検索するのに最も便利です。
答え3
File Packages
/usr/share/base-files/nsswitch.conf base-files
私はこれをどこで得ましたか?https://packages.debian.org/index「コンテンツ」で検索してください。
答え4
ここにはすでにいくつかの良い答えがあります。説明するには多すぎるようですが、これを追加するだけです。
私には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:~$
デフォルトファイルはlibc-binよりも多くの機能を提供します。
martind@swiftboat:~$ diff /usr/share/{libc-bin,base-files}/nsswitch.conf
9a10
> gshadow: files
martind@swiftboat:~$
libnss-mdns ホスト行に mdns を追加します。 libnss-myhostname はここに myhostname を追加し、潜在的に /etc/hosts の必要性を排除します。推奨方法ホスト名--fqdnが機能するようにします。