openwrt安装transmission

参考链接:[OpenWrt Wiki] Transmission configuration

使用的是 coolsnowwolf/lede: Lean’s LEDE source,固件版本:OpenWrt R22.7.23 / LuCI Master (git-22.162.38724-815bb96)

1
2
3
# 安装 transmission
opkg update
opkg install luci-i18n-transmission-zh-cn # 会连着带来下luci-app-transmission、transmission-cli-openssl、transmission-daemon-openssl、transmission-remote-openssl、transmission-web-control
  • 安装后会出现在 openwrt 后台(LUCI界面)的网络存储项中
  • 注意:LEDE 的源和标准 openwrt 的源不太一样,注意不要修改源

此时编辑 transmission 的配置文件 /etc/config/transmission ,修改usergroup为root,防止创建文件夹的权限问题。同时修改config_dirdownload_dir为自己的目录

1
2
3
4
5
6
7
8
# 加载配置文件
/etc/init.d/transmission reload
# 使能开机自启
/etc/init.d/transmission enable
# 启动
/etc/init.d/transmission start
# 或者
/etc/init.d/transmission restart

注意:上述启动后如果 openwrt 后台界面中找不到 transmission 的页面链接,且通过 http://192.168.1.1:9091 类似链接也打不开 transmission web 页面时,可以通过如下方式找到问题原因:

1
2
3
4
5
6
# 尝试查看 transmission 是否真正启动
ps | grep transmission
# 查看启动文件源码 定位二进制文件位置
vim /etc/init.d/transmission
# 手动启动 bin 程序 观察是否存在报错等问题
/usr/bin/transmission-daemon

我这边发现是transmission-daemon没有真正启动,起报错原因如下:

1
2
3
4
5
6
7
8
9
[root@OpenWrt:/root]#/usr/bin/transmission-daemon
Error loading shared library libminiupnpc.so.16: No such file or directory (needed by /usr/bin/transmission-daemon)
Error relocating /usr/bin/transmission-daemon: UPNP_GetSpecificPortMappingEntry: symbol not found
Error relocating /usr/bin/transmission-daemon: UPNP_AddPortMapping: symbol not found
Error relocating /usr/bin/transmission-daemon: UPNP_GetValidIGD: symbol not found
Error relocating /usr/bin/transmission-daemon: freeUPNPDevlist: symbol not found
Error relocating /usr/bin/transmission-daemon: upnpDiscover: symbol not found
Error relocating /usr/bin/transmission-daemon: FreeUPNPUrls: symbol not found
Error relocating /usr/bin/transmission-daemon: UPNP_DeletePortMapping: symbol not found

可以发现上述问题出现在找不到libminiupnpc.so.16

通过find可以发现系统中还是存在类似文件的:

1
2
3
4
5
6
7
8
9
10
11
[root@OpenWrt:/root]#find / -name "*miniupnpc*"
/rom/usr/lib/libminiupnpc.so.17
/rom/usr/lib/libminiupnpc.so.2.1
/rom/usr/lib/opkg/info/libminiupnpc.control
/rom/usr/lib/opkg/info/libminiupnpc.list
/rom/usr/lib/opkg/info/libminiupnpc.prerm
/usr/lib/libminiupnpc.so.17
/usr/lib/libminiupnpc.so.2.1
/usr/lib/opkg/info/libminiupnpc.control
/usr/lib/opkg/info/libminiupnpc.list
/usr/lib/opkg/info/libminiupnpc.prerm

建立软链接:

1
2
3
4
5
cd /usr/lib/
# 重新建立软链接
ln -s libminiupnpc.so.2.1 libminiupnpc.so.16
# 查看一下
ls -al libminiupnpc.so*

问题解决