이것은 내가 사용했을 때 발견 한 특이점을 다루고 있기 때문에 이것은 중복되지 않습니다 /etc/ld.so.conf
.
동적 링커가 라이브러리를 검색하는 경로를 얻으려면 명령을 실행하십시오 ldconfig -v | grep -v "^"$'\t' | sed "s/:$//g"
. 때 /etc/ld.so.conf
그 안에 나열된 경로가 없습니다. 이전 명령의 출력은
/lib
/usr/lib
나는 검색 것을 생각 /lib
먼저하고 /usr/lib
. I와 같은 새로운 경로를 추가하는 경우 /usr/local/lib
에, /etc/ld.so.conf
개작 다음과 /etc/ld.so.cache
출력은가 ldconfig -v | grep -v "^"$'\t' | sed "s/:$//g"
된다
/usr/local/lib
/lib
/usr/lib
내가 열거 된 디렉토리가 검색됩니다 순서가 위에서 아래로입니다 올바른 생각하면, 추가적인 디렉토리가 먼저 검색하기 때문에 나는이 이상한 발견 /lib
하고 /usr/lib
. 추가 디렉토리가 신뢰할 수있는 디렉토리를 먼저 검색되는 자신의 이상한 아니지만, 때 /lib
이전에 검색되어 /usr/lib
있기 때문에 이상하다, /bin
및 /sbin
후 검색됩니다 /usr/bin
및 /usr/sbin
에서 PATH
.
에 의해 나열된 경로를하더라도 ldconfig -v | grep -Ev "^"$'\t' | sed "s/:$//g"
아래에서 위로를 검색하는 동안 추가 디렉토리가 신뢰할 수있는 사람 한 후 검색 할 것이기 때문에, 그것은 여전히 왜곡 된 순서가 될 것입니다 /lib
후 검색 할 것입니다 /usr/lib
.
그렇다면 ld.so
라이브러리의 경로를 검색 하는 순서는 무엇 입니까? 왜 /lib
이전 에 검색 /usr/lib
합니까? 그렇지 않은 경우 왜 추가 디렉토리가 검색 /lib
됩니까?