1. ホーム
  2. linux

[解決済み] コンパイル済みのバイナリで 'rpath' を変更することはできますか?

2022-05-15 06:06:57

質問

古い実行ファイルがあり、スクラップヒープになる予定ですが、まだなっていません。それは私の環境から削除されたいくつかのライブラリに依存していますが、私はそれがうまく動作するいくつかのスタブライブラリをどこかに持っています。この実行ファイルをこれらのスタブライブラリに指定したいのですが。はい、LD_LIBRARY_PATHを設定することができますが、この実行可能ファイルは多くのスクリプトと多くのユーザーから呼び出されるので、1つの場所でそれを修正したいのです。

私はこれのソースを持っていませんし、それを入手するのは難しいでしょう。ELF を認識するエディターを使用してこのファイルを編集し、rpath に単純な PATH を追加して、新しいライブラリをヒットさせることは可能でしょうか。これは可能ですか、それとも一旦 ELF バイナリを作成すると、物事を場所に固定し、移動することはできませんか?

どのように解決するのですか?

というツールがあります。 chrpath というツールがあり、おそらくディストリビューションのパッケージで利用可能です。