私の問題は繰り返される状況から来ています。たとえば、最近更新されたDebianインストールでファイル(/etc/modprobe.d/radeon-kms.conf)を見つけましたが、それはもう存在しないはずです(xserver- xorg -video-radeonパッケージは2015年からそれを削除しました)ファイルはそのパスにまだ存在します。
だからコマンドを実行すると
dpkg -S /etc/modprobe.d/radeon-kms.conf
dpkgはこれをxserver-xorg-video-radeonパッケージに属します
dpkg -L xserver-xorg-video-radeon
出力として生成されたリストの末尾にパスを表示します。
ただし、このファイルは最近のパッケージの一部ではありません。実際、最新であるが同じように更新された他のインストールではこれは発生しません。 dpkg -L xserver-xorg-video-radeonはこのファイルをリストに表示しません。
パッケージが所有していると宣言されたファイルと実際にパッケージに含まれるファイルとの間の異なる矛盾をどのように見つけることができますか?または、元のパッケージにまだパスが含まれていることを確認するためにdpkg / aptを照会するにはどうすればよいですか?
答え1
このファイルはパッケージに属しません。ファイルはパッケージインストーラによって生成できますが、それ以降はファイルにすぎません。パッケージアンインストーラは、パッケージに記載されているファイルのリストに基づいてファイルを削除します。
パッケージの新しいバージョンが、特定のファイルが同じパッケージの以前のバージョンの一部であるという事実がわからない場合は、すべてです。他の手段(歴史文書または以前のバージョンのパッケージを探す)を通じて直接学ばない限り、実際に孤児になります。
ただし、既存のパッケージのファイルのリストをインポートできます。
dpkg --listfiles <package>
インストールされているすべてのパッケージに対してこのコマンドを実行すると、保存する必要があるファイルのリストを取得できます。したがって、実際に持っているファイルのリストからそのリストを減算すると、潜在的な孤立したファイルのリストが表示されます。ただし、これらのファイルが実際のものか、一部のアプリケーション(構成ファイル、一部のデータファイル、または他のパッケージのファイル)によって作成されたものかどうかは、解決する必要があるミステリーです。