再帰依存性検査と逆方向依存性検査の違いは何ですか?

再帰依存性検査と逆方向依存性検査の違いは何ですか?

ソフトウェアの依存関係について私が理解したことは、パッケージに依存関係という別のパッケージをインストールする必要があるかもしれません。木のような結果が出ます。パッケージが共通の依存関係を共有する場合もありますが、パッケージは一度だけインストールするだけです。

                                        |パッケージ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.

関連情報