特定の設定ファイルを提供するパッケージは何ですか?

特定の設定ファイルを提供するパッケージは何ですか?

似たようなものがありますが、dpkg -S <file>たとえば設定ファイルの場合ですか/etc/samba/smb.conf?私は彼らがから生成されたと思いますdpkg-reconfigure

user@host:~$ dpkg -S /etc/samba/smb.conf
dpkg-query: no path found matching pattern /etc/samba/smb.conf

答え1

dpkg -S管理者スクリプト(またはその他のツール)によって生成された構成ファイルではなく、パッケージに直接提供されている構成ファイルのみを見つけることができます。後者に対する普遍的な解決策はありませんが、ファイルへの参照を見つけることが/var/lib/dpkg/info最善の選択です。この場合:

$ grep -rl /etc/samba/smb.conf /var/lib/dpkg/info
/var/lib/dpkg/info/samba-common.config
/var/lib/dpkg/info/samba-common.postinst
/var/lib/dpkg/info/samba-common.postrm
/var/lib/dpkg/info/samba-common.templates

samba-commonこれは、ファイルが以下によって管理されることを示します。文書を読んで確認することがpostinstできます。

答え2

Stephen Kittの答えはおそらく最高です。しかし、そのような答えが見つからない場合は、試してみることもできますetckeeper。 DebianとUbuntuにはデフォルトでインストールされていませんが、リポジトリにとって簡単な操作がapt install etckeeper可能です。

Etckeeperを/etc使用すると(git)バージョン管理を受けることができます。そのうちの1つは、パッケージがインストール/更新されるたびに自動コミットです。

これで、cd /etc && sudo git blame somefile調整された時間を確認してその日付を検索できます。/var/log/dpkg*

作業量が多いですが、dpkg -S見つからない場合は動作するはずです。

関連情報