本文将分为两部分,基于CentOS 7,分别介绍通过预编译软件包安装(通过yum命令)以及通过源码自行编译安装两种方法。
通过预编译软件包安装(通过yum命令)的方法安装非常便捷,不需要解决繁琐的依赖问题而且所需时间也非常短,但是EPEL源中只有3.3版本(目前qBittorrent已经更新到4.3)
通过源码自行编译安装的方法可以安装到最新版的4.3版本,但是花费的时间较长(30分钟左右),而且需要解决繁琐的依赖关系。
以下步骤已经在CentOS 7.7 64-bit的环境中得到验证,且理论上通用于所有版本的CentOS 7系统
请在开始之前更新所有已经安装的软件以及系统内核,更新完之后重启一次
sudo yum -y update
shutdown -r now
通过预编译软件包安装(通过yum命令)
通过以下命令直接执行安装qbittorrent-nox。
sudo yum install -y qbittorrent-nox
通过以下命令启动qBittorrent
qbittorrent-nox
启动完成之后可以查看基本配置来进行接下来的操作
通过源码自行编译安装
通过源码编译安装请尽量确保SSH连接不会中断,首先安装常规的工具以及环境
sudo yum groupinstall "Development Tools"
sudo yum install centos-release-scl
sudo yum install devtoolset-8-gcc devtoolset-8-gcc-c++
sudo yum install qt-devel openssl-devel qt5-qtbase-devel qt5-linguist
下载Boost
wget https://dl.bintray.com/boostorg/release/1.72.0/source/boost_1_72_0.tar.gz
请确保Qt库处于5.9.7或以上,执行以下命令进行查询
rpm -qa | grep qt5-qtbase
返回的结果应该如下(不需要注意显示的顺序)
qt5-qtbase-common-5.9.7-2.el7.noarch
qt5-qtbase-gui-5.9.7-2.el7.x86_64
qt5-qtbase-5.9.7-2.el7.x86_64
qt5-qtbase-devel-5.9.7-2.el7.x86_64
完成以上内容后接下来正式开始编译安装,首先是安装Boost,执行以下命令更改开发工具包
scl enable devtoolset-8 bash
然后逐条输入以下命令,安装时间较长请耐心等待
mkdir /opt/boost
export DIR_BOOST="/opt/boost"
tar -xvf boost_1_72_0.tar.gz
cd boost_1_72_0
./bootstrap.sh --prefix=${DIR_BOOST}
./b2 install --prefix=${DIR_BOOST} --with=all
执行完之后Boost安装完毕,接下来进入到Libtorrent安装,因为qBittorrent是依赖于Libtorrent,所以这一步也是必不可少的。
scl enable devtoolset-8 bash
通过git方式从仓库搬回Libtorrent代码
git clone --depth 1 -b RC_1_2 https://github.com/arvidn/libtorrent.git
然后逐条输入以下命令,安装时间较长请耐心等待
cd libtorrent
./autotool.sh
./configure --disable-debug --enable-encryption --prefix=/usr --with-boost=${DIR_BOOST} CXXFLAGS=--std=c++14
make
make install
ln -s /usr/lib/pkgconfig/libtorrent-rasterbar.pc /usr/lib64/pkgconfig/libtorrent-rasterbar.pc
至此,Libtorrent安装完毕,接下来正式安装qBittorrent
首先从官方仓库搬代码
git clone --depth 1 -b v4_3_x https://github.com/qbittorrent/qBittorrent
然后更改开发工具包
scl enable devtoolset-8 bash
接下来逐行执行以下命令进行编译
cd qBittorrent
./configure --prefix=/usr --disable-gui CPPFLAGS=-I/usr/include/qt5 --with-boost=${DIR_BOOST} CXXFLAGS=--std=c++14
make
make install
编译完成之后如果没有见到报错字样证明编译成功,可以直接启动,直接运行以下命令
qbittorrent-nox
通过编译安装的qbittorrent-nox启动时可能会遇到报错,请查看本文末的常见问题
安装完之后请到基本配置查看接下来的操作
基本配置
首次启动需要同意使用协议才能继续使用,输入字母“y”然后回车同意协议。同意协议之后会显示出qBittorrent webui的登陆地址以及初始账号密码,请记得在防火墙处对端口进行放行。
在自己电脑端浏览器访问以下地址,注意把localhost改为服务器的IP地址,并且通过默认账号密码进行登录
http://你的IP地址:8080/
登录之后修改语言为中文以及更改默认的账号密码
改完语言之后往下拉就能看到如下所示更改登陆用户名和密码的区域
更改完之后记得拉到页面的最下端保存,保存完之后不会立刻生效,保存后退回到命令行使用Ctrl+C终结进程。
接下来需要将qBittorrent添加到系统服务以实现开机自动启动
sudo vi /usr/lib/systemd/system/qbittorrent.service
将下面配置复制粘贴到刚刚vi方式打开的文本中,注意修改为自己的用户名,不担心安全性可以直接改为root
[Unit]
Description=qbittorrent torrent server
[Service]
User=username
ExecStart=/usr/bin/qbittorrent-nox
Restart=on-abort
[Install]
WantedBy=multi-user.target
重新加载单元
systemctl daemon-reload
然后设置成开机自启动
sudo systemctl enable qbittorrent
到这一步就已经全部完成,可以通过以下的命令进行开启和关闭等操作
sudo systemctl start qbittorrent #开启qb
sudo systemctl stop qbittorrent #关闭qb
sudo systemctl restart qbittorrent #重启qb
常见问题
通过编译安装时经常会遇到如下报错
qbittorrent-nox: error while loading shared libraries: libtorrent-rasterbar.so.10: cannot open shared object file: No such file or directory
通常是因为库的位置没摆对,可以通过设置软链接的方式解决
ln -s /usr/lib/libtorrent-rasterbar.so.10 /usr/lib64/libtorrent-rasterbar.so.10
有时候也会显示这种错误
qbittorrent-nox: error while loading shared libraries: libboost_system.so.1.72.0: cannot open shared object file: No such file or directory
这时候只需要找到libboost相关文件设置软链接即可
ln -s /opt/boost/lib/libboost_system.so.1.72.0 /usr/lib64/libboost_system.so.1.72.0
本文转载与:CentOS 7安装qBittorrent实现私人离线BT下载 - 辛烷云评测 (octgoodvps.com)