Debian/Ubuntu/CentOS下完美编译安装qBittorrent

最新更新:

  • 2018/05/07 添加 CentOS7 以及 qBittorrent4.X.X 版本的支持
  • 2018/04/15 添加设置 qBittorrent 开机自启动

直接进入正题吧!需要以root用户登录!

支持系统:Debian9 及更新丶Ubuntu16 及更新以及CentOS7.X 系列

支持编译版本:qBittorrent3.X.XqBittorrent4.X.X

其中旧版本的系统如ubuntu14.04建议使用3.3.11 版本,新系统可以使用任意版本的qBittorrent

注意:

Ubuntu14的系统如果想使用4.X 版本的qBittorrent请升级到Ubuntu16后再安装,具体如下!

首先执行更新命令

apt-get update && apt-get dist-upgrade

重启

reboot

进行升级

do-release-upgrade

升级过程中碰到需要输入的都输入 y 然后回车,有 yes 的都选 yes 回车,其它选项都默认回车就行了,最后会需要按下 x 重启窗口,然后开始执行安装就行了!

最后执行以下命令查看系统是否已经更改为Ubuntu16

lsb_release -a

如果成功会有如下提示

[email protected]:~# lsb_release -a
No LSB modules are available.
Distributor ID:    Ubuntu
Description:    Ubuntu 16.04.4 LTS
Release:    16.04
Codename:    xenial

1.安装依赖环境

1.1.安装依赖包

apt-get update
apt-get install libboost-dev libboost-system-dev build-essential
apt-get install libboost-chrono-dev libboost-random-dev libssl-dev libgeoip-dev
apt-get install git pkg-config automake libtool nano

1.2.安装 Qt5 库

apt-get install qtbase5-dev qttools5-dev-tools

1.3.安装 python 和 GeoIP 数据库

apt-get install python
apt-get install geoip-database

CentOS 请执行以下命令

yum update
yum -y groupinstall "Development Tools"
yum -y install wget git nano qt-devel boost-devel openssl-devel qt5-qtbase-devel qt5-linguist GeoIP-update

2.安装 Libtorrent

2.1.下载 Libtorrent 包

git clone https://github.com/arvidn/libtorrent.git
cd libtorrent

2.2.编译 Libtorrent

编译 1.0.X 的 libtorrent,1.0.X 最高支持到 4.1.3 版本的 qb

git checkout RC_1_0
./autotool.sh
./configure --disable-debug --enable-encryption --with-libgeoip=system CXXFLAGS=-std=c++11    #Debian/Ubuntu 执行这条命令
./configure --prefix=/usr --disable-debug --enable-encryption CXXFLAGS=-std=c++11    #CentOS 执行这条命令
make && make install
ldconfig

如果需要使用 4.1.4 以及更高版本的 qbittorrent,请在编译时改变第一条命令如下

git checkout RC_1_1

这样编译的就是 1.1.X 的 libtorrent

CentOS 请额外执行以下命令

在 Centos 下,编译 1.0.X 额外执行以下命令

ln -s /usr/lib/pkgconfig/libtorrent-rasterbar.pc /usr/lib64/pkgconfig/libtorrent-rasterbar.pc
ln -s /usr/lib/libtorrent-rasterbar.so.8 /usr/lib64/libtorrent-rasterbar.so.8

在 Centos 下,编译 1.1.X 额外执行以下命令

ln -s /usr/lib/pkgconfig/libtorrent-rasterbar.pc /usr/lib64/pkgconfig/libtorrent-rasterbar.pc
ln -s /usr/lib/libtorrent-rasterbar.so.9 /usr/lib64/libtorrent-rasterbar.so.9

3.安装 qBittorrent

3.1.下载 QB 安装包

QB 各版本下载:https://github.com/qbittorrent/qBittorrent/releases

如编译安装最新版4.1.1 版本的 qBittorrent

wget https://github.com/qbittorrent/qBittorrent/archive/release-4.1.1.tar.gz
tar -xzvf release-4.1.1.tar.gz
cd qBittorrent-release-4.1.1

如编译安装3.3.11 版本的 qBittorrent

wget https://github.com/qbittorrent/qBittorrent/archive/release-3.3.11.tar.gz
tar -xzvf release-3.3.11.tar.gz
cd qBittorrent-release-3.3.11

如需编译其它版本类似,只需修改链接上对应的版本号就可以了!

3.2.编译 qBittorrent

./configure --prefix=/usr --disable-gui    #Debian/Ubuntu 执行这条命令
./configure --prefix=/usr --disable-gui CPPFLAGS=-I/usr/include/qt5 --with-libgeoip=system CXXFLAGS=-std=c++11    #CentOS 执行这条命令
make && make install

4.关闭防火墙

需要使用防火墙自行百度设置即可,我一般都关闭,影响不大,设置个强密码,换个 SSH 端口就行了。

