Debian 기반 배포판에 두 가지 다른 버전의 라이브러리를 설치해야 합니다.

Debian 기반 배포판에 두 가지 다른 버전의 라이브러리를 설치해야 합니다.

Jessie는 패키지 libapr1 버전 1.5.1-3으로 APR(Apache Runtime Portable)과 함께 제공됩니다.

그러나 이것은 Jessie가 가지고 있는 유일한 버전(그리고 최신 버전)입니다. 1.3.[0-9] 또는 1.4.[0-9] 사이의 4월 버전이 필요한 UIMA C++ SDK를 빌드하려고 합니다.

저는 Debian Wheezy에 4월 1.4.6이 있다는 것을 알고 있습니다(실제 패키지를 다운로드했습니다).

내 질문은 다음과 같습니다

  1. 소스 코드에 Wheezy를 추가하는 대신 dpkg를 사용하여 패키지를 설치합니까? 아니면 소스에 천명음을 추가해야 합니까?
  2. dpkg를 통해서든 apt-get을 통해서든 동일한 라이브러리의 두 가지 다른 버전을 설치하면 "stuff"가 손상될 위험이 있습니까? 내가 이해한 바에 따르면 Jessie는 apr-1.5.1을 많은 용도로 사용하므로 시스템을 복잡하게 만들고 싶지 않습니다.

답변1

dpkg 또는 apt-get을 사용하여 서로 다른 두 버전을 설치하는 경우 -f 옵션을 사용하여 강제로 설치하지 않는 한 시스템이 중단되지 않습니다.

대신 패키지 데이터베이스에 추가 항목을 생성합니다.

소스를 수동으로 설치할 때는 프로그램을 라이브러리에 연결해야 합니다. 예를 들어 apr-1.4.6을 /usr/local/lib/apr로 심볼릭 링크합니다. 방금 심볼릭 링크한 라이브러리를 사용하도록 이전 라이브러리를 사용하는 프로그램을 설정하십시오.

프로그램이 링크를 PATH 디렉토리에 배치하여 찾을 수 있는지 확인하십시오.

답변2

소스 코드에 Wheezy를 추가하는 대신 dpkg를 사용하여 패키지를 설치합니까?

아니요.

아니면 소스에 천명음을 추가해야 합니까?

아니요.

dpkg를 통해서든 apt-get을 통해서든 동일한 라이브러리의 두 가지 다른 버전을 설치하면 "stuff"가 손상될 위험이 있습니까?

예.


대신, 이전 버전(CVE-2015-1829, 최신 수정 사항)에 몇 가지 보안 버그가 있었고 새 시스템에서 기능을 보장하기 위해 수정이 이루어졌기 때문에 프로젝트 관리자에게 최신 라이브러리를 사용하도록 요청하는 것이 좋습니다(예: " Linux 수정" 버전 3.10 이상을 포함하여 더 많은 버전을 식별하기 위한 커널 버전 확인" 라이브러리에서 커널 4.0+와 함께 Jessie를 사용하는 경우 최신 라이브러리 우선 소프트웨어 및 패치 문제를 그대로 사용하여 빌드해 보겠습니다. 찾았으므로 당연히 업스트림으로 제출해야 합니다.


또 다른 옵션은 가상 머신(또는 다른 커널을 부팅할 수 있는 것)을 사용하고 거기에 Wheezy를 설치하는 것입니다. 이러한 보안 문제에 대한 수정 사항은 포함되어 있지 않을 수 있습니다(직접 패치해야 할 수도 있음).

관련 정보