*ldconfig [#t6bc5d48]
共有(シェアード)ライブラリをLinuxに認識させるコマンド。
“/etc/ld.so.conf”に記述したPATHに対してリンクを張っていく
~
*ソースからビルド・インストールした時 [#b0690a9d]
OpenSSL等をソースからビルドした時には、自ら“ld.so.conf”にPATHを記述する必要がある。
しかし、システムの開発要件によっては全部のライブラリをソースからという無茶振りの時に一々追記していくのは骨が折れる作業。
なので、以下のスクリプトを作成して一括登録出来るようにする。
 # mkdir /root/script
 # cd /root/script
 # vi ldconfig_path.sh

-ソースコードを"/usr/local/src/source"の中で一括管理している場合
 #!/bin/sh
 
 PATH=/bin:/sbin
 
 find /usr/local -type d -name "lib" | grep -v "source" | grep -E -v 'local\/lib$' > /etc/ld.so.conf.d/user_make.conf
 ldconfig

-バイナリが"./configure --prefix=/usr/local/hoge-0.0.0.0"で、"ln -s /usr/local/hoge-0.0.0.0 /usr/local/hoge"とかで管理している場合
 #!/bin/sh
 
 PATH=/bin:/sbin
 LDCONFIG_FILE=/etc/ld.so.conf.d/user-make.conf
 
 rm ${LDCONFIG_FILE} > /dev/null 2>&1 
 
 for DIRECTORY in `find /usr/local -maxdepth 1 -type l`
 do
     LIB_DIR=`ls ${DIRECTORY} | egrep -i "(lib|lib64)"`
     if ! [ "${LIB_DIR}" = "" ];
     then
         echo ${DIRECTORY}/${LIB_DIR} >> ${LDCONFIG_FILE}
     fi
 done
 ldconfig

 # chmod 750 ldconfig_path.sh
 # chown root.root ldconfig_path.sh
 # ./ldconfig_path.sh