yumによる特定の依存関係バージョンのインストール[閉じる]

yumによる特定の依存関係バージョンのインストール[閉じる]

CentOS 7サーバーに複数のオープンソースライブラリをインストールしようとしていますが、どちらもやや複雑な相互依存ネットワークを形成します。たとえば、私が誤ってインストールした依存LibA関係を持つバージョン管理の競合(「ライブラリの地獄」)がないことを確認する必要があります。LibB v.1.2LibB v0.9

だから私は以下が必要です:

  1. 必要な各ライブラリのバージョンを見つけて(すべてお互いの正しいバージョンに依存するように)
  2. yum正しいバージョンをインストールするには

後で特定のライブラリについて言及しますが、問題は次のようにまとめることができると思います。どのライブラリ間に相互依存性があるシナリオyum

特に、以下をインストールしようとしています。

  • libpng-dev(PNGライブラリ)
  • libjpeg-dev(JPEGライブラリ)
  • libtiff-dev(TIFFライブラリ)
  • libopencv-dev(オープンCV)

問題は、OpenCVが最初の3つに依存することです。したがって、yum私にインストールされているPNG、JPEG、TIFFライブラリのバージョンがOpenCVが期待するバージョンと互換性があることを確認する必要があります。

また、これら4つのライブラリのそれぞれに対してコマンドを実行して、現在システムにインストールされている正しいバージョンを確認したいと思います。

どこから始められるかというアイデアはありますか?よろしくお願いします!

答え1

私が理解したところによると、あなたの質問は2つの部分に分けられます:

  1. 各ライブラリの必須バージョンを見つける方法は?
  2. 正しいバージョンをインストールする方法は?

答え(1):yum deplist $PACKAGEどの依存関係が必要かを示すのに役立ちます。

[root@centos7 ~]# rpm -qi libopencv-dev
package libopencv-dev is not installed
[root@centos7 ~]# yum deplist libopencv-dev
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
 * base: muug.ca
 * extras: mirror.its.sfu.ca
 * updates: mirror.its.sfu.ca
[root@centos7 ~]# rpm -qi expect
package expect is not installed
[root@centos7 ~]# yum deplist expect
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
 * base: muug.ca
 * extras: mirror.its.sfu.ca
 * updates: mirror.its.sfu.ca
package: expect.x86_64 5.45-14.el7_1
  dependency: /bin/sh
   provider: bash.x86_64 4.2.46-20.el7_2
  dependency: libc.so.6(GLIBC_2.14)(64bit)
   provider: glibc.x86_64 2.17-106.el7_2.8
  dependency: libdl.so.2()(64bit)
   provider: glibc.x86_64 2.17-106.el7_2.8
  dependency: libm.so.6()(64bit)
   provider: glibc.x86_64 2.17-106.el7_2.8
  dependency: libm.so.6(GLIBC_2.2.5)(64bit)
   provider: glibc.x86_64 2.17-106.el7_2.8
  dependency: libtcl8.5.so()(64bit)
   provider: tcl.x86_64 1:8.5.13-8.el7
  dependency: libutil.so.1()(64bit)
   provider: glibc.x86_64 2.17-106.el7_2.8
  dependency: libutil.so.1(GLIBC_2.2.5)(64bit)
   provider: glibc.x86_64 2.17-106.el7_2.8
  dependency: rtld(GNU_HASH)
   provider: glibc.x86_64 2.17-106.el7_2.8
   provider: glibc.i686 2.17-106.el7_2.8
[root@centos7 ~]# 

回答(2)に対する回答は次のとおりです。この問題「特定のバージョンのパッケージXをインストールするようにyumにどのように指示しますか?」に関する追加情報

関連情報