- 追加された行はこの色です。
- 削除された行はこの色です。
#author("2020-03-19T22:40:59+09:00","default:nowsky","nowsky")
*ldconfig [#ze34f7b7]
共有(シェアード)ライブラリをLinuxに認識させるコマンド。
“/etc/ld.so.conf”に記述したPATHに対してリンクを張っていく
~
*ソースからビルド・インストールした時 [#sd3d03b6]
OpenSSL等をソースからビルドした時には、自ら“ld.so.conf”にPATHを記述する必要がある。
しかし、システムの開発要件によっては全部のライブラリをソースからという無茶振りの時に一々追記していくのは骨が折れる作業。
なので、以下のスクリプトを作成して一括登録出来るようにする。
# mkdir /root/script
# cd /root/script
# vi ldconfig_path.sh
#author("2020-03-19T22:41:11+09:00","default:nowsky","nowsky")
-ソースコードを"/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:/usr/bin
LDCONFIG_FILE=/etc/ld.so.conf.d/user-lib.conf
rm ${LDCONFIG_FILE} > /dev/null 2>&1
for DIRECTORY in `find /usr/local -maxdepth 1 -type l`
do
for LIB_DIR in `ls ${DIRECTORY} | egrep -i "lib" | tr '\n' ' '`
do
if ! [ "${LIB_DIR}" = "" ];
then
echo ${DIRECTORY}/${LIB_DIR} >> ${LDCONFIG_FILE}
fi
done
done
ldconfig
# chmod 750 ldconfig_path.sh
# chown root.root ldconfig_path.sh
# ./ldconfig_path.sh