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

PT教程 半醉丶 2年前 (2017-09-24) 13992次浏览 16个评论
目录
[隐藏]

最新更新

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

编译遇到问题的请看常见问题!也可以在评论区给我留言!或者加入PtBoxClub交流 Q 群讨论!

注意:

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

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

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

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

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 相关错误

如下图所示

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

如果是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


如无注明,所有文章皆为“半醉”原创,转载请保留文章出处。如有借鉴未注明请发邮件到 [email protected],深表抱歉!
喜欢 (16)
发表我的评论
取消评论
表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址
(16)个小伙伴在吐槽
  1. 签到成功!签到时间:2017-09-24 13:02:55,每日打卡,生活更精彩哦~
    niya2017-09-24 13:03 回复 Windows 7 | Chrome 59.0.3071.115
  2. 求qb的具体设置指导 谢谢大佬
    青衫2017-12-14 10:35 回复 Windows 10 | Chrome 56.0.2924.87
  3. lz我可以把这篇文章转到pt吧吗,会在二楼单独注明出处的
    yy60021100432018-03-15 01:03 回复 Windows 7 | Chrome 55.0.2883.87
    • 可以的 没问题 遇到错误可以过来留言!
      半醉丶2018-03-21 10:24 回复 Windows 7 | Chrome 65.0.3325.162
  4. 一直在用这个脚本来安装qb,感谢博主无私分享! 有个疑问请教下博主,请问怎么设置开机自动启动qb呢? 再次感谢~~~
    qbtuser2018-04-05 18:33 回复 Windows 7 | Firefox浏览器 59.0
    • 半醉丶
      已经在文章里更新了开机自启动的方法!
      半醉丶2018-04-15 19:30 回复 Windows 10 | Chrome 65.0.3325.146
  5. Ubuntu的开机自启设置是和Debian8/CentOS一样的吗
    yuuta2018-06-27 14:53 回复 Windows 10 | Chrome 67.0.3396.99
  6. 老哥 qb应该是可以搞订阅的吧,何时来更新一个RSS订阅教程
    nero2018-12-07 11:14 回复 Windows 10 | Chrome 71.0.3578.80
    • 半醉丶
      可以呀,参考这篇文章 https://ymgblog.com/2018/04/30/396/!
      半醉丶2019-03-01 17:15 回复 Windows 10 | Chrome 71.0.3578.98
  7. 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 make: *** No specified target and no makefile was found. Stop. make && make install使用这条命令的时候.出现这个错误.
    无情的人2019-01-08 11:33 回复 Windows 10 | Chrome 71.0.3578.98
  8. The following NEW packages will be installed: libboost-dev libboost-system-dev libboost-system1.62-dev libboost1.62-dev 0 upgraded, 4 newly installed, 0 to remove and 15 not upgraded. 1 not fully installed or removed. Need to get 7,094 kB of archives. After this operation, 117 MB of additional disk space will be used. Do you want to continue? [Y/n] y Abort. 安装依赖失败啦,咋回事qwq
    LsyIuAn2019-05-10 09:59 回复 Windows 10 | Chrome 74.0.3729.131
    • 半醉丶
      shell命令一条一条的来 别同时复制多条就行了!
      半醉丶2019-05-10 15:45 回复 Windows 10 | Chrome 73.0.3683.103
  9. 大佬,我是centos7,纯净安装,完全按照你的教程,到了编译libtorrent这一步,我选的1.1.xx分支的,编译失败, CXX socket_type.lo CXX socks5_stream.lo CXX stat.lo CXX stat_cache.lo CXX storage.lo CXX session_stats.lo CXX string_util.lo CXX thread.lo CXX torrent.lo CXX torrent_handle.lo CXX torrent_info.lo CXX torrent_peer.lo torrent_peer.cpp:40:39: fatal error: boost/predef/other/endian.h: No such file or directory #include ^ compilation terminated. make[1]: *** [torrent_peer.lo] Error 1 make[1]: Leaving directory `/root/libtorrent-rasterbar-1.1.13/src' make: *** [all-recursive] Error 1 [[email protected] libtorrent-rasterbar-1.1.13]#
    ttback2019-06-07 16:17 回复 Windows 10 | Chrome 69.0.3497.100
    • 半醉丶
      那就试试1.0的呗,centos1.1好像是有点问题!!
      半醉丶2019-06-14 22:57 回复 Windows 10 | Chrome 73.0.3683.103
    • 打开src文件夹,修改lsd.cpp中的boost::uintptr_t为uintptr_t即可解决。安装完成libtorrent-rasterbar后要把相关库文件进行软连接。
      fancy2019-06-18 16:23 回复 Mac OS X | Chrome 74.0.3729.169