在我将 Ubuntu 16.04 中的传输升级到 2.93 之后
当守护进程尝试启动时,我收到下一个错误。
transmission-daemon.service - Transmission BitTorrent Daemon
Loaded: loaded (/lib/systemd/system/transmission-daemon.service; enabled; vendor preset: enabled)
Active: failed (Result: exit-code) since lun 2018-03-05 17:31:32 CET; 8s ago
Process: 2991 ExecStart=/usr/bin/transmission-daemon -f --log-error (code=exited, status=217/USER)
Main PID: 2991 (code=exited, status=217/USER)
mar 05 17:31:32 domus.local systemd[1]: Starting Transmission BitTorrent Daemon...
mar 05 17:31:32 domus.local systemd[1]: transmission-daemon.service: Main process exited, code=exited, status=217/USER
mar 05 17:31:32 domus.local systemd[1]: Failed to start Transmission BitTorrent Daemon.
mar 05 17:31:32 domus.local systemd[1]: transmission-daemon.service: Unit entered failed state.
mar 05 17:31:32 domus.local systemd[1]: transmission-daemon.service: Failed with result 'exit-code'.
我尝试删除软件包,清除并重新安装,但问题仍然存在。
我在 Ubuntu 论坛上看到了一个相关的帖子
https://ubuntuforums.org/showthread.php?t=2386355
你好,
有两个问题,如果您安装 PPA 版本,守护程序服务文件中的用户现在是“传输”而不是“debian-transmission”,现在还有一个 systemd 服务文件而不是导致冲突的 init.d 文件,所以删除 init.d 文件。
修复此问题后,守护程序启动,但一两分钟后退出并出现以下超时错误:
● transmission-daemon.service - Transmission BitTorrent Daemon
Loaded: loaded (/etc/systemd/system/transmission-daemon.service; disabled; vendor preset: enabled)
Active: failed (Result: timeout) since Mon 2018-03-05 18:44:41 IST; 4min 49s ago
Process: 3486 ExecStart=/usr/local/bin/transmission-daemon -f --log-error (code=exited, status=0/SUCCESS)
Main PID: 3486 (code=exited, status=0/SUCCESS)
Mar 05 18:43:10 cribstore systemd[1]: Starting Transmission BitTorrent Daemon...
Mar 05 18:43:12 cribstore transmission-daemon[3486]: [2018-03-05 18:43:12.106] UDP Failed to set receive buffer: requested 4194304, got 425984 (/root/trans/Transmission/libtransmission/tr-udp.c:97)
Mar 05 18:43:12 cribstore transmission-daemon[3486]: [2018-03-05 18:43:12.106] UDP Failed to set send buffer: requested 1048576, got 425984 (/root/trans/Transmission/libtransmission/tr-udp.c:105)
Mar 05 18:44:41 cribstore systemd[1]: transmission-daemon.service: Start operation timed out. Terminating.
Mar 05 18:44:41 cribstore systemd[1]: Failed to start Transmission BitTorrent Daemon.
Mar 05 18:44:41 cribstore systemd[1]: transmission-daemon.service: Unit entered failed state.
Mar 05 18:44:41 cribstore systemd[1]: transmission-daemon.service: Failed with result 'timeout'.
该问题存在于 PPA 上,从源代码构建时,我使用的是 Ubuntu 16.04.4 LTS。
希望这有助于指出正确的方向。
哦谢谢!
我删除了 PPA 文件,然后重新安装。
它完美地工作。
谢谢!!
你好,
如果我没记错的话,通过删除 PPA,您从 Ubuntu 存储库 2.84 版安装了早期版本
是的,是2.84版本
transmission-daemon:
Instalados: 2.84-3ubuntu3.1
如果我切换到传输用户并运行 /usr/local/bin/transmission-daemon --log-error
它可以工作,所以问题在于在服务文件中执行前台的 -f 开关。
这是为了调试更精确。
如果我切换到传输用户并运行 /usr/local/bin/transmission-daemon --log-error
它可以工作,所以问题在于在服务文件中执行前台的 -f 开关。
服务是继续运行还是在一两分钟后停止? 从 systemd 启动脚本中删除前台标志有什么负面影响吗?
使用带有 -f 的原始服务文件,它会运行一两分钟然后停止。
如果服务文件中没有 -f,它甚至不会启动。
请使用论坛寻求支持。
TalZiv 不要求支持。 他在向你解释你的包裹坏了。
是的,这似乎更像是一个错误而不是支持问题。 2.93 在 Ubuntu 16.04 中崩溃。 我们可以发布任何日志来帮助您确定问题所在吗?
请重新打开这个,2.93版本有问题。
可以确认,这个错误也是在昨晚从 PPA 更新到 2.93 后开始的。
用户更改为debian-transmission
从transmission
的/lib/systemd/system/transmission-daemon.service
允许服务开始几分钟,但随后的错误崩溃:
● transmission-daemon.service - Transmission BitTorrent Daemon
Loaded: loaded (/lib/systemd/system/transmission-daemon.service; enabled; vendor preset: enabled)
Active: failed (Result: timeout) since Mon 2018-03-05 17:20:02 MST; 7s ago
Process: 16433 ExecStart=/usr/bin/transmission-daemon -f --log-error (code=exited, status=0/SUCCESS)
Main PID: 16433 (code=exited, status=0/SUCCESS)
Mar 05 17:18:31 download systemd[1]: Starting Transmission BitTorrent Daemon...
Mar 05 17:20:02 download systemd[1]: transmission-daemon.service: Start operation timed out. Terminating.
Mar 05 17:20:02 download systemd[1]: Failed to start Transmission BitTorrent Daemon.
Mar 05 17:20:02 download systemd[1]: transmission-daemon.service: Unit entered failed state.
Mar 05 17:20:02 download systemd[1]: transmission-daemon.service: Failed with result 'timeout'.
从transmission-daemon.service
文件的ExecStart=/usr/bin/transmission-daemon -f --log-error
行中删除-f
标志会导致服务立即失败,而不是几分钟:
download<strong i="16">@download</strong>:/etc/init.d$ sudo nano /lib/systemd/system/transmission-daemon.service
download<strong i="17">@download</strong>:/etc/init.d$ systemctl daemon-reload
==== AUTHENTICATING FOR org.freedesktop.systemd1.reload-daemon ===
Authentication is required to reload the systemd state.
Authenticating as: download,,, (download)
Password:
==== AUTHENTICATION COMPLETE ===
download<strong i="18">@download</strong>:/etc/init.d$ systemctl start transmission-daemon.service
==== AUTHENTICATING FOR org.freedesktop.systemd1.manage-units ===
Authentication is required to start 'transmission-daemon.service'.
Authenticating as: download,,, (download)
Password:
==== AUTHENTICATION COMPLETE ===
download<strong i="19">@download</strong>:/etc/init.d$ systemctl status transmission-daemon
● transmission-daemon.service - Transmission BitTorrent Daemon
Loaded: loaded (/lib/systemd/system/transmission-daemon.service; enabled; vendor preset: enabled)
Active: inactive (dead) since Mon 2018-03-05 17:30:36 MST; 7s ago
Process: 16605 ExecStart=/usr/bin/transmission-daemon --log-error (code=exited, status=0/SUCCESS)
Main PID: 16605 (code=exited, status=0/SUCCESS)
journalctl -xe
输出,仅更改了用户名且-f
标志完好无损( journalctl -xe
显示没有-f
删除的信息):
Mar 05 17:33:11 download systemd[1]: Starting Transmission BitTorrent Daemon...
-- Subject: Unit transmission-daemon.service has begun start-up
-- Defined-By: systemd
-- Support: http://lists.freedesktop.org/mailman/listinfo/systemd-devel
--
-- Unit transmission-daemon.service has begun starting up.
Mar 05 17:33:23 download transmission-daemon[16670]: [2018-03-05 17:33:23.435] UDP Failed to set receive buffer: requested 4194304, got 425984 (tr-udp.c:84)
Mar 05 17:33:23 download transmission-daemon[16670]: [2018-03-05 17:33:23.437] UDP Failed to set send buffer: requested 1048576, got 425984 (tr-udp.c:95)
Mar 05 17:34:41 download systemd[1]: transmission-daemon.service: Start operation timed out. Terminating.
Mar 05 17:34:41 download transmission-daemon[16670]: Closing transmission session... done.
Mar 05 17:34:41 download systemd[1]: Failed to start Transmission BitTorrent Daemon.
-- Subject: Unit transmission-daemon.service has failed
-- Defined-By: systemd
-- Support: http://lists.freedesktop.org/mailman/listinfo/systemd-devel
--
-- Unit transmission-daemon.service has failed.
--
-- The result is failed.
在此问题解决之前,似乎唯一的选择是回滚到 2.84。
objdump -T /usr/bin/transmission-daemon | fgrep sd_
),这意味着在包提供的单元文件中指定的“通知”类型不起作用(systemd 正在等待守护进程通知它,但守护进程从不这样做)因此,此问题保持关闭状态。 如果您想提出问题,请在负责ppa:transmissionbt/ppa 的人员可以听到您的声音的地方进行。
请不要固执,如果你读过我的帖子,你会看到我说过这个问题在我从源代码构建时也会发生。
我将在我的源代码构建中检查上面的解决方案并报告。
编辑
问题确实是sd_notify。 在 github 构建的源守护进程二进制文件上运行objdump -T /usr/bin/transmission-daemon | fgrep sd_
没有返回任何结果,问题是按照这里的构建说明传输/wiki/Building-Transmission特别是 ubuntu 的先决条件部分没有提到apt install libsystemd-dev和因此,当从源代码构建时,它找不到 systemd h 文件,也不会使用 sd_notify 构建和编译,并且服务失败。
总而言之,在 Ubuntu 上从源代码构建并使用 systemd 时,您必须安装 libsystemd-dev。 传输维基文档中缺少这一点,这可能是 PPA 包失败的原因。
现在可以关闭问题了,谢谢您的时间。
就像其他寻求帮助的人2 cents
:
使用以下内容创建文件/etc/systemd/system/transmission-daemon.service.d/override.conf
:
[Service]
User=
Type=
Type=simple
User=debian-transmission
Group=debian-transmission
然后使用systemctl daemon-reload
重新加载 systemd 配置
最后用systemctl start transmission-daemon.service
再次启动服务
之后传输 2.93 完美运行。
Ubuntu 论坛的原始来源
@MarcosBL你有两个空选项,这是行不通的。
正确的配置是:
[Service]
Type=simple
User=debian-transmission
Group=debian-transmission
刚刚尝试了@MarcosBL修复和@satter的更正的混合,如下所示:
创建目录,然后放置文件(如果您不是 root,则需要 sudo):
sudo mkdir /etc/systemd/system/transmission-daemon.service.d/ && sudo nano /etc/systemd/system/transmission-daemon.service.d/override.conf
把它放在你刚刚打开的配置文件中:
[Service]
Type=simple
User=debian-transmission
Group=debian-transmission
sudo systemctl daemon-reload && sudo systemctl start transmission-daemon.service
给了我一个正在运行的传输实例👍
最有用的评论
就像其他寻求帮助的人
2 cents
:使用以下内容创建文件
/etc/systemd/system/transmission-daemon.service.d/override.conf
:[Service] User= Type= Type=simple User=debian-transmission Group=debian-transmission
然后使用
systemctl daemon-reload
重新加载 systemd 配置最后用
systemctl start transmission-daemon.service
再次启动服务之后传输 2.93 完美运行。
Ubuntu 论坛的原始来源