ソフトウェアの依存関係について私が理解したことは、パッケージに依存関係という別のパッケージをインストールする必要があるかもしれません。木のような結果が出ます。パッケージが共通の依存関係を共有する場合もありますが、パッケージは一度だけインストールするだけです。
|パッケージD |パッケージ B--------->| |パッケージE パッケージA --------> | |パッケージF |パッケージC--------->| |パッケージB
私は最近解放するパッケージの依存関係を見つける方法についてAskUbuntu.comに質問しましたが、これを行うすべての方法が異なる結果をもたらしました。その理由は、いくつかのメソッドが単に依存関係をリストするのではなく、再帰チェックを実行するメソッドもあり、逆チェックを実行するメソッドもあるからです。
逆方向依存検査と再帰依存検査の違いは何ですか?
編集する:
用語への参照。私はAPTについて投稿したトピックへのコメントで初めてこれを聞きましたが、依存関係チェックを実行するために使用できるいくつかのプログラムとそのマンページで使用されます。
apt-cache rdependentsは逆方向の依存関係を探していますが、私のスクリプトとapt-rdependentsは再帰的に依存関係を探しています。
r はパッケージによって異なります。 rdependentsは、パッケージ内のすべてのリバース依存関係のリストを表示します。
apt-rdependents - 次のような再帰依存関係のリストを実行します。 適切なキャッシュ
答え1
反転は次に左右される
リバース依存性は、特定のパッケージに依存するパッケージのリストが必要であることを意味します。
はい
$ apt-cache rdepends jetty
jetty
Reverse Depends:
solr-jetty
libjetty-java
libjetty-extra-java
libjetty-extra
libini4j-java
guacamole
再帰的な依存関係
apt-rdepends
特定のパッケージが依存するパッケージやそのパッケージも依存するパッケージを表示するなどのツールを使用してください。これは、依存関係ツリー全体が枯渇するまで繰り返し実行されます。
はい
$ apt-rdepends jetty | head -10
Reading package lists... Done
Building dependency tree
Reading state information... Done
jetty
Depends: adduser
Depends: apache2-utils
Depends: default-jre-headless
Depends: java5-runtime-headless
Depends: jsvc
Depends: libjetty-java (>= 6.1.26-1ubuntu1)
adduser
Depends: debconf
Depends: debconf-2.0
...
jetty
上記では、がに依存し、adduser
それ自体はに依存することがわかりますdebconf
。
逆再帰の依存関係
これは、どのパッケージがパッケージに依存し、そのパッケージがそのパッケージに依存するかを示します。今回も再帰的に行われます。
はい
$ apt-rdepends --reverse jetty
Reading package lists... Done
Building dependency tree
Reading state information... Done
jetty
Reverse Depends: solr-jetty (>= 3.6.1+dfsg-0ubuntu2)
solr-jetty
Reverse Depends: chef-solr (>= 10.12.0+dfsg-1)
chef-solr
Reverse Depends: chef-expander (>= 10.12.0-1)
Reverse Depends: chef-server-api (>= 10.12.0-1)
chef-expander
chef-server-api
Reverse Depends: chef-server-webui (>= 10.12.0+dfsg-1)
chef-server-webui
ここでもツリーをナビゲートするときにjetty
依存関係としてリストされた最初のパッケージは であり、solr-jetty
このパッケージは依存関係chef-solr
などとしてリストされます。
依存関係タイプ
やや混乱するかもしれませんが、いくつかの依存要素があります。マニュアルページを確認してくださいapt-rdepends
。
-f, --follow=DEPENDS
A comma-separated list of DEPENDS types to follow recursively.
By default, it only follows the Depends and PreDepends types.
The possible values for DEPENDS are: Depends, PreDepends, Suggests,
Recommends, Conflicts, Replaces, and Obsoletes.
In --build-depends mode, the possible values are: Build-Depends,
Build-Depends-Indep, Build-Conflicts, Build-Conflicts-Indep.