4.1.Debian/Ubuntu 关闭防火墙

apt-get remove ufw
iptables -P INPUT ACCEPT
iptables -P OUTPUT ACCEPT
iptables -F

4.2.CentOS 关闭防火墙

systemctl stop firewalld.service
systemctl disable firewalld.service
yum install iptables iptables-services
iptables -P INPUT ACCEPT
iptables -P OUTPUT ACCEPT
iptables -F

5.运行 qBittorrent

5.1.初始化 QB(设置中文)

执行以下命令运行 QB

qbittorrent-nox

运行后会提示输入,输入 y,然后回车即可,

这时打开第 4.4 中的地址,进入后打开设置,在 WEBUI 里将语言改成中文,然后在 shell 里按 Ctrl+C 结束 QB 程序,
再次输入命令运行 QB,这是刷新网页就是中文了,意思就是设置完语言需要重启下客户端才能使语言修改生效,其它自行设置,都很简单的啦~。

5.2.后台运行 QB

因为直接运行 QB,退出 shell 窗口的话就会关闭,所以我们可以用nohup的方式运行 QB

nohup qbittorrent-nox &

这样 QB 就已经稳定在后台运行了,即使你关闭 shell 也不会结束的。

5.3.设置开机启动

5.3.1.Debian8/CentOS 下

编辑/etc/rc.local 文件,在 exit 0 前面加上 QB 启动命令

nohup qbittorrent-nox &

保存退出,然后给 rc.local 文件添加权限

chmod +x /etc/rc.local

这样就配置完成了,这是 Debian8 下开启 QB 自启动的方法!

5.3.2.Debian9

Debian9 有点不同。默认情况下 rc-local 服务是关闭的,我们需要打开它。

创建新的 rc.local 文件(Debian9 默认是关闭的)

cat >> /etc/rc.local << "EOF"
#!/bin/sh -e
nohup qbittorrent-nox &
exit 0
EOF

给 rc.local 文件运行权限并打开 rc-local 服务

chmod +x /etc/rc.local 
systemctl start rc-local

以上就是 Debian9 下配置 QB 开机启动的方法,有问题欢迎留言!

5.4.访问 Web-UI

默认地址: http://IP 地址:8080
默认用户名: admin
默认密码: adminadmin

6.png

6.常见问题

6.1.缺少 zlib

当在 Debian 系统下编译 qBittorrent 时,出现如下错误

configure: error: Package requirements (zlib >= 1.2.5.2) were not met:

No package ‘zlib’ found

这是由于缺少zlib,直接运行以下命令即可解决问题

apt-get install zlib1g-dev

6.2.提示 boostlib 相关错误

如下图所示

7.png

如果是Debian的低版本系统,可以依次执行以下命令解决问题

apt-get remove libboost-dev libboost-system-dev libboost-chrono-dev libboost-random-dev
echo "deb http://deb.debian.org/debian stretch main" >> /etc/apt/sources.list
apt-get update
apt-get install libboost-dev libboost-system-dev libboost-chrono-dev libboost-random-dev
sed -i '$d' /etc/apt/sources.list
apt-get update

注意:其中的/etc/apt/sources.list 是存放你的 apt 源的文件,如果你的系统不是这个文件,请自行更改!

如果是 Ubuntu14.04 及以下的系统请升级到 Ubuntu16 再安装!!参考文章开篇的注意!

6.3.提示 Qt5 qmake 版本低

当在低版本系统上编辑 qBittorrent4.X.X 时,由于 apt 安装的 QT5 版本低,就会报此错误!

checking for Qt5 qmake >= 5.5.1… not found

configure: error: Could not find qmake

如果是Debian的低版本系统,可以依次执行以下命令解决问题

apt-get remove qtbase5-dev qttools5-dev-tools
echo "deb http://deb.debian.org/debian stretch main" >> /etc/apt/sources.list
apt-get update
apt-get install qtbase5-dev qttools5-dev-tools
sed -i '$d' /etc/apt/sources.list
apt-get update

注意:其中的/etc/apt/sources.list 是存放你的 apt 源的文件,如果你的系统不是这个文件,请自行更改!

6.4.修改 WebUI 端口

这个很简单 ,执行以下命令

nano .config/qBittorrent/qBittorrent.conf

修改其中的WebUI\Port 这个参数后面的数字,然后保存退出,重启 qBttorrent 程序即可。

6.5.忘记 WebUI 密码

参考文章:几种常见 PT 客户端忘记密码的解决方法

参考页面:

https://github.com/qbittorrent/qBittorrent/wiki/Compiling-qBittorrent-on-Debian-and-Ubuntu
https://github.com/qbittorrent/qBittorrent/wiki/Compiling-qbittorrent-nox-for-CentOS-from-source

Last modification:July 17th, 2019 at 05:02 pm
如果觉得我的文章对你有用,请随意赞赏

Leave a Comment