lala.im:Debian10编译打包qbittorrent4.2

運維技術·lala.im · 2019-12-07 · 116 人浏览

原文地址:https://lala.im/6573.html,請支持原作者!該處僅作轉載。

期待已久的qb4.2终于发布了!从4.2版本起正式支持libtorrent-rasterbar1.2。
对于刷子来说最有用的一个更新是可以在WEBUI上调整一些libtorrent-rasterbar的参数了,尤其是硬盘缓存/做种模式等等。这些可设置项根据自己的机器硬件配置适当调整就和deluge的ltconfig插件一样,上一张预览图:

範例
编译qbittorrent4.2建议直接上Debian10,旧系统包括Debian9在内因为官方存储库内的QT库版本过低(至少要5.9)将导致编译失败。
开始之前,我先把自己打包好的deb发出来,你不想编译的话可以直接在Debian10上使用我打包好的deb安装,省时省力:

wget https://lala.im/static/script/libtorrent-rasterbar_1.2.2_amd64.deb
wget https://lala.im/static/script/qbittorrent-nox_4.2.0_amd64.deb
dpkg -i libtorrent-rasterbar_1.2.2_amd64.deb
dpkg -i qbittorrent-nox_4.2.0_amd64.deb
apt -f install

这样就安装好了,你可以在终端内使用下面的命令启动qb:

qbittorrent-nox

放到后台运行参考文末的systemd配置,这里不多叙述。
下面是编译和打包过程,安装依赖:

apt -y update
apt -y install build-essential zlib1g-dev pkg-config automake \
libtool libboost-dev libboost-system-dev libboost-chrono-dev \
libboost-random-dev libssl-dev libgeoip-dev qtbase5-dev \
qttools5-dev-tools libqt5svg5-dev

如果要打包的话这里我选择用fpm,所以额外安装fpm,不打包的话可以略过:

apt -y install ruby ruby-dev rubygems build-essential
gem install fpm

下载libtorrent-rasterbar源码:

wget https://github.com/arvidn/libtorrent/releases/download/libtorrent-1_2_2/libtorrent-rasterbar-1.2.2.tar.gz
tar -xzvf libtorrent-rasterbar-1.2.2.tar.gz
cd libtorrent-rasterbar-1.2.2/
./configure --enable-encryption --disable-debug CXXFLAGS="-std=c++14"
make -j$(nproc)

不打包直接安装的话执行:

make install
ldconfig -v

打包的话在make后不要执行make install,换成下面的命令,将libtorrent-rasterbar安装到临时目录:

mkdir -p /tmp/libtorrent-rasterbar
make install DESTDIR=/tmp/libtorrent-rasterbar

之后使用fpm创建deb:

fpm -s dir -t deb \
-C /tmp/libtorrent-rasterbar \
-m "imlala <[email protected]>" \
--url "https://www.lala.im" \
--description "Development files for libtorrent-rasterbar" \
--vendor "imlala" \
-n libtorrent-rasterbar \
-v 1.2.2 \
-p libtorrent-rasterbar_1.2.2_amd64.deb \
usr/local

接下来编译qb:

cd
wget https://github.com/qbittorrent/qBittorrent/archive/release-4.2.0.tar.gz
tar -xzvf release-4.2.0.tar.gz
cd qBittorrent-release-4.2.0/
./configure --prefix=/usr --disable-gui CXXFLAGS="-std=c++14"
make -j$(nproc)

同理,不打包直接安装的话执行:

make install
ldconfig -v

打包的话在make后不要执行make install,换成下面的命令,将qbittorrent-nox安装到临时目录:

mkdir -p /tmp/qbittorrent-nox
make install INSTALL_ROOT=/tmp/qbittorrent-nox

之后使用fpm创建deb:

fpm -s dir -t deb \
-C /tmp/qbittorrent-nox \
-m "imlala <[email protected]>" \
--url "https://www.lala.im" \
--description "bittorrent client based on libtorrent-rasterbar (without X support)" \
--vendor "imlala" \
-n qbittorrent-nox \
-v 4.2.0 \
-p qbittorrent-nox_4.2.0_amd64.deb \
-d "libtorrent-rasterbar >= 1.2.2" \
-d "zlib1g-dev >= 1:1.2.0" \
-d "libstdc++6 >= 5.2" \
-d "libqt5xml5 >= 5.2.0" \
-d "libqt5network5 >= 5.9.0~beta" \
-d "libqt5core5a >= 5.11.0~rc1" \
-d "libboost-system1.67.0" \
usr/

systemd配置:

nano /etc/systemd/system/qbittorrent-nox.service

写入:

[Unit]
Description=qBittorrent Daemon Service
After=network.target

[Service]
User=root
ExecStart=/usr/bin/qbittorrent-nox
ExecStop=/usr/bin/killall -w qbittorrent-nox

[Install]
WantedBy=multi-user.target

管理:

systemctl start qbittorrent-nox.service
systemctl enable qbittorrent-nox.service
運維技術 BT lala.im
Theme Jasmine by Kent Liao