런타임 라이브러리 패키지에 대한 activate-noawait ldconfig 트리거

런타임 라이브러리 패키지에 대한 activate-noawait ldconfig 트리거

내가 읽고있다런타임 공유 라이브러리 패키지에 관한 Debian 정책 섹션그리고 다음 문장을 발견했습니다.

동적 링커의 기본 라이브러리 디렉터리(현재 /usr/lib및 ) 중 하나 또는 /lib[5]에 나열된 디렉터리에 공유 라이브러리를 설치하는 모든 패키지를 사용하여 공유 라이브러리 시스템을 업데이트해야 합니다./etc/ld.so.confldconfig

activate-noawait ldconfig그러한 패키지는 DEBIAN/triggers트리거 제어 파일에 이 줄을 포함해야 합니다(예:

이런 트리거를 추가하는 것을 잊어버리면 어떻게 되는지 궁금합니다. 현재 트리거 없이 개발 패키지가 설치되어 있으며 라이브러리에 연결된 바이너리가 제대로 작동합니다.

이 요구 사항이 왜 중요한가요?

답변1

ld.so캐시는 라이브러리를 확인하고 ldconfig캐시를 업데이트하는 데 사용되므로 이 요구 사항이 중요합니다 . 다음을 실행하여 내용을 볼 수 있습니다.

/sbin/ldconfig -p

트리거를 건너뛰고 ldconfig그 중 어느 것에서도 실행 하지 않으면 postinst(라이브러리 패키지가 수행했던 방식) 캐시가 업데이트되지 않습니다.

-dev패키지 는 런타임 라이브러리를 설치하지 않으므로 이는 패키지와 관련이 없습니다 . 일반적으로 트리거가 있는 라이브러리 패키지에 의존합니다.

이는 일반적으로 패키지를 개발할 때 빌드 도구에 의해 투명하게 처리됩니다. 예를 들어, debhelper그 중 무엇이든 사용하거나 의존하는 경우 일반적으로 빌드가 실행되고 dh_makeshlibs필요한 경우 트리거가 추가됩니다.

관련 정보