起動できませんが、サービスを有効にして起動できます。

起動できませんが、サービスを有効にして起動できます。

strelaysvrのサービスを作成しました。

[Unit]
Description=Syncthing Relay Server
After=network.target

[Service]
ExecStart=/usr/bin/strelaysrv -keys /srv/strelaysrv/keys
User=strelaysrv

[Install]
WantedBy=multi-user.target

そして入れて/srv/strelaysvr/strelaysvr.service、私はシンボリックリンクをかけました/etc/systemd/システム

その後、編集を続けてsystemctl enable編集systemctl startすると、再起動するまですべてがうまく機能します。その後は「消える」ようです。

root@here:~# systemctl start strelaysrv
Failed to start strelaysrv.service: Unit strelaysrv.service not found.
root@here:~# ll /etc/systemd/system/strelaysrv.service 
lrwxrwxrwx 1 root root 34 Apr  2 22:59 /etc/systemd/system/strelaysrv.service -> /srv/strelaysrv/strelaysrv.service
root@here:~# ll /etc/systemd/system/multi-user.target.wants/strelaysrv.service 
lrwxrwxrwx 1 root root 34 Apr  2 23:00 /etc/systemd/system/multi-user.target.wants/strelaysrv.service -> /srv/strelaysrv/strelaysrv.service
root@here:~# ll /srv/strelaysrv/strelaysrv.service
-rw-r--r-- 1 root root 185 Apr  2 22:58 /srv/strelaysrv/strelaysrv.service

しかし、呼び出しが成功すればsystemctl enable再開できます!私は何が間違っていましたか?システムエラーが発生しましたか?

root@here:~# lsb_release -a |& grep escr
Description:    Debian GNU/Linux 9.4 (stretch)
root@here:~# dpkg -s systemd | grep ersion
Version: 232-25+deb9u3

ベストアンサー1

ユニットファイル(この場合、strelaysrv.servicesystemdが起動したときにマウントされるパーティションに配置する必要があります。これは、前述の説明のようにあなたの例ではありません。独自のパーティションの真下に/srvシンボリックリンクがあります。/home

これは最近のレポートであるシステムバグレポートによく表示されます。ここ

参照(最近の更新)systemctl のマニュアルページそれは次のように言います:

systemdが起動したら、リンク単位のファイルを含むファイルシステムにアクセスできる必要があります。たとえば、/homeまたは/varの下のすべてのディレクトリは、これらのディレクトリがルートファイルシステムにない場合は許可されません。

推奨される回避策は、シンボリックリンクの代わりにアンダーのstrelaysrv.serviceコピーを作成することです。/etc/systemd/systemこれはトリックを行う必要があります。

おすすめ記事