パッケージの特定の依存関係が必要な理由を理解する方法はありますか?

パッケージの特定の依存関係が必要な理由を理解する方法はありますか?

依存関係パッケージを含むパッケージをインストールしようとしていますmysql-client-5.5debianutilsしかし、まずdebianutilspackage.jsonと一緒にどのバイナリがインストールされているかを確認しました。savelog、、、、、ischrootおよび9つのユーティリティadd-shellremove-shellインストールします。これらのユーティリティの中で実際に必要なものはありますか?パッケージのソースコードを見て確認する唯一の方法ですか、それとももっと便利な方法がありますか?whichtempfilerun-partsinstallkernelmysql-client-5.5mysql-client-5.5

答え1

一般的な答えはありません。場合によっては、パッケージ記述に依存関係に関する追加情報を見つけることができます。ユーザーが弱い依存関係をインストールするかどうかを判断するのに役立つ完全な「依存関係:」ではなく、「推奨:」または「提案:」がより一般的です。別の情報ソースはパッケージの変更ログです。これは時々依存関係を追加する理由を示します。

mysql-client-5.5この例では、依存関係自体が手がかりを提供します。つまり、ですdebianutils (>= 1.6)。見ているdebianutil変更ログバージョン1.6にtempfilesensible-editorおよびが導入されたことを示しますsensible-pager。検索をこれら3つに制限すると、mysql-client-5.5起動スクリプトが何を使用しているかがtempfileわかりますdebianutils

答え2

パッケージマネージャは、仕様ファイルを生成するときのパッケージの依存関係を一覧表示します。 debianutilsのリストを見ると、パッケージのインストールを助けるためにそれを使用しているようですが、そうです。なぜこれが依存関係なのかを調べるには、もう少し深く掘り下げる必要があります。ソースtarballの./configureスクリプトでこれらのツールの使い方を見つけることができます。

Debinautils パッケージの説明

関連情報