Linux環境変数は完全ではなくパスを使用します。

Linux環境変数は完全ではなくパスを使用します。

環境変数LD_PRELOADを私が作成した共有ライブラリファイルに設定しました。 LD_PRELOADが私が作成した共有ライブラリファイルを指すようにするには、次のようにフルパスを指定する必要があります。

export LD_PRELOAD=full/path/to/file.so

ただし、LD_PRELOADを共有ライブラリに割り当てると、フルパス/usr/lib/を提供する必要がなく、root権限がないため、共有ライブラリファイルを配置できません。/usr/lib/この場合、環境をどのように設定しますか?以下のように、完全ではないパスを使用する変数LD_PRELOAD:

 export LD_PRELOAD=file.so 

答え1

変数にリストされている名前は、実行可能ファイル自体に記載されているライブラリ名と同じようLD_PRELOADに参照されます。$LD_LIBRARY_PATHしたがって、プリロードするには、/full/path/to/file.so次のものを使用できます。

export LD_LIBRARY_PATH=/full/path/to
export LD_PRELOAD=file.so

関連情報