|
|
我的机型B70 MTK7621A最近更新了一下hiboby版本的最新版固件,发现aria2启动不起来了!
使用MobaXterm登录SSH直接运行/usr/bin/aria.sh start ,依然启动不起来
就是各种报错,
/usr/bin/aria2c目录下报错/usr/bin/aria2c: can't load library 'libssl.so.1.1'
/opt/bin/aria2c目录的报错/opt/bin/aria2c: can't load library 'libssl.so.1.0.0'
使用/usr/bin/aria.sh脚本文件里的手动安装aria代码opkg update; opkg install aria2
依然启动不了aria,报错libssl.so.1.1 或者libssl.so.1.0.0,或者libssl.so.3,让人相当懵逼
百度查帖子, 论坛查帖子 都没找到明晰的解决方法! 最后找Gemini 给解决了!
解决Aria2 的 OpenSSL 依赖-----Gemini教程版
最终修复方案:手动安装 Entware 依赖库
我们现在需要手动强制安装 Entware 的 OpenSSL 3.x 依赖库,以满足 /opt/bin/aria2c 的需求。
步骤 1:安装 Aria2 的 OpenSSL 依赖
Entware 通常将 OpenSSL 依赖作为一个单独的软件包提供(例如 libopenssl 或 aria2-openssl)。
请执行以下命令,确保所有相关的 OpenSSL 库都已安装到 /opt/lib:
Bash
opkg update
# 尝试安装 OpenSSL 库,这通常会带来 libssl.so.3
opkg install libopenssl
# 检查是否有一个专门的 aria2-openssl 包(如果存在,请安装)
opkg install aria2-openssl
步骤 2:确认库文件存在
安装完成后,请验证 libssl.so.3 是否已添加到 /opt/lib:
Bash
ls -l /opt/lib/libssl.so.3*
如果输出显示文件存在(例如 libssl.so.3 -> libssl.so.3.0.x),则进入下一步。
步骤 3:测试 Entware 二进制文件 (验证 SegFault 来源)
现在,库文件应该齐全了。重新加载环境并测试 Entware 的二进制文件:
Bash
# 重新加载环境
. /opt/etc/profile
export LD_LIBRARY_PATH="/opt/lib LD_LIBRARY_PATH"
# 测试 /opt/bin/aria2c
/opt/bin/aria2c --version
如果成功显示版本(Success): 恭喜!/opt/bin/aria2c 是健康的。跳到步骤 4。
如果返回 Segmentation fault: 遗憾的是,Entware 版本的 /opt/bin/aria2c 与您的系统不兼容。您必须寻找第三方编译的二进制文件来替换它。
步骤 4:运行脚本(若 SegFault 消失)
如果 aria2c --version 成功,说明 SegFault 只是由于库文件缺失导致的程序启动初始化失败。现在库文件齐全了,脚本应该能运行了。
Bash
# 运行脚本
"/usr/bin/aria.sh" start
如果脚本仍然 SegFault,但在手动测试时程序是健康的,那说明 /usr/bin/aria.sh 脚本本身的逻辑或参数配置有问题。您可能需要:
手动运行脚本中用于启动 aria2c 的核心命令(带有所有参数)。
强制以 root 运行(将 /usr/bin/aria.sh 中的 SVC_ROOT=0 改为 SVC_ROOT=1),排除 nobody 用户权限问题。
成功修复aria,又可以开心的搭配花生壳 远程 脱机 下载片子了!
|
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有账号?立即注册
×
|