2018年11月

源安装的版本往往比较低,一般新的服务器都是手动编译最新的版本。

  • 官方GitHub源码下载地址
https://github.com/transmission/transmission/releases
  • 解压(解压到当前目录去掉-C /home/tr即可)
tar -zxvf xxx.tar.gz -C /home/tr
apt-get install ca-certificates libcurl4-openssl-dev libssl-dev pkg-config libevent-dev intltool build-essential checkinstall
  • 然后进入源码目录执行下面的三个命令即可
./configure
make
make install

或者官方的方式是

mkdir build
cd build
cmake ..
make
make install

如果报错提示缺少什么,建议安装上缺少的再执行一遍上面的三个命令。
之前还是2.93的时候,没有看wiki,就遇到过提示缺少各种包,然后一路安装再编译解决的。

如果还是有问题就试试安装下Ubuntu那些软件/包

apt-get install build-essential automake autoconf libtool pkg-config intltool libcurl4-openssl-dev libglib2.0-dev libevent-dev libminiupnpc-dev libgtk-3-dev libappindicator3-dev

然后其他问题就参考上面说的官方wiki了。

然后配置下作为服务启动,先新建一个文件/etc/systemd/system/transmission.service
写入的内容如下:

[Unit]
Description=Transmission BitTorrent Daemon
After=network.target

[Service]
User=root
LimitNOFILE=100000
ExecStart=/usr/local/bin/transmission-daemon -f --log-error -g /usr/local/share/transmission

[Install]
WantedBy=multi-user.target

执行命令systemctl daemon-reload载入新增加的配置
如果提示没有systemctl命令(在一个debian 7的系统遇到过),请通过apt-get install systemd-sysv安装
然后依次执行下面的命令生成初始化配置文件(路径是/usr/local/share/transmission/settings.json):

systemctl daemon-reload
systemctl start transmission.service
systemctl stop transmission.service

然后修改下配置文件,主要修改以下几行的内容(注意这里是服务器上,需要外部访问的配置,如果只是本地访问,访问限制请对应修改):

"rpc-authentication-required": true,
"rpc-bind-address": "0.0.0.0",
"rpc-enabled": true,
"rpc-host-whitelist": "",
"rpc-host-whitelist-enabled": true,
"rpc-password": "你的密码",
"rpc-port": 端口,
"rpc-url": "/rpc请求路径/",
"rpc-username": "用户名",
"rpc-whitelist": "白名单地址",
"rpc-whitelist-enabled": true,

其中rpc请求路径似乎不可以没有,不然rpc会报错。如果开启了第一个认证,那就要设置用户名和密码,端口似乎是需要高于某个值,80什么的用不了,不过可以用nginx反代解决。rpc白名单开启后,白名单地址要么写ip让指定ip访问,或者写"*"运行外部ip也可以访问。

通过service transmission start/stop可以启动/停止服务,注意修改配置的时候最好停止transmission。
这里是transmission而不是transmission-daemon的原因是新建的是transmission.service

还可以用下面的命令启动,enable命令是(?)作为系统服务。

systemctl start transmission.service
systemctl enable transmission.service
systemctl stop transmission.service

另外可以通过这个项目美化webui,下载执行脚本即可

wget https://github.com/ronggang/transmission-web-control/raw/master/release/install-tr-control-cn.sh --no-check-certificate
bash install-tr-control-cn.sh

在执行脚本的时候,可以直接指定目录安装美化

bash install-tr-control-cn.sh /usr/local/share/transmission

也可以先执行脚本根据选项设定目录,然后选择美化

用源安装后发现版本时间是2017年1月,大概是有点强迫症,想了想还是手动编译最新的aria2吧。。
项目源码下载:
https://github.com/aria2/aria2/releases
根据官方文档:
https://aria2.github.io/manual/en/html/README.html#how-to-build
下面进行编译操作:

  • 首先要先安装下面这些包/软件
apt-get install libxml2-dev libcppunit-dev autoconf automake autotools-dev autopoint libtool
  • 然后进入解压后的aria2源码目录,准备编译
autoreconf -i
  • 配置编译脚本
./configure
  • 开始编译
make

然后昨天编译的时候看文档不仔细,还以为是编译完就可以运行了...其实不是滴,我还编译了好几次。。。
编译完的二进制文件在源码目录下的src文件夹下面,进去之后你会发现很多.h .c等等的文件,我们只要aria2c这个文件就可以了~~

然后将这个文件放到/usr/bin/,然后现在可以在任何命令执行aria2c命令了。

然后建议自己找一份aria2c的配置文件,然后通过aria2c --conf-path=/path/to/aria2.conf -D运行,开机启动可以参考这篇文章

主要是记录一下,免得后面又慢慢搜索...

建立脚本文件,路径是/etc/init.d/aria2c
建议不熟悉vi命令操作的人(比如我)直接用winscp之类的软件在sftp/ftp窗口建立并编辑文件。
然后要注意一下编码,选utf-8(winscp是这样)。
脚本文件内容如下(认为你的aria2c已经装好了,执行aria2c --version能正确输出版本号):

#!/bin/sh
### BEGIN INIT INFO
# Provides: aria2
# Required-Start: $remote_fs $network
# Required-Stop: $remote_fs $network
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: Aria2 Downloader
### END INIT INFO
 
case "$1" in
start)
 
 echo -n "已开启Aria2c"
 aria2c --conf-path=/path/to/aria2.conf -D
;;
stop)
 
 echo -n "已关闭Aria2c"
 killall aria2c
;;
restart)
 
 killall aria2c
 aria2c --conf-path=/path/to/aria2.conf -D
;;
esac
exit

然后保存,更改文件权限为755,命令是chmod 755 /etc/init.d/aria2c,当然也可以通过winscp更改。

将aria2c服务添加到开机启动,命令是update-rc.d aria2c defaults

然后执行service aria2c start就可以启动aria2c了,下次开机会自动启动。

如果前面的步骤错误,比如我执行service aria2c start就报错了,说配置的脚本文件有问题,原来是脚本里面用了sudo命令(因为脚本是网上找的233),但是debian 9不用这个命令,这个错误可以用systemctl status aria2c查看,报错的时候也提示了怎么看报错。