[已解决]systemctl enable失败Failed to execute operation

已经成功在 opensuse13.2 下安装了 shadowsocks-libev,但是遇到一个问题,google 不到解决方法,想在这里请教各路大神。

我写了一个 shadowsocks.service,在 opensuse13.2 下 ,systemctl start shadowsocks 成功,systemctl enable shadowsocks 却出现 Failed to execute operation: Bad message,哪位知道这个该怎么解决吗?

经过不断的测试和 google,看起来好像在 12.2 的时候就有这个问题,有老外在论坛上说是 bug,但是已经 fixed,13.2 依然没有找到答案,最后用以下命令代替,reboot 后可以自动启动服务。

命令如下:ln -s ‘/etc/systemd/system/ss.service’ ‘/etc/systemd/system/multi-user.target.wants/ss.service’

目前正在研究如何开启 hybla,完全没有头绪,如果哪位有经验,请不吝赐教!

  1. 那个包自带 systemd 服务。rpm -ql 包名看一下。
  2. 你写的服务都不拿给大家看,想要人怎么帮你?

从我的 iPhone 发送,使用 Tapatalk

1-- 我按照您的命令试了一下,结果说我没安装,我不懂 rpm -ql 这个主要是要检查什么?

rpm -ql shadowsocks-libev-2.1.4-2.2.x86_64.rpm
package shadowsocks-libev-2.1.4-2.2.x86_64.rpm is not installed

2-- 我不知道要把写的内容也要贴上来,现在就补上

[Unit]
Description=Shadowsocks
After=network.target

[Service]
Type=forking
User=nobody
Group=nobody

PIDFile=/run/ss/ss.pid
PermissionsStartOnly=true

ExecStartPre=/bin/mkdir -p /run/ss
ExecStartPre=/bin/chown nobody:nobody /run/ss
ExecStart=/usr/bin/ss-server -f /run/ss/ss.pid -c /etc/shadowsocks/shadowsocks-libev-config.json -u

Restart=always
RestartSec=5

#UMask=0027

[Install]
WantedBy=multi-user.target

谢谢您的关注,希望可以找到答案。

$ rpm -ql shadowsocks-libev
/etc/shadowsocks
/etc/shadowsocks/shadowsocks-libev-config.json
/usr/bin/ss-local
/usr/bin/ss-redir
/usr/bin/ss-server
/usr/bin/ss-tunnel
/usr/lib/systemd/system/shadowsocks-libev-client.service
/usr/lib/systemd/system/shadowsocks-libev-server.service
/usr/sbin/rcshadowsocks-libev-client
/usr/sbin/rcshadowsocks-libev-server
/usr/share/doc/packages/shadowsocks-libev
/usr/share/doc/packages/shadowsocks-libev/COPYING
/usr/share/doc/packages/shadowsocks-libev/Changes
/usr/share/doc/packages/shadowsocks-libev/LICENSE
/usr/share/doc/packages/shadowsocks-libev/README.md
/usr/share/man/man8/shadowsocks-libev.8.gz

另外我用你的服务的结果:

$ sudo systemctl enable ss.service
没报错
$ sudo systemctl status ss.service
ss.service - Shadowsocks
   Loaded: loaded (/etc/systemd/system/ss.service; enabled)
   Active: inactive (dead)

我感觉你要么就是那个文件里面有语法错误,比如中文输入法下的等号之类的,要么是文件的位置不是 /etc/systemd/system,建议你 sudo journalctl --since 你 enable 的时间来看下具体错误,你 1 楼说的只是个提示,而不是 log 里具体的错误消息。

好的,我在试试看

可能是你在 unit file 文件中的问题

WantedBy=multi-user.target

要把这句添上,要不就像你上面说的那样,手动建立一个链接