LD_PRELOAD など,アプリケーションの実行に先立ち共有ライブラリを preload する機構のついた Linux, *BSD, Solaris などの OS では, システムコールフックライブラリを preload するだけで, 既存のバイナリプログラムから Gfarm ファイルシステムへのアクセスが可能となります. AIX など preload 機構のついていない OS の場合は, アプリケーションをシステムコールフックライブラリと再リンクすることにより, アクセスが可能となります.
ただし Linux など glibc を利用しているシステムでは, 必要なシステムコールをフックできないため, glibc-not-hidden パッケージをインストールする必要があります. (*BSD では glibc-not-hidden パッケージは必要ありません.)
また,FreeBSD 4.X および NetBSD 1.X までのリリースでは, /bin にあるコマンドがスタティックリンクされているため LD_PRELOAD が効きません.そのため, それらのコマンドをダイナミックリンクにより作成しなおす必要があります. 作成方法は 既存アプリケーションからのアクセスについて に記述されています.また,作成済のものは以下にあります.
|
Updated on June 14, 2006 (Added commands in /usr/bin)
FreeBSD-4.11/i386 dynbin.tar.gz (The old package is here) NetBSD-1.6.2/i386 dynbin.tar.gz (The old package is here) |
利用に関する詳細は, 既存アプリケーションからのアクセスについて をご参照ください.
apt-get install libc6-not-hidden // for libc6 apt-get install libc6-not-hidden-i686 // for libc6-i686