web-dev-qa-db-ja.com

ld.so.confと共有ライブラリの適切な管理

他のLinux管理者が/etc/ld.so.confを管理する方法、および一般に、複数のLinuxサーバー間で共有ライブラリを管理する方法について知りたいです。

SLES 11を実行しているLinuxサーバーは約30〜40台あります。これらはActive Directoryに関連付けられているため、ユーザーは同じ資格情報を使用して任意のサーバーにログインできます。元々、各サーバーには独自のローカルld.so.confがありました。ただし、特定のソフトウェア(たとえば、php)がサーバーXで実行されるが、システム管理者がサーバーYでld.so.confを再配置したため、サーバーYでクラッシュするという問題が発生しました。負荷分散のために任意の数のサーバーを簡単に使用できます。もちろん、特定の目的を持つ特定のサーバーがあります。

変更が加えられるたびにすべてのサーバーでldconfigを実行するスクリプトを使用して、共有ld.so.confにシンボリックリンクすることを考えました。すべてのサーバーで一貫性が得られると思いましたが、異なるlibバージョンを必要とする可能性のある異なるソフトウェアを実行するため、一部のサーバーでカスタムld.so.confが必要になることがわかりました。

私はLinux管理者として3年未満しか経っていないので、これは一部の人にとっては簡単な答えかもしれません。このトピックに関するアドバイスを探しているだけです。頭に浮かんだ質問:

  • ローカルまたはシンボリックリンク/etc/ld.so.conf
  • 複数のバージョンが異なるlibディレクトリに存在する場合、共有ライブラリの古いバージョンをクリーンアップしますか?
3
Banjer

通常、ユーザーまたはアプリ関連の構成は次のようになります。

/etc/ld.so.conf.d

/etc/ld.so.confから含まれています。これはすべてのサーバーで同一である可能性があり、触れないでください

このように、ディレクトリ/etc/ld.so.conf.d/をすべてのサーバーで一貫させるだけで、管理が容易になります。

おそらく、これを行う簡単なrsyncスクリプトを思い付くことができます。

3
Karlson