제일 좋은 방법은 배포본의 RPMS 디렉토리에서 찾는 것이 가장
좋습니다. 해당 library 가 설치되어 있지 않을 경우에는 rpm -qf
로 찾을 수가 없을 테니까요.
그리고 또, 하나는 필요한 library 가 존재함에도 불구하고 의존성
에러를 발생시키는 경우가 있습니다. 대표적인 것이 openssl 인데,
이는 패키징시의 해당 library 의 경로와 현재 설치하려는 시스템의
library 경로가 틀려서 발생하는 경우입니다. 이럴 때는 rpm 파일
대신에 source rpm 을 받아서 리빌드하면 간단하게 해결이 됩니다.
: rpm은 하나의 프로그램을 특성별로 나누어 몇개의 패키지로 제공하여, 서로 중복되지 않
게 필요한 것만 설치하게 해주는 장점이 있습니다. :
: 하지만 그로 인해 의존성이라는 최약(?)의 조건을 제시하며 이러한 의존성은 초심자에게
: 너무나도 어려운 산중에 하나가 아닌가 생각됩니다.
: 리눅스를 사용하면서 의존성의 장벽에 부딛힐때 나름대로 해결하는 방법을 제시하겠습
: 니다.
: 1. 동일한 시스템에서 검사하기
:
: 즉 동일한 버전의 리눅스가 설치된 다른 시스템에서 locate 명령어로 해당 라이브러리를
: 검사한 후 rpm -qf "해당파일의 절대경로" 를 통해 해당 라이브러리가 포함된 패키지를 찾
: 아냅니다. 2. 공통점
:
: 가령 libdb 라는 라이브러리가 어느 패키지에 있는지는 일반적으로 lib라는 단어를 제외한
: db 라는 패키지에 들어 있습니다. 즉 제일 먼저 lib라는 단어를 제외한 단어로 된 패키지의
: 포함된 파일 리스트를 검사해 봅니다. 간혹 lib를 제외한 단어-devel 이란 패키지에 들어가
: 있는 경우도 있습니다. 3. rpmfind.net
: rpm이라면 당연히 rpmfind.net 에서 검사해보는 것이 좋겠죠? rpmfind.net에서는 패키지에 포함
: 된 파일명에서도 검사를 하므로 search에서 해당 단어를 넣고 검색하면 바로 나타납니다.
: 개인적으로 2 -> 3 -> 1 의 순서로 찾아냅니다. 실패해본적이 없습니다 :-)
:
: 도움이 되었으면 합니다.
:
: ps. 다른 좋은 방법있으면 리플 부탁드립니다.
:
: --
: linux is not software it's a lifestyle