Ubuntu 8系统下无法安装OpenSSL 1.1的问题求助
解决Ubuntu手动安装OpenSSL后出现‘command not found’的问题
嘿,刚接触Ubuntu就尝试手动编译软件确实容易踩坑,我来帮你一步步搞定这个问题!
首先,先确认你是不是完成了完整的编译安装流程?你提到执行了sudo ./config -Wl,--enable-ne...,但后面的关键步骤可能没做完。手动编译OpenSSL的完整流程应该是这三步:
- 配置(补全你没写完的命令,这个参数是为了让系统能找到OpenSSL的库文件):
sudo ./config -Wl,--enable-new-dtags,-rpath,/usr/local/lib - 编译:
sudo make - 安装(这一步最关键,没执行的话OpenSSL根本没装到系统里):
sudo make install
如果已经完成了上面三步还是提示“command not found”,那大概率是系统找不到新安装的OpenSSL路径——默认情况下,Ubuntu会优先从/usr/bin找命令,但你手动编译的OpenSSL会被安装到/usr/local/bin,这个路径可能没在你的环境变量PATH里。
下面给你三种解决方案,按从简单到彻底的顺序来:
方案1:临时用完整路径执行
直接输入完整的命令路径来验证安装是否成功:
/usr/local/bin/openssl version
如果输出显示OpenSSL 1.1.0f ...,说明安装没问题,只是路径没配置。
方案2:把新路径加入环境变量(永久生效)
让系统每次启动都优先找/usr/local/bin里的命令:
- 打开bash的配置文件:
nano ~/.bashrc - 拉到文件最末尾,添加一行:
export PATH=/usr/local/bin:$PATH - 保存退出:按
Ctrl+O,回车确认保存,再按Ctrl+X退出编辑器。 - 让配置立刻生效:
source ~/.bashrc - 现在再输入
openssl version,应该就能看到1.1.0f的版本信息了。
方案3:替换系统默认的OpenSSL(彻底解决)
如果想让整个系统都默认用你安装的新版本,还需要处理软链接和库文件:
- 先备份系统原来的OpenSSL(防止出问题可以恢复):
sudo mv /usr/bin/openssl /usr/bin/openssl.old - 创建软链接,把新安装的OpenSSL指向系统默认命令路径:
sudo ln -s /usr/local/bin/openssl /usr/bin/openssl - 让系统能找到OpenSSL的库文件(1.1.0f的库在
/usr/local/lib):- 编辑库配置文件:
sudo nano /etc/ld.so.conf - 添加一行:
/usr/local/lib - 保存退出后,更新系统库缓存:
sudo ldconfig
- 编辑库配置文件:
- 最后验证:
openssl version,确认显示的是1.1.0f就搞定了!
另外提一句,作为Ubuntu新手,其实可以考虑用PPA源来安装新版OpenSSL,比手动编译简单很多,但既然你已经折腾到这一步,先把当前问题解决就好~
内容的提问来源于stack exchange,提问作者OTUser
相关产品推荐
相关产品推荐

