シェルコマンドを使用してライブラリ名とバージョン別にパッケージ名とバージョンを見つける方法は?

シェルコマンドを使用してライブラリ名とバージョン別にパッケージ名とバージョンを見つける方法は?

パッケージ名とライブラリのバージョンを知らせるコマンドはありますか?

たとえば、現在インストールされていないが必須のライブラリバージョンをインポートしたいと思いますmariadb-libslibmysqlclient_r.so.16

回答を読んで更新してください。

yum whatprovides "*libmysqlclient*"libmysqlclient_r.so.16リストされたライブラリがないと表示されます。ol7_latestさまざまなバージョンのmariadb-libs(5.5.60-1.el7_5.x86_64)の5.5.56-2.el7.x86_64,リポジトリにはso.18ライブラリのみが表示されます, 5.5.64-1.el7.x86_64

オペレーティングシステム:Oracle Linux 7.7

答え1

あなたはそれを使用することができますyum whatprovides:

供給または何を提供するのか

特定の機能やファイルを提供するパッケージを見つけるために使用されます。その機能またはファイルを提供する使用可能またはインストールされたパッケージを一覧表示するには、特定の名前またはファイルグローバル構文ワイルドカードを使用するだけです。

たとえば、

yum whatprovides "*libmysqlclient*"

答え2

申し訳ありません。単純なシェルコマンドで古いバージョンのライブラリを取得することは不可能だと思います。それを見つけるために私は使用しましたrpmfind.net rpmfind.netを検索するには、ライブラリ名を入力してください。

これは、ライブラリのバージョンがel6システムで利用可能であり、で利用できないことを示しています。リポジトリをアクティブにしてこれらの情報を取得するel7ことは可能ですが、これは意味がありません。誤ったリポジトリからインストールすると、システムが損傷する可能性があります。 rpmfindの使用は、追加のリポジトリを有効にする必要があるコマンドを使用するよりも簡単です。したがって、このライブラリが必要な場合はインストールすることをお勧めします。el7el6Oracle Linux 6このバージョンまたは他のバージョンの場合は、rpmfindで印刷してください。

関連情報