どのアプリケーションがXパッケージに依存しているかを知る方法

この短いミニチュートリアルは、 読者の一人、フェリペの懸念への対応、私たちに尋ねて書いた人:«どのアプリケーションがJavaを使用しているかを知るにはどうすればよいですか?«。 まあ、それを知る方法はないと思いますが、簡単に知る方法はあります リポジトリにリストされているパッケージ(つまり、どのアプリケーション)がJAVAパッケージに依存している。 同じ方法を他のパッケージにも使用できます。たとえば、どのアプリケーションが依存しているかを調べることができます。 モノ型.


最も一般的なのは、パッケージXが正常に機能するためにインストールする必要のある他のパッケージを調べたい場合です。 これらの必要なパッケージは依存関係と呼ばれ、次のように見つけることができます。

apt-cacheはmypackageに依存します 

Synapticにアクセスして、パッケージを見つけて、実行することもできます。 それを右クリック>プロパティ>依存関係.

ただし、この投稿の目的は、その逆を正確に見つけることです。つまり、依存関係としてXパッケージを持つパッケージを見つけることです。 つまり、この場合、「mother」パッケージがわかっており、この「mother」パッケージをインストールして機能させるために必要な他のパッケージを知りたいと考えています。

問題をよりよく理解するために、例に移りましょう。 openjdk-6-jreパッケージに依存するパッケージを検出する方法を見てみましょう。 つまり、JAVAに依存するリポジトリにリストされているアプリケーションを検出する方法です。

私はターミナルを開いて書いた:

apt-cache rdepends openjdk-6-jre 

OpenOffice、FreeMind、OpenColなどを含むパッケージの長いリストが表示されます。

正しい「マザー」パッケージを見つける方法は?

OK、これまでのところ簡単ですが、検索する必要がある「マザー」パッケージを見つけるにはどうすればよいですか? まあ、これにはいくつかの専門知識と事前の分析が必要です。

すべてのMONOベースのアプリケーションを知りたいとします。 その場合、私が行ったのは、MONOを使用していることがわかっているアプリケーション(GBrainy)の依存関係を探し、それに基づいて「母」パッケージを検出し、逆の依存関係を探すことでした。 うーん、難しいようですが、ナンセンスです。

私はターミナルを開いて書いた:

apt-cacheはgbrainyに依存します

結果は次のとおりです。

  依存:モノランタイム
 |依存:libc6
 |依存:libc6.1
  依存:libc0.1
  依存:libglib2.0-cil
  依存:libgtk2.0-0
  依存:libgtk2.0-cil
  依存:liblaunchpad-integration1.0-cil
  依存:libmono-addins-gui0.2-cil
  依存:libmono-addins0.2-cil
  依存:libmono-cairo2.0-cil
  依存:libmono-corlib2.0-cil
  依存:libmono-posix2.0-cil
  依存:libmono-system2.0-cil
  依存:librsvg2-2
  依存:mono-csharp-shell

モノランタイムが適切な候補であると思われたので、モノランタイムに依存するすべてのパッケージを検索することにしました。

apt-cacherdependsモノランタイム

出来上がり! MONOを使用するすべてのパッケージが表示されます。

一部のMONOパッケージに依存するすべてのパッケージの完全なリストを表示するには、次のように記述できます。

apt-cache rdepends mono *
注:この方法は、APTリポジトリーにリストされているアプリケーションに対してのみ機能します。
ありがとうフェリ!

コメントを残す

あなたのメールアドレスが公開されることはありません。 必須フィールドには付いています *

*

*

  1. データの責任者:MiguelÁngelGatón
  2. データの目的:SPAMの制御、コメント管理。
  3. 正当化:あなたの同意
  4. データの伝達:法的義務がある場合を除き、データが第三者に伝達されることはありません。
  5. データストレージ:Occentus Networks(EU)がホストするデータベース
  6. 権利:いつでも情報を制限、回復、削除できます。

  1.   フェリペベセラ

    パブロに答えてくれてありがとう、そして投稿してくれてありがとう🙂

  2.   齋藤モルドラグ

    パブロあなたは私のアイドルです!

    素晴らしい投稿。

  3.   Linuxを使いましょう

    すごい! データをありがとう!

  4.   巧妙な

    グロスディストリビューションを使用する私たちのために…………冗談

    RPMベースのパッケージマネージャーを使用している場合は、このコマンドが使用されます

    rpm-qRパッケージ

    例:

    linux @ dhcppc3:〜> rpm -qR xmms
    /bin/sh
    /bin/sh
    rpmlib(PayloadFilesHavePrefix)<= 4.0-1
    rpmlib(CompressedFileNames)<= 3.0.4-1
    libICE.so.6
    libSM.so.6
    libX11.so.6
    libXxf86vm.so.1
    libc.so.6
    libc.so.6(GLIBC_2.0)
    libc.so.6(GLIBC_2.1)
    libc.so.6(GLIBC_2.3)
    libc.so.6(GLIBC_2.3.4)
    libc.so.6(GLIBC_2.4)
    libc.so.6(GLIBC_2.7)
    libdl.so.2
    libdl.so.2(GLIBC_2.0)
    libdl.so.2(GLIBC_2.1)
    libgdk-1.2.so.0
    libglib-1.2.so.0
    libgthread-1.2.so.0
    libgtk-1.2.so.0
    libpthread.so.0
    libpthread.so.0(GLIBC_2.0)
    libpthread.so.0(GLIBC_2.1)
    libpthread.so.0(GLIBC_2.3.2)
    libxmms.so.1
    rpmlib(PayloadIsLzma)<= 4.4.6-1