~/.configに特定のファイルを書き込むパッケージ

~/.configに特定のファイルを書き込むパッケージ

~/.configフォルダに特定のファイル(またはフォルダ)を生成するパッケージが一般的に何であるかをどうやって知ることができますか?

これは、両方のパッケージがユーザーのホームディレクトリの同じ構成に書き込まれたくない開発者やリセラーにとって重要です。

構成ファイルの分析に興味があるユーザーにも重要です(古い大容量ファイルまたはプレーンテキスト資格情報を持つファイルの検索...)。

これまでは、パッケージマネージャがパッケージからこのメタ情報を取得できるかどうかはわかりません。これがディストリビューションに限定されないことを願っています。私はすべての主要なLinuxバージョン、特にDebianベースのディストリビューションとGentooに興味があります。

独立した場所がありますか?オンラインデータベース存在する場合、誰がどのファイルを作成したのか、どこで確認できますか?

プログラムを作成する機関はありますか?構成登録ファイルはどこにありますかhome

答え1

ホームディレクトリに直接パッケージをインストールするなど、珍しいことをしない限り(例:Gentooプレフィックス)、~/.configパッケージマネージャはファイルをここに配置しません。すべてではありませんが、ほとんどのパッケージマネージャは個々のユーザーホームディレクトリの内容を完全に無視します。したがって、パッケージマネージャはこれらのユーザー固有の設定ファイルに関する情報を取得できません。

また、広く使用されているデータベース、レジストリ、またはその他の含まれている項目についてはわかりません~/.config。ファイルまたはディレクトリの名前は、それを生成したプログラムの名前を参照する必要があるという広範な慣例がありますが、これは非常にあいまいです。ガイドラインに従い、実施されません。

ファイルの作成を担当するアプリケーションを探している場合は、名前がわからない場合は追加する内容はあまりありません。トリガーの答え。プログラムがアクセスできる方法を見つける必要があるかもしれません。

答え2

パッケージシステムには、どのファイルがどのパッケージに属するかを示す方法があります。

dpkg -S file

rpm -qf file

ただし、パッケージシステムにこれらのツールがない場合、またはファイルがパッケージシステムに登録されていないが、プログラムのインストールまたは起動中に自動的に生成される場合は役に立ちません。この場合、事後判断が難しい場合があります。このようなもの(またはSystemTap)がインストールされている場合は、sysdigファイルのアクティビティを監視し、どのプロセスがそのファイルにアクセスしているかを確認し、そのプロセスでそのアクティビティが属するパッケージを追跡できます。

sysdig "fd.name contains file"

パッケージがインストールされたとき(またはプログラムが起動したとき)を実行するようにします。インストールプロセスの早い段階でこれを実行するのは難しいかもしれません...

関連情報