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가 처음 세 가지에 의존한다는 것입니다. 따라서 yum나에게 설치된 PNG, JPEG, TIFF 라이브러리 버전이 OpenCV에서 기대하는 버전과도 호환되는지 확인해야 합니다 .

또한 이 4개 라이브러리 각각에 대해 명령을 실행하여 현재 시스템에 설치된 정확한 버전을 확인하고 싶습니다.

어디서부터 시작할 수 있는지에 대한 아이디어가 있나요? 미리 감사드립니다!

답변1

제가 이해한 바에 따르면, 귀하의 질문은 두 부분으로 나누어져 있습니다:

  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에 어떻게 지시합니까?"에 대한 추가 정보

관련 정보