2016-12-24 104 views
2

我有一个运行Ubuntu 16.04.1x64的DO滴,我试图运行IPFS作为systemd服务。我已经提前创建了一个用户“connor”,并按照说明here安装了IPFS。我存储服务作为放入〜/ .config/systemd /用户“ipfs.service”/ipfs.service看起来像这样:systemctl enable works但systemctl --user enable not

[Unit] 
Description=IPFS Daemon 

[Service] 
Type=simple 
ExecStart=/usr/local/bin/ipfs daemon 
ExecStop=/usr/bin/pkill ipfs 
Restart=always 
User=Connor 

[Install] 
WantedBy=default.target 

有什么奇怪的是,如果我跑systemctl --user启动ipfs它启动得很好。但是,运行systemctl --user守护重装然后 systemctl --user使IPF问题我得到的错误:

Failed to execute operation: No such file or directory

但是,如果我运行systemctl使/home/connor/.config /systemd/user/ipfs.service -f它运行得很好。我可以重新启动并运行IPFS命令。我想以用户身份运行它,并且还想了解我做错了什么。

+0

你执行用'connor'用户命令?请注意,使用sudo执行命令可能会将用户更改为“root”。 – atfornes

回答

0

请检查您是否使用connor用户执行命令,您可以运行whoami以查看执行该命令的用户。 (使用sudo运行命令将用户更改为root

此外,我看到服务文件中的用户是大写(Connor而不是connor),这可能会带来其他问题,并且不需要像one proposed by Arch Linux wiki这样的简单配置适用于用户守护进程。

请找到波纹管我用我的森林小组守护进程,配置(无用户=并用不同的重启=,因为重新启动=总是给我的问题,同时启动该守护进程):

[Unit] 
Description=IPFS daemon 
After=network.target 

[Service] 
ExecStart=/usr/local/bin/ipfs daemon 
Restart=on-failure 

[Install] 
WantedBy=default.target