共享主机(CentOS-Red Hat)部署Meilisearch缺GLIBC_2.18问题咨询
无Root权限本地部署GLIBC 2.18运行Meilisearch方案
核心实现思路
- 仅将GLIBC 2.18编译安装到个人用户目录下,完全不触碰系统全局路径
- 启动Meilisearch时单独指定使用本地版本的GLIBC加载器和库文件,不对全局环境变量做任何修改,不影响其他程序运行
步骤1:创建本地存储目录并声明变量
# 自定义GLIBC安装路径,可根据需求修改 export CUSTOM_GLIBC_PATH=~/CustomDIR/glibc-2.18 mkdir -p $CUSTOM_GLIBC_PATH/build
步骤2:编译安装GLIBC 2.18到本地目录
# 自行上传glibc-2.18源码压缩包到服务器后执行解压 tar -zxvf glibc-2.18.tar.gz cd glibc-2.18/build # 配置安装路径为自定义目录,禁用对应校验避免编译报错 ../configure --prefix=$CUSTOM_GLIBC_PATH --disable-werror # 编译安装,-j后面跟CPU核心数,共享主机建议用2避免占用过多资源被系统终止 make -j2 make install
步骤3:编写Meilisearch专属启动脚本
在Meilisearch二进制文件所在目录创建start_meilisearch.sh脚本,内容如下:
#!/bin/bash # 替换为你实际的GLIBC安装路径和Meilisearch二进制路径 CUSTOM_GLIBC_PATH=~/CustomDIR/glibc-2.18 MEILISEARCH_PATH=./meilisearch # 指定本地GLIBC加载器和库路径启动程序,传入的参数会直接透传给Meilisearch $CUSTOM_GLIBC_PATH/lib/ld-linux-x86-64.so.2 --library-path $CUSTOM_GLIBC_PATH/lib $MEILISEARCH_PATH "$@"
给脚本添加执行权限:
chmod +x start_meilisearch.sh
步骤4:验证运行
直接执行启动脚本即可启动Meilisearch,不会再报GLIBC版本缺失错误:
./start_meilisearch.sh
注意事项
- 该方案仅对通过该启动脚本运行的Meilisearch进程生效,完全不会修改系统全局配置,也不影响其他服务和脚本的运行
- 如果启动时出现其他依赖缺失,可将对应依赖的库路径追加到
--library-path参数后面,多个路径用英文冒号分隔即可 - 共享主机编译时不要设置过高的
-j参数,避免触发主机资源限制被自动终止进程
内容的提问来源于stack exchange,提问作者Subham Manna
相关产品推荐
相关产品推荐

