#!/bin/bash
PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin
[ $(id -u) -gt 0 ] && echo "please use root to execute the script!" && exit 1
path=$(cd $(dirname $0); pwd)
baktime=$(date +'%Y%m%d%H%M')
pcre_pkg=pcre2-10.39.tar.gz
zlib_pkg=zlib-1.3.1.tar.gz
openssl_pkg=openssl-3.0.13.tar.gz
pcre_dir=$(basename "$pcre_pkg" .tar.gz)
zlib_dir=$(basename "$zlib_pkg" .tar.gz)
openssl_dir=$(basename "$openssl_pkg" .tar.gz)
openssl_home=/usr/local/openssl
yum repolist
yum -y install gcc gcc-c++ make automake perl-ExtUtils-MakeMaker perl-IPC-Cmd
check_xxx_home(){
read -n3 -p "$xxx_home already exists,Do you want to delete and reinstall it? please set yes or no [Y/N][y/n]?" aaa
case $aaa in
Y|y|yes)
sudo rm -rf $xxx_home
echo "$xxx_home remove successful ";;
N|n|no)
echo "ok,bye bye~~"
exit 0;;
*)
echo "answer yes or no [Y/N][y/n] ,please.."
check_xxx_home;;
esac
}
install_pcre(){
sudo tar -zxf $path/$pcre_pkg -C $path/
cd $path/$pcre_dir
./configure --enable-utf8
sudo make
sudo make install
echo "$pcre_dir install successfully!!!"
}
install_zlib(){
sudo tar -zxf $path/$zlib_pkg -C $path/
cd $path/$zlib_dir
./configure
sudo make
sudo make install
echo "$zlib_dir install successfully!!!"
}
install_openssl(){
mv ${openssl_home} ${openssl_home}_$baktime
tar -zxf $path/$openssl_pkg -C $path/
cd $path/$openssl_dir
./config --prefix=$openssl_home --openssldir=$openssl_home shared zlib
make -j4
make install
\cp -a $openssl_home/lib64/libcrypto.so.3 $openssl_home/lib64/libssl.so.3 /usr/lib/
mv /usr/include/openssl /usr/include/openssl_$baktime
ln -sv $openssl_home/include/openssl /usr/include/openssl
mv /usr/bin/openssl /usr/bin/openssl_$baktime
ln -sf $openssl_home/bin/openssl /usr/bin/openssl
mv /etc/ld.so.conf.d/openssl.conf /etc/ld.so.conf.d/openssl.conf_$baktime
egrep "$openssl_home" /etc/ld.so.conf >& /dev/null
if [ $? -ne 0 ];then
echo "$openssl_home/lib64" >> /etc/ld.so.conf
fi
egrep "/usr/local/lib" /etc/ld.so.conf >& /dev/null
if [ $? -ne 0 ];then
echo "/usr/local/lib" >> /etc/ld.so.conf
fi
ldconfig -v
echo "export OPENSSL_PATH=$openssl_home/bin" >> /etc/profile
echo "export PATH=\$OPENSSL_PATH:\$PATH" >> /etc/profile
echo "export LD_LIBRARY_PATH=\$LD_LIBRARY_PATH:$openssl_home/lib64" >> /etc/profile
source /etc/profile
openssl version
echo "$openssl_dir install successfully!!!"
}
install_pcre
install_zlib
if [ ! -d $openssl_home ];then
echo "openssl_home does not exist,start to install........"
install_openssl
else
xxx_home=$openssl_home
check_xxx_home
install_openssl
fi
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?