ランタイムライブラリパッケージのactivate-noawait ldconfigトリガー

ランタイムライブラリパッケージのactivate-noawait ldconfigトリガー

私が読んでいるランタイム共有ライブラリパッケージに関するDebianポリシーセクションそして次の文を見つけました。

ダイナミックリンカーのデフォルトライブラリディレクトリ(現在/usr/libおよび)の1つまたは /lib[5]に記載されているディレクトリに共有ライブラリをインストールするすべてのパッケージを使用して、共有ライブラリシステムを更新する必要があります。/etc/ld.so.confldconfig

activate-noawait ldconfigそのようなパッケージには、DEBIAN/triggersトリガー制御ファイルにこの行を含める必要があります(例:

このようなトリガーを追加するのを忘れた場合はどうなりますか?現在トリガーなしで開発パッケージがインストールされており、ライブラリに接続されているバイナリが正しく機能しています。

この要件はなぜ重要なのですか?

答え1

ld.soキャッシュはライブラリの確認とldconfigキャッシュの更新に使用されるため、この要件は重要です。以下を実行してコンテンツを表示できます。

/sbin/ldconfig -p

トリガーをスキップしてldconfigそれらのいずれかを実行しないとpostinst(ライブラリパッケージが実行した方法)、キャッシュは更新されません。

-devパッケージはランタイムライブラリをインストールしないため、これはパッケージとは関係ありません。通常、トリガーを含むライブラリパッケージに依存します。

これは通常、パッケージの開発時にビルドツールによって透過的に処理されます。たとえば、debhelperそれらのいずれかを使用または依存する場合、通常はビルドが実行され、必要に応じてdh_makeshlibsトリガーが追加されます。

関連情報