パッケージマネージャのバージョンとは異なるDebianのすべての設定ファイルをどのように表示できますか?

パッケージマネージャのバージョンとは異なるDebianのすべての設定ファイルをどのように表示できますか?

アップグレードをインストールすると、sudo apt-get upgrade以下が表示されます。

Configuration file '/etc/grub.d/30_os-prober'
 ==> Modified (by you or by a script) since installation.
 ==> Package distributor has shipped an updated version.
   What would you like to do about it ?  Your options are:
    Y or I  : install the package maintainer's version
    N or O  : keep your currently-installed version
      D     : show the differences between the versions
      Z     : start a shell to examine the situation
 The default action is to keep your current version.
*** defaults.list (Y/I/N/O/D/Z) [default=N] ?

ところで、GRUBパスワードを設定するときに/etc/grub.d/30_os-proberを変更しましたが、どうすればいいのかわかりません。最善の方法は、パッケージマネージャの設定ファイルをインポートしてから同じ変更(ファイルをマージ)することです。

アップグレードが無人で行われたか、コンソールの代わりにApper(アップデート用GUI)を使用したため、他のコンピュータではこの質問を受け取りませんでした(Apperがメッセージを表示しないのはなぜですか?質問がありますか?または関連しています)。質問?)。デフォルト値を選択する必要がありますが、構成ファイルを変更せずに構成ファイルを変更すると問題が発生する可能性があります。

パッケージマネージャのバージョン以外のすべての設定ファイルを表示するにはどうすればよいですか?このプロファイルを含む対応するパッケージも表示する必要があります。構成ファイルを検索するコマンドがない場合は、パッケージを再インストールすると、構成ファイルに対して同じプロンプトが表示されるはずです。

私はDiffuse MergeやMeldなどのマージGUIを使用してこれらのプロファイルを簡単にマージ/変更/比較する方法を好みます(Dを押すとコンソールのdiffビューをほとんど使用できません)。

私はDebian11 / KDEを使用しています。

答え1

次のコマンドを使用すると、最も変更された構成ファイルを見つけることができます。

debsums -ac

マンページで提案されているように、dpkgデータベースをさらに照会して、これらのファイルが属するパッケージを見つけることができますdebsums(1)

dpkg -S $(debsums -ac)

「現在の」構成ファイルの内容を「オリジナル」ファイルの内容と比較できる便利な方法がわかりません。特に、dpkg構成ファイルのコピーが保持されず、最新バージョンの正常にインストールされた場合を考えると、さらにそうです。パッケージは基本的にクリーンなaptファイルです。.deb

パッケージに含まれるプロファイルでのみ機能することに注意してください。

一部のパッケージは、管理者スクリプトで構成ファイルの基本コンテンツを生成し、それを使用してucfローカルの変更を維持しながら更新することを好みます。以下を使用して、修正された内容を見つけることができます。

md5sum --quiet --check /var/lib/ucf/hashfile

ucfホスティングプロファイルを作成したパッケージが/var/lib/ucf/registryわかります/var/lib/ucf/cache/ucfqクエリデータベースを使用することもできますucf

関連情報