特定のライブラリに依存するRPMパッケージを一覧表示するには?

特定のライブラリに依存するRPMパッケージを一覧表示するには?

私のFedora 25システムのどのRPMパッケージがライブラリに依存しているかを確認したいと思いますlibLLVM-3.8.solibclang-3.8.soどうすればいいですか?

答え1

これを利用dnf repoqueryして探すことができます。たとえば、

dnf repoquery --whatrequires libLLVM-3.8.so

ただし、x86_64 システムでは目的の効果が得られない場合があります。 x86_64 バージョンのライブラリーを指定します。はい必要なもの)()(64bit)次のように追加します。

dnf repoquery --whatrequires 'libLLVM-3.8.so()(64bit)' 

'今、括弧でbashが混乱するのを防ぐ必要があります。)

デフォルトでは、使用可能でインストールされているパッケージが一覧表示されます。現在インストールされているパッケージに制限するには、--installed次のようにフラグを追加します。

dnf repoquery --whatrequires 'libLLVM-3.8.so()(64bit)'  --installed

私のシステムでは、次のものが返されます。

llvm-libs-0:3.8.0-1.fc25.x86_64
mesa-dri-drivers-0:13.0.2-2.fc25.x86_64
mesa-libxatracker-0:13.0.2-2.fc25.x86_64

パッケージ名だけが必要な場合は、追加のフォーマットオプションの--queryformat '%{name}\n'ために。dnf repoquery --querytags

答え2

$ locate libLLVM-3.8.so
/usr/lib/libLLVM-3.8.so
/usr/lib64/libLLVM-3.8.so
$ rpm -qf /usr/lib64/libLLVM-3.8.so
llvm-libs-3.8.0-1.fc25.x86_64
$ sudo rpm -e --test llvm-libs-3.8.0-1.fc25.x86_64
error: Failed dependencies:
        libLLVM-3.8.so()(64bit) is needed by (installed) clang-libs-3.8.0-2.fc25.x86_64
        libLLVM-3.8.so()(64bit) is needed by (installed) mesa-dri-drivers-13.0.2-2.fc25.x86_64
        libLLVM-3.8.so()(64bit) is needed by (installed) mesa-libOpenCL-13.0.2-2.fc25.x86_64
        libLLVM-3.8.so()(64bit) is needed by (installed) mesa-libxatracker-13.0.2-2.fc25.x86_64

他のファイルも似ています。または任意の文書。

関連情報