web-dev-qa-db-ja.com

systemctlがサービスを認識しません:Default-Startにランレベルが含まれていないため、中止します

起動時に開始される単純なサービスを定義し、Ubuntuサーバー16.10上に置きます。 /etc/init.d/mydaemonを作成しました

私はどういうわけかupstartとsystemdの間でめちゃくちゃになりました:最初はupstartサービスをセットアップする必要があると思いました。したがって、ファイルをupstart構文に変換した後、update-rc.d mydaemon defaultsを実行しました。

エラーを見つけてupdate-rc.d mydaemon removeを実行し、systemd構文に変換してsystemctl enable mydaemonを実行しましたが、エラーが発生しました。

mydaemon.service is not a native service, redirecting to systemd-sysv-install.
Executing: /lib/systemd/systemd-sysv-install enable mydaemon
update-rc.d: error: mydaemonDefault-Start contains no runlevels, aborting.
12
CharlesB

問題はファイルの場所でした、Ubuntuサーバーでは/etc/systemd/system/etc/init.d/はレガシーファイル用です。

11
CharlesB

Sysvスクリプトをredhatボックスからubuntuに移植するときにも同じエラーが発生しました。スクリプトにヘッダーを追加する必要がありました

### BEGIN INIT INFO
# Provides:          my-service-name
# Required-Start:    $all
# Required-Stop:
# Default-Start:     2 3 4 5
# Default-Stop:
# Short-Description: your description here
### END INIT INFO

https://askubuntu.com/questions/909523/default-start-contains-no-runlevels-aborting にあります

13
nick fox

@CharlesBからの回答に追加するだけです。この状態になると、ファイルを/etc/init.d/から/etc/systemd/system/に移動してコマンドを再実行するだけで、正常に動作しました。

Sudo mv /etc/init.d/mydaemon /etc/systemd/system/
Sudo systemctl enable mydaemon
7
Cory

同じエラーが発生し、次のようにデフォルトの開始情報を入れて修正しました。

vi /etc/init.d/greenbone-security-assistant

から変更する:

# Default-Start:

に:

# Default-Start: 2 3 4 5

:wq

root @ kali:/etc/init.d# systemctl enable greenbone-security-assistant

Greenbone-security-assistant.serviceの状態をSysVサービススクリプトと/ lib/systemd/systemd-sysv-installで同期しています。

実行:/ lib/systemd/systemd-sysv-install enable greenbone-security-assistant

0
Fernando Galves