2012-07-10 4 views

답변

0

이 프로그램은 골대를 벗어났습니다 : 하지만, 내가 Nagios를 통해 그것을 할 때 (설정 파일의 호스트 & 서비스 항목을 만들기), I는 특정 호스트에서 서비스의 "상태 정보"에서이 오류가 표시 도서관. 당신은 누락 된 라이브러리 근처 not found을 볼 수

$ ldd /usr/local/bin/snmpget 

: 당신은 프로그램이 ldd를 사용하여 필요가 도서관의 목록을 찾을 수 있습니다. libnetsnmp.so.XX가있는 경우,

$ LD_LIBRARY_PATH=/usr/local/path-to/lib ldd /usr/local/bin/snmpget 
+0

LDD/usr/지방/빈/지원 snmpget \t 리눅스 vdso.so.1 => (0x00007fffc33ff000) \t libnetsnmp.so.20 => /usr/local/lib/libnetsnmp.so.20 (0x00007fefca658000) \t libm.so .6 => /lib64/libm.so.6 (0x00007fefca402000) \t libc.so.6 =>/lib64/libc.so.6 (0x00007fefca0a4000) \t /lib64/ld-linux-x86-64.so.2 (0x00007fefca929000) – Enigma

+0

누락 된 lib가 없습니다! – Enigma

+0

이미 모든 라이브러리가있는/usr/local/lib에 LD_LIBRARY_PATH를 설정했습니다. 아직 작동하지 않습니다! – Enigma

5

아래의 절차는 도움이된다 :

는 특별한 위치 (등등하지 /usr/lib 등)입니다 snmget 요구하고 위치 라이브러리, 당신은 LD_LIBRARY_PATH에 추가 할 때 귀하의 시스템.

는 라이브러리

먼저 검색

sudo find/-name libnetsnmp.so* 

그래서 당신이

/usr/lib/libnetsnmp.so.30 
/usr/lib/libnetsnmp.so.15 
/usr/lib/libnetsnmp.so.15.1.2 
/usr/local/lib/libnetsnmp.so.30 
/usr/local/lib/libnetsnmp.so 
/usr/local/lib/libnetsnmp.so.30.0.2 
/usr/local/lib/libnetsnmp.so.20 
... 

지금 아래 링크와 같은 출력을 얻을 것이다 libnetsnmp.so.XX 그 libnetsnmp.so.XX

sudo ln -s /usr/local/lib/libnetsnmp.so.XX /usr/lib/libnetsnmp.so.XX 
0

/usr/lib/로 한 경우에도 라이브러리 경로를 환경 변수 LD_LIBRARY_PATH, 프로그램에 추가하십시오 원하는 라이브러리가 아직 내보내지지 않았기 때문에 원하는 라이브러리의 위치를 ​​파악할 수 없습니다. 당신이지도를 그려 무언가를 추적하고,지도를 가방에 넣는 것을 잊어 버릴 때 그것을 생각할 수 있습니다. 그래서 당신이 검색을 시작할 때, 당신은 그 빌어 먹을 물건이 어디에 있는지를 모릅니다. 단서는 그들 (위치)을 내보내는 것입니다. 어떻게? 단순히 같은 환경 변수의 변경 전에 키워드 수출을 사용하여 : 수출 LD_LIBRARY_PATH =/사용자/라이브러리/위치/: $ LD_LIBRARY_PATH를

하고 그것을이다 ;-)

건배