最后由 Tabing010102 更新于 2021年2月22日
水一篇,虽然CentOS7上可以无障碍安装qBittorrent等其他bt客户端,但是连接性(个人认为)都不如uTorrent,但uTorrent并不官方支持CentOS/RHEL/Fedora,但还是有办法运行uTorrentServer的,本次就大概说下过程和坑。
首先我这边使用的是Ubuntu13.04 64bit的二进制文件,目前可以通过这个链接下载(若此链接失效,请自行到官方网站寻找对应的版本和架构),其他版本未做实验。
下载下来后解压直接运行会提示缺少libssl.so.1.0.0
和libcrypto.so.1.0.0
这两个动态链接库,直接嗯用CentOS7目前自带的OpenSSL 1.0.2k的库做软链接是8行的,它会提示1.0.0版本未找到(老版本可以但新版本不行)。所以我们需要真正的OpenSSL 1.0.0库。
我个人已经编译好了这两个库(编译环境CentOS 7.9,x86_64,Kernel 5.4.96,gcc 4.8.5,zlib 1.2.7,AMD EPYC 7282),链接在文章最后,所以想省事的读者可以尝试直接把这个编译好的库扔进utserver
这个可执行文件的所在目录,进入这个目录然后使用LD_LIBRARY_PATH=. ./utserver
启动(注意两个点之间有一个空格),他会报2个warning但并不影响运行(当然也可以放在已注册的链接库目录中或者自定义目录中,然后处理好加载链接库的设置即可)。如果需要自行编译(架构不同或其他原因)或者想自行编译的,请继续往下看。
首先下载OpenSSL 1.0.0源代码,使用这个链接或者自行在官网下载1.0.0版本,我这里下载的是1.0.0s,解压之后进入目录,使用./config shared
配置,使用make -j $(nproc)
编译,完成后在源码目录的libssl.so.1.0.0
和libcrypto.so.1.0.0
即是目标文件,之后按照上一段配置启动utserver
即可。
注意:除非清楚自己在干什么,否则不要运行make install
安装,否则可能出现OpenSSL二进制和库文件版本不对应,导致和libssl和libcrypto库相关的所有程序均不能正常工作(包括ssh,curl,wget,scp,git等等常见程序),可能会出现因服务器无法下载正确版本的文件导致失联,最终被迫重装的结果。没想到最后php救了我一命,如果出现这种情况,但还有php服务和一条连接的ssh在运行,可以尝试通过php下载正确文件并替换来抢救一下,代码如下:
<?php
file_put_contents("/path/to/saved_file", fopen("http://path.to/required_lib.so", "r"));
?>
第一个path指向php有权限访问的路径,第二个指向含有正确库文件的路径,最好不要用https的地址。当然读者也可以提前备份/usr/lib64/libssl.so.1.0.2k
和/usr/lib64/libcrypto.so.1.0.2k
(当前是1.0.2k)以备不时之需。
预编译库文件(注意文件权限):
Views: 69