私が読んでいるランタイム共有ライブラリパッケージに関するDebianポリシーセクションそして次の文を見つけました。
ダイナミックリンカーのデフォルトライブラリディレクトリ(現在
/usr/lib
および)の1つまたは/lib
[5]に記載されているディレクトリに共有ライブラリをインストールするすべてのパッケージを使用して、共有ライブラリシステムを更新する必要があります。/etc/ld.so.conf
ldconfig
activate-noawait ldconfig
そのようなパッケージには、DEBIAN/triggers
トリガー制御ファイルにこの行を含める必要があります(例:
このようなトリガーを追加するのを忘れた場合はどうなりますか?現在トリガーなしで開発パッケージがインストールされており、ライブラリに接続されているバイナリが正しく機能しています。
この要件はなぜ重要なのですか?
答え1
ld.so
キャッシュはライブラリの確認とldconfig
キャッシュの更新に使用されるため、この要件は重要です。以下を実行してコンテンツを表示できます。
/sbin/ldconfig -p
トリガーをスキップしてldconfig
それらのいずれかを実行しないとpostinst
(ライブラリパッケージが実行した方法)、キャッシュは更新されません。
-dev
パッケージはランタイムライブラリをインストールしないため、これはパッケージとは関係ありません。通常、トリガーを含むライブラリパッケージに依存します。
これは通常、パッケージの開発時にビルドツールによって透過的に処理されます。たとえば、debhelper
それらのいずれかを使用または依存する場合、通常はビルドが実行され、必要に応じてdh_makeshlibs
トリガーが追加されます。