Ubuntu或者Debian环境下编译qbittorrent4.3.3

本文最后更新于:7 个月前

前言


本文为安装最新或指定版本qBittorrent4.3.3的教学 适用于Ubuntu 18或更新版本,Debian 10或更新版本。

安装须知


libtorrent是qBittorrent必要的后端程序,本教程使用1.2.12。在此之前需要安装编译libtorrent环境。

此外还依赖一些其他的包,在尝试的时候遇到了一些坑,都记录了下来,然后最近初学shell编程,所以整理了一个一键安装脚本。

最后的最后,在盒子上进行调试的时候3o会在编译qb的时候出现一个linking错误,后边看有没有机会修复吧。

废话不多说,上部分代码


  • 准备安装环境
apt update
apt -y install build-essential pkg-config automake libtool git libgeoip-dev python3 python3-dev
apt -y install libboost-dev libboost-system-dev libboost-chrono-dev libboost-random-dev libssl-dev
apt -y install qtbase5-dev qttools5-dev-tools libqt5svg5-dev zlib1g-dev
  • 编译boost
apt-get -y install mpi-default-dev  #安装mpi库
apt-get -y install libicu-dev     #支持正则表达式的UNICODE字符集 
apt-get -y install libbz2-dev

wget https://dl.bintray.com/boostorg/release/1.75.0/source/boost_1_75_0.tar.bz2
tar -jxvf boost_1_75_0.tar.bz2
cd boost_1_75_0
sh ./bootstrap.sh
./b2
./b2/install
  • 编译libtorrent
apt -y install libssl-dev
apt -y install openssl

wget https://github.com/arvidn/libtorrent/releases/download/v1.2.12/libtorrent-rasterbar-1.2.11.tar.gz
tar xf libtorrent-rasterbar-1.2.12.tar.gz
cd libtorrent-rasterbar-1.2.12
./configure --disable-debug --enable-encryption --with-libgeoip=system CXXFLAGS=-std=c++14

make -j$(nproc)
make install
ldconfig
  • 安装qbittorrent
apt-get -y install qt5-default
apt-get -y install zlib1g-dev

# 将命令改名,可能是新版本的调用脚本命名不一样了
file1="/usr/bin/lrelease"
file2="/bin/lrelease"
if [ -f "$file1" ]; then
  mv "$file1" "${file1}-qt5"
fi
if [ -f "$file2" ]; then
  mv "$file2" "${file21}-qt5"
fi


# mv /bin/lrelease /bin/lrelease-qt5
# mv /usr/lib/qt5/bin/lrelease /usr/lib/qt5/bin/lrelease-qt5

wget https://github.com/qbittorrent/qBittorrent/archive/release-4.3.3.tar.gz
tar xf release-4.3.3.tar.gz
cd qBittorrent-release-4.3.3
./configure --disable-gui --disable-debug CXXFLAGS=-std=c++14

make -j$(nproc)
make install

# 写入service文件
qbit_service="/etc/systemd/system/qbittorrent.service"
touch $qbit_service
cat>$qbit_service<<EOF
[Unit]
Description=qBittorrent Daemon Service
After=network.target
[Service]
LimitNOFILE=512000
User=root
ExecStart=/usr/local/bin/qbittorrent-nox
ExecStop=/usr/bin/killall -w qbittorrent-nox
[Install]
WantedBy=multi-user.target
EOF

systemctl enable qbittorrent.service # 设置开机自启动
qbittorrent-nox -y --webui-port=2021 # 打开尝试然后ctrl+c退出。

# 默认端口是2021哦,用户名admin,密码adminadmin。
  • 设置qbittorrent命令
qbit_command="/usr/bin/qbittorrent"
touch $qbit_command
cat>$qbit_command<<EOF
#!/bin/bash
if [ \$1 == "start"]
then
  systemctl start qbittorrent.service #启动qBittorrent
elif [ \$1 == "stop"]
then
  systemctl stop qbittorrent.service #关闭qBittorrent
elif [ \$1 == "restart"]
then
  systemctl restart qbittorrent.service #重启qBittorrent
fi
EOF
cd /usr/bin && chmod +x qbittorrent

#之后就可以使用命令qbittorrent start|stop|restart 分别代表开始,关闭,重启。

食用方法


因为我已经整理成了shell文件放到我的GitHub上了,感兴趣的可以去看看源代码。

wget https://raw.githubusercontent.com/tomorrow505/qbittorrent433/main/install.sh -O install.sh &>/dev/null && /bin/bash install.sh

参考文章

[1]:Ubuntu/Debian Linux編譯qBittorrent安裝指南



本博客所有文章除特别声明外,均采用 CC BY-SA 4.0 协议 ,转载请注明出处!